Here is a simple “long only” automated strategy built upon the mean reversion behaviour of the QQQ ETF. It uses the Internal Bar Strength indicator which represent the weight of the closing price related to the day’s range. It is a simple indicator that point the fact that deepest close would regain on the few next days. This indicator is the same as a stochastic oscillator with only 1 period = short term deviation from the price mean would expect that price will came back to it.
When the IBS (or stochastic oscillator) fall below the 10 level, buy at next open. Close the trade if a candle close above the previous day high.
I also add a dynamic lot calculation made upon the strategyprofit. You can change the value of the “initial lot” (100 shares at start) and the “step profit” which add more shares whenever the strategy gain a new stepprofit (50$ by default).
This strategy would be adapted to other indices, i will certainly go forward on it.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
//indicator STO = (Close - Low) / (High - Low) * 100 //initial lot initLOT = 100 //profit step of the strategy to increase lot stepPROFIT = 50 myLOT = max(initLOT,initLOT+ROUND((strategyprofit-stepPROFIT)/stepPROFIT)) IF NOT LongOnMarket AND STO<10 THEN BUY myLOT CONTRACTS AT MARKET ENDIF If LongOnMarket AND Close>High[1] THEN SELL AT MARKET ENDIF |
Share this
No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.
ProRealTime ITF files and other attachments :PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials
Ciao Nicolas, how said on fb I’have a problem with this strategie, some times go in crash in time frame at 1 hour because need of a protection by a division of zero for last candle, you can help me? Thank for all.
Hello alfredo, there are only 2 divisions in the code, that may cause crash of the script. Have you made any modifications to the original code strategy? Thank you.
Yes, thi is code modified
defparam cumulateorders=false
STO = (Close – Low) / (High – Low) * 100
IF NOT LongOnMarket AND STO<10 THENBUY 2 CONTRACTS AT MARKETENDIF
If LongOnMarket AND Close>High[1] THENSELL AT MARKETENDIF
if not shortonmarket and sto>90 thensellshort 2 contracts at marketendif
if shortonmarket and close<low[1] thenbuy at marketendif
set stop $loss 250
I do not have any error Alfredo, even while testing on 150000 bars in the past. By the way, you should use EXITSHORT : http://www.prorealcode.com/documentation/exitshort/ to exit a short position. I have change your code accordingly :
defparam cumulateorders=false
STO = (Close - Low) / (High - Low) * 100
IF NOT LongOnMarket AND STO<10 THEN
BUY 2 CONTRACTS AT MARKET
ENDIF
If LongOnMarket AND Close>High[1] THEN
SELL AT MARKET
ENDIF
if not shortonmarket and sto>90 then
sellshort 2 contracts at market
endif
if shortonmarket and close<low[1] then
exitshort at market
endif
set stop $loss 250
Where does your error appear? Is it a ProRealTime window?
thank for the council, when i do start the strategie on Italy at 1h some mornings happen that i find the sistem interrupt with the error, but I’ think that in the night the graph does not form some candle, maybe I’should make the strategy work from the 09:00 to 17:00 because the results are better, what do you think?
I think it’s because of price gaps and/or quote interrupt. Anyway, be aware that this strategy were made to work on a daily basis and not in intraday, but if you can make it better, do it!
je trouve cette stratégie interessante même si le qqq en question etf n’a pas beaucoup de volume de transaction toutefois pour améliorer le code originel, j’y connais rien, aurriez vous nicolas ou alfredo peut la gentillesse quand vous aurez le temps d’intégrer vos modifications proposés au code d’origine, pour en faire bénéficier tous le monde ? est ce possible NA
I find this strategy interesting even if the qqq in question etf does not have much transaction volume but to improve the original code, I know nothing about it, would you nicolas or alfredo can be kind when you have time to integrate your proposed changes to the original code, to benefit everyone? is it possible NA