Michael
First off, welcome!
A good place to start is the "Getting Started" tutorials (https://www.quantopian.com/tutorials/getting-started)
If you are new to coding, you may find algorithms in Quantopian to be a bit daunting at first. It's all Python so an understanding of the Python syntax and especially the basic data structures (lists, dictionaries, and sets) is a must. Do a web search and you will find a lot of online Python tutorials that can help.
Second, there is a "real time" interactive research part of the Quantopian platform called "notebooks" and then there is the backtest (and ultimately live implementation) platform called "algorithms". Both use Python and (generally) the same methods such as Pipeline etc. Best practice is to develop the security selection logic in an interactive notebook then copy that logic to an algorithm where one adds the actual scheduling and order logic. It's much easier (and faster) to see how ones selection logic works in a notebook. Start there.
You can also get a sense of how well ones selection logic actually performs using notebooks rather than jumping right into backtesting. Take a look at this excellent post and associated notebook https://www.quantopian.com/posts/creating-a-new-strategy-with-pipeline-factors-quantcon-presentation .
So, I made a big assumption and assumed your statement "then sort table by high-open" meant "sort by the difference, or delta, between the previous high and the previous open". To get you started with the "selection" logic of your post I've attached a notebook that does 5 things:
1. gets the high, low, open, and close of every security in the Quantopian database via Pipeline
2. creates a custom "High_Open_Delta" factor to get the latest high minus open value for each security
3. filters the securities to the Q1500US universe (this wasn't in your original requirement but is good practice at least to filter out ETFs)
4. filter securities by close price within a range (I assumed "select current price" would mean close)
5. sort securities by largest high minus open and take the top 20 (I assumed the sort was to be largest first but smallest first may be better?)
One improvement right off you may wish to make is to not look at the absolute gain (high minus open) but rather the relative gain (high minus open divided by open). Just a thought.
Your next step would be copy this into an algorithm, schedule a trading function for once a day, and devise logic to sell after one day (and handle the cases where a position doesn't sell after one day).
Good luck!