High quality 1 minute candles
Forums › ProRealTime English forum › ProScreener support › High quality 1 minute candles
- This topic has 12 replies, 3 voices, and was last updated 4 years ago by Nicolas.
-
-
03/27/2020 at 7:04 PM #123644
Hello PRT experts,
I would like to include in my Proscreener a few conditions that filter out those stocks whose 1 minute candle data is not clear. To define what is clear and what is not, please see the pictures in the attachments.
FIXD has what I call low-quality M1 candles
, while BA has what I call high-quality M1 candles.
I have been playing with features such as Average Daily Volume, ATR, Price, MinDailyCapital (volume*price), Market Cap (in different software) but still I cannot filter out stocks like FIXD in this day. It should be noted that the same stock, for example FIXD, could have high quality M1 candles one day but not have them the next, so it’s not a permanent feature on the stock, it is feature of liquidity I believe.
I could really use your help in here.
(Please ignore LK chart, error in editing and I cannot remove it)
03/28/2020 at 4:45 PM #12373203/28/2020 at 5:36 PM #12374003/28/2020 at 9:34 PM #12375703/28/2020 at 11:06 PM #123766It’s definitely an option Vonasi; however, I do not want to limit myself to those stocks that I know so far or those correlated with the indexes, since the are many smaller stocks that are not in the NASDAQ or SP500, for example, but have enough liquidity and great opportunities. I was hoping to find a combination of variables that could proxy for liquidity in this case.
Any other ideas?
03/29/2020 at 1:52 PM #12381003/29/2020 at 2:06 PM #123811This indicator returns the average volume per candle. Perhaps you could have a filter that removes low average volume instruments from your screener?
123456789if volume <> 0 thenflag = 1endifif flag = 1 thentotal = total + volumecount = count + 1avg = (total/count)endifreturn avg03/29/2020 at 5:11 PM #123831Based on your code Vonasi, I have written the following:
12345678910111213141516171819202122232425262728/////////////////////////////////////////////// Min reqTIMEFRAME(daily)avol = average(volume)[10]atr = AverageTrueRange[14](close)MinDailyCapital=200000000c1min = atr > 0.8c2min = avol > 600000c3min = volume[2]*DClose(2)>MinDailyCapital or volume[1]*DClose(1) > MinDailyCapital or volume*DClose(0)>MinDailyCapitalTIMEFRAME(1 minute)avolM1 = average(volume)[20]c4min = avolM1 > 50000cmin = c1min and c2min and c3min and c4min/////////////////////////////////////////////TIMEFRAME(daily)c = open < close/////////////////////////////////////////////s = volume/avolSCREENER[cmin and c] (s as "%AVOL")I thought that, perhaps, using the “average” command I could make it simpler to filter out stocks with a low average volume in the 1 minute TF. However, the code yields no results.
Can you spot the error?
03/29/2020 at 6:33 PM #12383503/29/2020 at 10:29 PM #123860For future reference, the indicator I have created following you guidelines, Vonasi, goes as follows:
12345678910111213defparam drawonlastbaronly=truecandleCapital = volume*DClose(0)atr = AverageTrueRange[14](close)AVOL = average(volume)[10]relativeVolume = volume/AVOLdrawtext("candleCapital = #candleCapital#",barindex,1,Dialog,Bold,15)drawtext("AVOL = #AVOL#",barindex,0.5,Dialog,Bold,15)drawtext("atr = #atr#",barindex,0,Dialog,Bold,15)drawtext("relativeVolume = #relativeVolume#",barindex,-0.5,Dialog,Bold,15)returnIt shows the information on the indicator window, centered at the zero level. Though manually I can gauge the approximate values, still it’s not optimal. Though it’s a temporary solution.
Any further improvement do you think I could make?
03/29/2020 at 11:49 PM #12386403/30/2020 at 10:22 AM #123902What I finally came up with is the following:
1234567891011121314151617181920212223242526/////////////////////////////////////////////// Min reqTIMEFRAME(daily)avol = average(volume)[10]atr = AverageTrueRange[14](close)candleCapital = 100000000c1min = atr > 0.8 and avol > 600000 and volume[2]*DClose(2)>candleCapital or volume[1]*DClose(1) > candleCapital or volume*close>candleCapitalTIMEFRAME(5 minutes)Matr = AverageTrueRange[200](close)Mavol = average(volume)[200]McandleCapital = average(volume*close)[200]c2min = Mavol > 50000 and Matr > 0.1 and McandleCapital > 1000000cmin = c1min and c2min/////////////////////////////////////////////TIMEFRAME(default)c = open > close or close > open/////////////////////////////////////////////SCREENER [ cmin and c ] (Mavol as "MAVOL")It is not to strict but just enough, and flexible ood to keep making adjustments. The 200 average should be wide enough to capture a good picture of those parameters in the stocks in the 5 minutes. Also, clasifying the securities by the M5 AVOL allows me to keep on top those most liquid.
It’s a pity that there is not an only metric I can use to easily sort through those illquid stocks, since I have noticed that still I miss some great stocks to trade and that, depending on market conditions, I have to readjust the parameters of the screener, and that makes it burdemsome.
Please, Vonasi, send me a PM or a reply should you come up with something that can push the niddle a little bit forward, and thank you for your contribution.
03/30/2020 at 1:27 PM #123952that there is not an only metric I can use to easily sort through those illquid stocks, since I have noticed that still I miss some great stocks to trade and that, depending on market conditions
So please provide ways to sort them easily. What you have at disposal : price, time and volumes.
As you discovered, there is no empirical way to exclude that ugly looking candlesticks from a screener. In fact, it is just a question of maths to translate what is plotted on the chart. A lot of things are easily spotable with human eyes, but hardly to be recognized with codes.
-
AuthorPosts
Find exclusive trading pro-tools on