Strategy 3 CANDLES with CAC40

Strategy 3 CANDLES with CAC40

I would like to share a simple meanreverting system that is based on the analysis of the last 3 candles.

A long range of the last 3 candles of at least 10 pips is considered, and for the short side a move of at least 25 pips.

Preferred indices France 40, Ftse 100 and Dax.

Timeframe 1 minute.Target 75 pips, Stop 70 pips and breakeven update every 30 pips.

Suggestions would be welcome.

Share this

Risk disclosure:

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 : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

  1. Matteo MC • 11/29/2022 #

    Hello Stanko.
    I hace tested your system ad i’have noticed that it works very well only quen the market is going up.
    So I have added a condition to enter the market :
    i1=triangularaverage[9000](close)
    if i1[0]>i1[1] then
    TRE=1
    ELSE
    TRE=0
    ENDIF
    The system enters long or short only when TRE=1. Whit this filter the equity line on 200k candels becames very better!
    try and Let me know if you are agree with me.

    • Stanko • 11/29/2022 #

      Ciao Matteo MC. Grazie per il tuo consiglio. Ho provato la strategia con tuo filtro ed il miglioramento è stato netto. Le operazioni si dimezzano ed aumentano i profitti. Attualmente sembra ottimo solo per il CAC40.

    • ivan66 • 11/29/2022 #

      Ciao Matteo, scusami , la modifica che hai suggerito, dove e come va inserita nel programma sopra? Ti ringrazio ciao

  2. rominet44 • 11/29/2022 #

    Hello ! stratégie simple testée et donne de bons résultats, bravo. J’ai essayé une petite optimisation qui améliore légèrement le profit jusqu’à 70k unités en backtest, mais apporte des résultats nettement meilleurs sur une plus longue période (140k et plus ) :
    // essais CAC M1 à partir de Strategy3-CANDLES-with-CAC40
    // mis en service le 30/11/22 à 19h30

    DEFPARAM CumulateOrders = False
    timeEnterBefore = time >= 070000
    timeEnterAfter = time <= 230000

    // *** tendance courte *****************
    M8=average[11](close) // 11
    Tm8h=M8>M8[1]
    Tm8b=M8<M8[1]

    UNO = (open[2] – close) > 9*pipsize // 9
    IF timeEnterAfter AND timeEnterBefore AND (open[2]>close[1]) AND (close[1]>close) AND UNO AND Tm8h THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF

    DUE = (close – open[2]) > 21*pipsize // 21
    IF timeEnterAfter AND timeEnterBefore AND (open[2]<close[1]) AND (close[1]<close) AND DUE AND Tm8b THEN
    SELLSHORT 1 CONTRACT AT MARKET

    Malheureusement je ne sais pas comment ajouter le scan du backtest ???
    La strategie est actuellement en test réel.
    Cordialement
    JPF
    ENDIF

    SET TARGET pPROFIT 72// 72
    SET STOP pLOSS 69 // 69

    //startBreakeven = 5 //30 pips in gain to activate the breakeven function
    //PointsToKeep = 10 //5 pips to keep in profit above/below entry price when the breakeven is activated
    //
    // test if the price have moved favourably of “startBreakeven” points already
    //
    // — LONG side

    SCA = 33
    IF LONGONMARKET AND (close – tradeprice(1)) >= (SCA* pipsize) THEN // 33
    breakevenLevel = tradeprice(1) + (SCA* pipsize) //calculate the breakevenLevel
    //place the new stop orders on market at breakevenLevel

    IF breakevenLevel > 0 THEN
    SELL AT breakevenLevel STOP
    ENDIF
    ENDIF
    //graphonprice breakevenLevel coloured(239,21,21)
    // — SHORT side
    IF SHORTONMARKET AND (tradeprice(1) – close) >= (SCA* pipsize) THEN
    breakevenLevel = tradeprice(1) + (SCA* pipsize) //calculate the breakevenLevel
    //place the new stop orders on market at breakevenLevel
    IF breakevenLevel > 0 THEN
    EXITSHORT AT breakevenLevel STOP
    ENDIF
    ENDIF

    • Stanko • 11/29/2022 #

      Ciao Rominet44.
      Grazie per il tuo consiglio.
      La tua ottimizzazione è molto interessante perchè riduce notevolmente le operazioni ed aumenta i profitti.
      Ho notato anche un filtro con la media a 11 periodi.
      Attualmente performa bene per CAC40, DAX ed EUR/USD.

    • Chrisinobi • 11/29/2022 #

      Hallo Rominet 44
      Dein Code gefällt mir ganz gut, zum probieren und testen, kannst du bitte ihn als ITF-Datei hochladen oder so das man ihn gut kopieren kann. Danke

    • KumoNoJuzza • 11/29/2022 #

      Bonjour,
      @rominet44 pourrais tu expliquer à quoi sert le filtre:
      M8=average[11](close) // 11
      Tm8h=M8>M8[1]
      Tm8b=M8<M8[1]
      Il est efficace mais je pense avoir des lacunes sur le trading car je n'arrive pas comprendre le pourquoi du comment. Merci.

    • Nicolas • 11/29/2022 #

      la moyenne mobile 11 période actuelle est ascendante ou descendante, on teste sa valeur vis à vis de sa valeur précédénte.

  3. Stanko • 11/29/2022 #

    In questi ultimi giorni di pesanti vendite nell’azionario il sistema accusa più perdite consecutive perchè, come aveva capito MatteoMC, la maggior parte degli ingressi sono Long. Trovo difficile trovare filtri per limitare i loss consecutivi: rimane opportuno rimanere fuori dal mercato.

  4. shionuk • 11/29/2022 #

    Sorry I am new here. Seen some really good results on forex with 30 mins. I have commented the code as I understand it in an editor. What is SCA? I am not in this domain so if it is obvious please excuse.

    • Stanko • 11/29/2022 #

      Ciao shinouk,
      lo SCA è una variabile che fa salire lo stop loss a breakeven, cioè la posizione non potrà chiudere in perdita. In questo caso lo stop loss parte da -70 e se la posizione supera il +30 il programma fa salire lo stop a +30. Spesso la posizione si chiude subito, ma il target del profitto rimane a +75 e può essere comunque raggiunto.

  5. wally • 11/29/2022 #

    Hola a todos y gracias a Stanco por la maquina principal y a los compañer@s que aportáis modificaciones.
    Para los mas novatos, serian tan amables de poner el archivo ITF, ya que no consigo insertar las modificaciones.
    Gracias por compartir sus conocimientos.

    • Stanko • 11/29/2022 #

      Ciao wally. Grazie per l’interesse mostrato: non riesco a capire che formato sia ITF. Il mio sistema si può copiare ed incollare senza problemi su ProRealTime. La modifica di MatteoMC la puoi aggiungere manualmente. Per le modifiche di rominet44 puoi provare a copiare il sistema qui sopra ed una volata incollato in ProRealTime potresti cancellare i commenti preceduti dalle due barre “//” perchè potrebbero creare confusione.

  6. jim • 11/29/2022 #

    wow

  7. wally • 11/29/2022 #

    Voy a experimentar.
    Gracias Stanko.

  8. BenJuice • 11/29/2022 #

    Merci Stanko pour ton système:) Il marche très bien.
    J’ai vu que Matteo MC avait trouvé un filtre pour optimiser ton système.
    Je n’arrive pas à intégrer sa condition. Pourrais tu m’aider.
    D’avance merci

    • Stanko • 11/29/2022 #

      Ciao Benjiuce, scusa per il ritardo della risposta.
      Prova a copiare ed incollare questo codice:

      DEFPARAM PreLoadBars = 100000
      DEFPARAM CumulateOrders = False
      timeEnterBefore = time >= 083000
      timeEnterAfter = time COND[1] THEN
      TRE = 1
      ELSE
      TRE = 0
      ENDIF

      UNO = (open[2] – close) > 10*pipsize

      IF timeEnterAfter AND timeEnterBefore AND (open[2]>close[1]) AND (close[1]>close) AND UNO AND TRE = 1 THEN
      BUY 1 CONTRACT AT MARKET
      ENDIF

      DUE = (close – open[2]) > 25*pipsize

      IF timeEnterAfter AND timeEnterBefore AND (open[2]<close[1]) AND (close[1]= (SCA* pipsize) THEN
      breakevenLevel = tradeprice(1) + (SCA* pipsize) //calculate the breakevenLevel
      //place the new stop orders on market at breakevenLevel
      IF breakevenLevel > 0 THEN
      SELL AT breakevenLevel STOP
      ENDIF
      ENDIF
      // — SHORT side
      IF SHORTONMARKET AND (tradeprice(1) – close) >= (SCA* pipsize) THEN
      breakevenLevel = tradeprice(1) + (SCA* pipsize) //calculate the breakevenLevel
      //place the new stop orders on market at breakevenLevel
      IF breakevenLevel > 0 THEN
      EXITSHORT AT breakevenLevel STOP
      ENDIF
      ENDIF

  9. calliope • 11/29/2022 #

    Bonjour et merci beaucoup STANKO pour ce code; La première ligne de ce code ressort en anomalie. Quelqu’un peut il m’aider ?
    Merci à tous pour ces beaux partages

  10. Stanko • 11/29/2022 #

    Ciao calliope.
    Per prima riga intendi “DEFPARAM PreLoadBars = 10000” ? Se sì, questa istruzione dovrebbe velocizzare i calcoli per far funzionare la strategia.
    Comunque se lanci una ricerca con “PreLoadBars” puoi trovare tante risposte ai tuoi dubbi.

  11. Patrice210 • 11/29/2022 #

    bonjour STANKO, effectivement la première ligne apparait en anomalie et je ne comprend pas votre réponse.
    pouvez vous m’éclairer sil vous plait . en tout cas merci pour le code d’origine

  12. KumoNoJuzza • 340 days ago #

    Hi guys,

    Thanks @Stanko and everyone for your contributions.
    I have been playing around with the strategy and I would like to propose a variation.
    – Filter is based on Hull Average, I have not tried with Alma yet.
    – The biggest change, I believe is that it does not use any stop loss, and thus to mitigate that big risk, I have restrained the trading hours to the quiet hours of the day
    – I have added a trailing stop
    – That code works on IB on DXS,

    I wish I could upload images to share lift and report of the backtest: over 200K 1 minute candles: 1154 € profit with a max drawdown of 377.5 €. They are a few overnight positions and thus requiring additional margin.

    I have not tried on IG Dax yet. I believe it can work on other indices as well. But first things first, I want to improve it.

    For those who are interested, I would be happy to work together on how to stretch the trading timerange of the strategy and to better manage the very long lasting positions.

    //————————————————————————-
    // Main code : 3 Candles DXS 1min
    //————————————————————————-

    DEFPARAM PreLoadBars = 100000
    DEFPARAM CumulateOrders = False

    //Timeframe (5 minutes)
    // ********* Short Trend *****************
    M8=HullAverage[30](close) // 6 on 5minute TF
    Tm8h=M8>M8[1]
    Tm8b=M8<M8[1]

    //********* Position Opening Hours ****************
    POH = Time > 104500 and Time < 141500

    //****** Strategy ********
    UNO = (open[2] – close) > 10*pipsize // 20

    IF Not onmarket AND POH AND (open[2]>close[1]) AND (close[1]>close) AND UNO AND Tm8h THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF

    DUE = (close – open[2]) > 15*pipsize // 30

    IF Not onmarket AND POH AND (open[2]<close[1]) AND (close[1]<close) AND DUE AND Tm8b THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF

    //Timeframe (1 minute)
    //************************************************************************
    //trailing stop function
    trailingstart = 5 //trailing will start @trailingstart points profit
    trailingstep = 2 //trailing step to move the “stoploss”

    //reset the stoploss value
    IF NOT ONMARKET THEN
    newSL=0
    ENDIF

    //manage long positions
    IF LONGONMARKET THEN
    //first move (breakeven)
    IF newSL=0 AND close-tradeprice(1) >= trailingstart*pipsize THEN
    newSL = tradeprice(1)+trailingstep*pipsize
    ENDIF
    //next moves
    IF newSL>0 AND close-newSL>=trailingstep*pipsize THEN
    newSL = newSL+trailingstep*pipsize
    ENDIF
    ENDIF

    //manage short positions
    IF SHORTONMARKET THEN
    //first move (breakeven)
    IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THEN
    newSL = tradeprice(1)-trailingstep*pipsize
    ENDIF
    //next moves
    IF newSL>0 AND newSL-close>=trailingstep*pipsize THEN
    newSL = newSL-trailingstep*pipsize
    ENDIF
    ENDIF

    //stop order to exit the positions
    IF newSL>0 THEN
    SELL AT newSL STOP
    EXITSHORT AT newSL STOP
    ENDIF

    • Stanko • 339 days ago #

      Hi KumoNoJuzza, thanks for the post. I also tried your code with Dax and the performance is interesting, however the drawdowns are larger due to a wider average volatility than the Cac and therefore not everyone can tolerate large negative balances for many days. With IG the overnight costs for Dax and Cac should be around 1 euro per day. The Nasdaq can also be interesting with the time slots you have set, but it is a much more volatile index than the European indices. Good evening

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar

+1 more likes

Related users ' posts
Nacho Buenos días Raul, tengo puesto este sistema desde hace unos días en una cuenta demo en la ve...
Dominik Hola Raul ... it looks wonderful :-) Why does it not work if I use less than 100,000 € capi...
Bobbi Hola y gracias por compartir! Descubrí que en 5 minutos teníamos algo muy bueno! Pero no ...
Nicolas You'll need to preload bars to get the good calculations of you indicators. I did not test i...
David Nicolas I tried DEFPARAM Preloadbars = 5000 And still the same drawn output of entries/exit...
marcara Hi, Thank you very much for the Moving Average Daily indicator, I am using it as indicator i...
danhei Hi I am tryong to figure out how trist strategy works. I am new to pro real time. Can some...
Plop61 Hello,Thank you for sharing this beautiful strategy.Is it possible to indicate the code for ...
NoName Thank you very much for this fascinating trading system. It is still proving to be extremely...
ALE
8 years ago
pollon Ciao Ale,  anche a me da questo errore  "QQE_QUDAX1HBUY"  "QQE_QUDAX1HSELL"  "UNIV_QUDAX...
reb Hi Ale do you trade these QU strategies?  Are the results same as backtests Thnaks in adv...
avatar
crazytrader Hi anyone that has run this lately?
larouedegann best with this hour IF TIME =081000 THEN plushaut=highest[2](high) plusbas = lowest[2](lo...
CanAny1Trade Hi! I'm trying to put together a similar indicator but struggling. I want to mark the NY Pit...
ALE Hi Pat This code was nothing more than an experiment
pat95162 Hi Ale Do you have same results as me ? The strategy works very well in 2017 and now in 2-...
Nicolas Built on the history means that it suits the history. Always develop ideas in In-Sample peri...
ALE
8 years ago
ALE no, only with TF 15m
enzo_52 Grazie tante, Thanks so much 
JanWd Hallo Ale, First of all, thank you for this strategy. Could you explain what the BLUSTER ...
Elsborgtrading No that is wrong :) 1st runs always- then only run 2nd if 1st is on market with positions(ar...
Elsborgtrading It can only be fully automated if IG change minimum SLto 7 at night on DAX multi timefra...
Elsborgtrading A small example. the strategy would have opened 3 position on Dec 4th 2016 and keept it for ...
Cosmic1
9 years ago
Cosmic1 @JadeDB What times are you putting in?
sincitytrader I tried this one out recently,  and wasn't profitable for me.
Cosmic1 Yes, not great lately. I stopped this live at the end of last year. Will wait to see when th...
rpreviteri Hi Nicolas, thanks a  loto for sharing your knowliedge, Wasn't the original momentum pinball...
air Thank you!  
elanoa Buonasera sig. Nicolas......sarebbe possibile far in modo che quando l'indicatore raggiunga ...
Philip Raphael Hey! Thank so much for sharing this wonderful indicator! I have always tried to code a simil...
CKW Hi Philip, What do you mean "Years" are not defined ? candle? If to code yearly candle size...
dakaodo Years not defined was probably b/c Phillip copied and pasted the code into PRT instead of im...
Dimi.A Perfect for counter-trend scalping. I like this!
viktorthuns Hi Nicolas! Great work you've done with all your indicators. Just wondering about the code a...
Nicolas the value is not a boolean but an average of an addition of booleans. As stated in the descr...
zilliq The reasons why I think it's time consuming and we loose time to try to do backests and Auto...
filiprb Hello Zilliq, You don't need a system to produce a walk forward test. You can easily create...
Philip Raphael It is incredible! Thanks for sharing, Doctrading!
Reiner
9 years ago
Nicolas You should join and read the forum thread about this strategy. There are plenty of different...
Reiner Hi djtaktik and welcome, I have answered your question in the related Pathfinder forum beca...
danver34 is this version the definitive one or from the original one have there been modifications to...
Reiner
9 years ago
Nicolas Overfit on past history obviously. But it doesn't mean that it would still underperformed in...
Francesco78 Thank you for the clarifications Nicolas, I am more aware of the meaning of the backtesting ...
CanAny1Trade Hi all, could a simple indicator be made to mark the traditional Pit based ORB? I'm tryi...
Fabio Anthony Terrenzio this strategy works only in a well defined trend
brosly Good afternoon I am trying to get the complete code of lex strategy made by adolfo since I s...
dreif123 hi Adolfo, is Alex Auto Trading Botindex working on DAX as well ? if so , can you post the...
hvluthy@sunrise.ch I'm very interested to try out your strategy, but as a bloody newbie I need some help regard...
Scalp Hola Adolfo, tengo una variante de tu estrategia, pero no se programar, me puedes ayudar al ...
ALZ Hi, I tested this strategy and that doesn't work.. strategy is losing.. Does anyone curr...
Doctrading Yes, nice idea.
noisette I tried some backtests with "9:30 MACD" with "Breakout strategy" but results are much better...
Doctrading Hello, can you send us your code ?
Nicolas Ahah, I'm not the author of this one :) I know you are a great coder Wilko, why don't you p...
Wilko Thanks for the flattery! I will, I promise.  /F
Nicolas Still don't have seen anything from your own :) You promised me! Ahaha 
Andres Uffff, I didn't adjust the different index spreads. With the heavy spread of Italy It's nega...
davidp13 Good day. I know this was posted such a long time ago, but I though rebuilding the system on...
davidp13 Also to note that the one position in my code does not close the other, which as far as I kn...

Top