Hello,
anyone who knows whether it would be possible to scan for defined conditions meeting the pre-market price?
thanks in advance
What is the pre-market price, the last price, the first price, the highest, the lowest, or… which one?
Hello Roberto,
I am referring to the possibility of scanning utilising the current pre-market price (pre-apertura) of stocks.
Is there a way to create such a variable in the scan?
thanks again
What is the pre-market price, the last price, the first price, the highest, the lowest, or… which one?
What would be the relevance of this question ? Only if you’d ask (yourself) the same for regular trading hours, it is a relevant question for ETH (Extended Trading Hours).
@abel1986, my take : Yes that will work because the price will be given to you (to the Screener) just like you would see it on the charts. The question, however, is : do you see the price. See below for an example.
Mind the ETH shown in the middle of the chart. Also mind the time at the bottom, which is “now”. And mind the price moving (2nd screenshot), would you have this all indeed.
There is a reason why I would never use this, and this almost relates to the question from Roberto. 😉
It is very hard to trade ETH with PRT because the prices shown are a mess. However, this depends for about 100% on the instrument, and whether it is actively traded at the moment you observe it. Or better said : when your Screener is running. For example : is Snap put forward its guidance three days ago, than the next morning it would be actively traded (probably in Shorts – haha). But after two weeks of higher volatility it will drop to hardly traded and there are no bids etc. and NOW the price PRT shows is off by miles. And I mean miles. I think that generally the lowest price is shown by PRT while in reality it is “no price”. This means that when you place a market order, you’re dead (harder to explain so I assume you know what I am referring to).
With a lot of experience you will know which stocks can be reliably traded. NVidia would be one. Tesla is foremost one. Chipotle Mexican Grill *never* is. And so there are 100s to know by heart, would you like to interpret your screener for reality (which scans 1000s and 1000s). Hence, your screener does not know all this, unless you somehow make something for it (volume of the last minutes ??).
If this was too black and white or other simple approaches exist, or the question from Roberto was the best of all, then I apologise.
There’s no a pre-market instruction/constant. It’s just a price outside market hours.
So you have to set the start and end of those pre-market hours, then get the desired price.
I assume it is the last price (the last closing price before the market opens):
You can try this one (assests with a price > pre-market are returned):
PreMarketStart = 000000
PreMarketEnd = 090000
IF time >= PreMarketStart AND time <= PreMarketEnd THEN
PreMarketPrice = close
ENDIF
Cond = time > PreMarketEnd AND close > PreMarketPrice
SCREENER[Cond](PreMarketPrice AS "PreMarketPrice")
PS: And then I even forgot that I am talking about PRT-IB. With PRT-IG all would be different and ETH doesn’t even exist or exists in different fashion (CFD’s by IG, similar like trading in weekends with their own community).
Hello Peter,
thanks for your answer. Sorry if I was not so specific in my request. I am not trading during ETH 🙂
I would like simply to scan for pre-market gappers (ups or downs +- 3% vs. yesterday closing price) before the market opens, so to prepare the trading plan for the day.
Hope it is clearer now.
Thank Roberto,
I tried by applying some modifications to your code.
Since I want to scan for pre-market gappers I tried the following but the returned market price is always 0…
PreMarketStart = 163000
PreMarketEnd = 093000
IF time >= PreMarketStart AND time <= PreMarketEnd THEN
PreMarketPrice = close
gap = (PreMarketPrice / dClose(1)) – 1
ENDIF
Cond = (time < PreMarketEnd) and (gap < 0.02 or gap > 0.02)
SCREENER[Cond](PreMarketPrice AS “PreMarketPrice”)
Hello Peter, thanks for your answer. Sorry if I was not so specific in my request. I am not trading during ETH 🙂
Oh, but this was clear al right ! I only tried to make clear that normal trading (or looking at the charts during ETH) would tell you that the Screener would come up with false results. How else to know that … 🙂 (you would believe the Screener)
It’s due to assuming that start IS < to the end.
I added both cases:
PreMarketStart = 163000 //000000
PreMarketEnd = 093000 //090000
IF PreMarketStart < PreMarketEnd THEN
IF (time >= PreMarketStart) AND (time <= PreMarketEnd) THEN
PreMarketPrice = close
ENDIF
Cond = (time > PreMarketEnd) AND (close > PreMarketPrice)
ELSE
IF time >= PreMarketStart OR time <= PreMarketEnd THEN
PreMarketPrice = close
ENDIF
Cond = ((time > PreMarketEnd) AND (time < PreMarketStart)) AND (close > PreMarketPrice)
ENDIF
SCREENER[Cond](PreMarketPrice AS "PreMarketPrice")
Thank you Roberto, but unfortunately it does not work for me…no results are shown
It seems the scan cannot assume the premarket current price to be the last “close” price.
Eventually I was able to solve. I missed to flag the trading hours settings as “extended trading hours” on the charts.
By doing so, you do not even need to use the time function with a premarket start/end anymore. The “close” price reflects the premarket price.