The Grinder EUR/USD 5 min / intraday trading strategy

The Grinder EUR/USD 5 min / intraday trading strategy

This is my first autosystem, thanks to the many people in this web that help me with it. I designed it with the idea of being versatile so it can work within bulls, bears and neutrals periods, also with different markets, timeframes or indicators. I put here one of the setups I designed but I have tried others with similar results in backtesting, e.g. DOW-15m-MACD.

There´s not size management. I have tried roughly several approachs but I was not convinced about them. I decided to leave the size of the positions to the monetary circumstances of each one. Also it can be a good topic to contribute ideas here.

I can only backtest with 100k candles, it would be nice if someone can do it before that.

To use you need to import in PRT the Divergence Indicator “Divergence-RSI-V3.itf” and the system itself “The Grinder-EUSD-5M-v0.itf”

SETUP:

  • EUR/USD Intraday, from 08:00 to 19:00
  • 5 minutes TimeFrame

HOW IT WORKS:

  • It uses an indicator that detectes divergences between price and RSI to look for swing highs and lows (This indicator is based in an original idea of “jose7674”. Thanks for it Jose, sorry I don´t remember where I get it, not in this web)
  • It filters trends with a modified Donchian Channel
  • Additionally when a %Loss is reached it switchs to the opposite direction as a trend should be underway
  • The %Profit is high and rarely used as the system itself look for highs and lows to change position
  • The %Loss is not used, coded as a precaution, as the system switch direction before getting to it

 

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. verdi55 • 03/30/2017 #

    OH MY GOD

  2. TempusFugit • 03/30/2017 #

    I forgot to say that I am looking forward for feedback about this strategy. Is my first autosystem and sincerely I have no idea if I am going in the right direction and I hope you people with more experience help me. Thanks

    • DEIO • 03/30/2017 #

      hi TempusFugit,
      I tried to make some manual calculation of the performance in order to insert in the strategy some Money Management, but I stopped
      myself when I saw results.
      It’s possible that I’m wrong but let’s try you too, using the attached code below.
      It’s seems that when the performance are quite stick to zero level (between plus or minus) prorelatime the most of time
      say that you win (even if a little amount), but by a manually calculation you loose.
      You can see the equity line manually calculated.
      So, I hope to be wrong (I’m am a new member…), but if I am right I would be worried about PRT results.
      Please let me know your opinion or whoever can help us.
      thx
      code:
      // System parameters
      DEFPARAM CumulateOrders = FalseDEFPARAM PRELOADBARS = 2000DEFPARAM FLATBEFORE = 080000DEFPARAM FLATAFTER = 190000LimitEntryTime = 184000 //No Entries after this time
      //———————————————————————————–//timestop 5 inutes before FLATAFTER in order to let me calculate manually perftimestop = 185500if one = 0 thencapital = 10000one = 1endif//———————————————————————————–
      // Divergence Indicator RSIignored, DRSI = CALL “Divergence RSI v3″[24,8,1,0]BullishDivergence = DRSI = 1BearishDivergence = DRSI = -1
      // Filter to avoid entries on a trend (Delayed Donchian Canal with a Margin)NotBearTrend = LOWEST[120](close[15]) < (close+((close*SafetyMargin)/100))NotBullTrend = HIGHEST[120](close[15]) > (close-((close*SafetyMargin)/100))SafetyMargin = 0.15
      // Conditions for Entry of Long PositionsIF BullishDivergence AND NotBearTrend AND OPENTIME<=LimitEntryTime THENBUY 1 CONTRACTS AT MARKETELSIF SHORTONMARKET AND ((CLOSE-TRADEPRICE)/TRADEPRICE)*100 > FlipPosition THEN// Change from short to long position when the FlipPosition Stop reached, because a trend is underwayBUY 1 CONTRACTS AT MARKETENDIF
      // Conditions for Entry of Short PositionsIF BearishDivergence AND NotBullTrend AND OPENTIME<=LimitEntryTime THENSELLSHORT 1 CONTRACTS AT MARKETELSIF LONGONMARKET AND ((CLOSE-TRADEPRICE)/TRADEPRICE)*100 < -FlipPosition THEN// Change from long to short position when the FlipPosition Stop reached, because a trend is underwaySELLSHORT 1 CONTRACTS AT MARKETENDIF//———————————————————————————–//manually calculation of performanceif onmarket thenif LONGONMARKET thenperf = (close – POSITIONPRICE)/POSITIONPRICE * 100perfc = (close – POSITIONPRICE) * POINTVALUE * COUNTOFPOSITION *10000endifif shortonmarket thenperf = (-close + POSITIONPRICE)/POSITIONPRICE * 100perfc = (-close + POSITIONPRICE) * POINTVALUE * COUNTOFPOSITION *-1 *10000endif
      if perf >= 3 or time > timestop then//graph perfccapital = capital + PERFCgraph capitalif longonmarket thensell at marketendifif shortonmarket thenexitshort at marketendifendifendif//———————————————————————————–// Loss, Profit and Flip StopsSET STOP %LOSS 3 // Not used because the Flip Stop is lower, just in case.//SET TARGET %PROFIT 3FlipPosition = 1.5 // It this %Loss is reached the position turns in the opposite direction (Long->Short or Short->Long)
       
       

  3. TempusFugit • 03/30/2017 #

    Hi DEIO, 
    Thank you for collaborate
    I am not sure what are you trying… to replicate the “Equity  Cuve” shown by PRTBackTest? And I am not sure to follow your code, e.g. what is “one”?, but is it possible that the piece I copy below make your code only take in account the trades with 3% profit or those that reach 19:00? Because these trades are minority
    if perf >= 3 or time > timestop then
    //graph perfc
    capital = capital + PERFC
    graph capital
    Also, you canceled the 3%TakeProfit so the system is changed.
    Maybe I can´t understand your code because I am also a newbie, can any expert enlight us?
    Also if you are worried about the PRT calculation of P/L, I think you can verify it checking each trade calculation of P/L and total them. Is that what worries you?
     

    • DEIO • 03/30/2017 #

      Hi TempusFugit,
      it’s true that didn’t consider all the trades of the strategy…. I’m checking….
      Anyway usaually I try to replicate the E.L. of PRT (as best I can), because this way I’m more confident about what I’m coding.
      Probably I haven’t completely understood your criteria’s strategy, anyway in order to try a Money management
      in my mind it’s necessary to calculate the current capital and so the plusminus of any trade.
      About 3% target … I tried to manage manually as I said before (just where you said that there are the minority of trades).
      And results are the same you got with your original code.
      Two questions:
      1. when the position is flipped in the opposite direction, where the closure of the loosing trade is ?? 2. The majority of trades at what % are closed ? (apart time expiry and 3% plus)
      Anyway I can’t judge PRT calculations !!! but I’d like to understand how the strategy works exactly 🙂
      I hope I was clear ..
      Thx.

  4. Joachim Nilsson • 03/30/2017 #

     Hey TempusFugit!
    Thanks for your code but im sorry to say that it dosn´t work in it´s current state. 
    You have over optimized it to work with the order of the trades, like – short-long-long-short-long and so on. If you split the code in one short side and on long side you will not get a very pleasing resault…
    If I could I would add a picture but it´s not possible here.

  5. TempusFugit • 03/30/2017 #

    Hi Joachim,
    Thanks for sharing, but I am not sure about that. The base of the system with wich I created it is taking the highs and lows continuosly during the day (high-low-high-low…), that´s way the stop loss and profit are so high for this timeframe and rarely used So I think it´s normal it doesn´t work separately. I would nice to know the results of backtest before the one I can get (100.000) to know if it´s too optimized as you think.
    Thanks anyway 🙂

  6. TempusFugit • 03/30/2017 #

    Hi DEIO,
    Answering your questions:
    1. when the position is flipped in the opposite direction, where the closure of the loosing trade is ??
    It would follow the same rules that any other trade. It can:

    Change direction if the indicator gets the opposite divergence signal (Bear->Bull or Bull->Bear): Its the most common
    Change direction if it reachs the FlipStop (1,9% in this setup). Thats it´s difficult to happen twice in the same day
    Reach the ProfitStop (3% in this setup). Also rarely happening
    Close at 19:00

    2. The majority of trades at what % are closed ? (apart time expiry and 3% plus)
    With my max bars allowed backtesting (100.000) the statistics are: Average Win: 192$ and Average Loss: -225$. But the results by trade are very varied because the system can change direction several times in the same day and it goes from 0 to -1.882/+3.173
    I hope this help you understand the system better

  7. Aloysius • 03/30/2017 #

     Hi, I’ve made the backtest with 200 000 bars and unfortunatly it is not so good… I try to inser the picture but it doesn’t work. Anyway it looses 28 000 $ between august 2014 and august 2015.

    • TempusFugit • 03/30/2017 #

      Thanks Aloysius, too bad the results are not good. I will appreciate very much if  you can post them in the forum, to see how it behave. Anyway I still like the idea of the system, I will try to improve it.

    • TempusFugit • 03/30/2017 #

      Aloysius,
      Would you so kind to post your results here?:
       https://www.prorealcode.com/topic/the-grinder-eurusd-5-min-intraday-trading-strategy/
      Thanks 

  8. Joachim Nilsson • 03/30/2017 #

    Sorry my wrong, missed the “flip position” line 🙂

  9. TempusFugit • 03/30/2017 #

    Done!
     https://www.prorealcode.com/topic/the-grinder-eurusd-5-min-intraday-trading-strategy/
    Thanks for your patience GraHal, this is a new world for me. And for appreciate my work 🙂

  10. CERROGATO • 03/30/2017 #

    hola tempus , estoy usando tu código, por que sólo de 8 a 19 siendo 24 horas el eurusd?
     

    • TempusFugit • 03/30/2017 #

      Hi C,
      The hours the System don´t opperate the market use to be more flat so the highs and lows are not very far from each other and the System needs some distance betwenn H/L to react well.  I backtested the System with different open/close times and this seen to be the best

  11. rama • 03/30/2017 #

    LOWEST[120](close[15]) what is meaning close[15] if LOWEST[120](close) will return close value of lowest of 120 candles. what does LOWEST[120](close[15]) code return?

    • TempusFugit • 03/30/2017 #

      Hi rama,

      It means the lowest close of the last 120 candels starting 15 candles back from the present candle.

      Be ware this strategy is not profitable, has been loosing money all the last year. Anyway I think it still has useful ideas, maybe for longer timeframes

      Best of luck

  12. rama • 03/30/2017 #

    LOWEST[15(close[0]) also gives the same

  13. TempusFugit • 03/30/2017 #

    Ok, but you are missing the 120 lookback period

  14. Globalmarkets79 • 03/30/2017 #

    Hello, I tried to run the code but i had an syntax error that “This variable is not used in the code:limitentrytime”. Can you help me?

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
Francesco78 I did a little bit of work on that and now the results looks better and more stable. Please...
Francesco78 I did a little bit of work on that and now the results looks better and more stable. Please...
Khaled Hi Francesco , thank you for sharing your hard work. Any idea why all orders are executed at...
JanWd Thank you for the coding, it seems promising. FTSE gives for the short term (5 min) promis...
Jan Wind 21.04.2019: I retested the strategy for the DAX 5 minutes , it works fine for 10.000 bars, b...
bertrandpinoy hello Francesco, are you still working on this strategy?
Francesco78 Many thanks JR1976 for your improvement,  although results with your filter looks better th...
JR1976 HI Francesco, in  effect  3 consecutive lose  in May and today .... doesn't work well ,  ne...
Francesco78 Hi JR, yes indeed quite disappointing in may and today, but still within the max drawdown sh...
Wilko And not only readable.... makes it much easier to iterate different entry/exit-conditions, d...
IGOSNELL Hi Interesting strategy, when I used $ M-R Dif EURUSD M15 Long if does not enter any positi...
ilvillans HI, I modified the system, from good results but from this error: Replace the variables wit...
avatar
bjoern With the same parameters? For me the results are negative
avatar
bjoern Oh ok, with the initial posted parameters it is positive
victormork yes! It's not like you want to put it on live but when I for example take the version I have...
victormork Hi, I would just like to share my own take on this strategy. I'm using 30 min on EURUSD but ...
mckubik Thanks. I will run a Test. 
poonsl2828 Hi! bjoern May i know what timing should i change for time zone (Singapore (GMT +8:00) ...
Samitha Prasanna Hi ALE, would you be able to provide the values for the below part of the code (time >=1...
Player Bonjour, J'ai testé cette stratégie sur EurUSD en 1 heures sur 10000 unités et le résultat ...
Player Vue du rapport du Backtest https://ibb.co/8BMrBz6
Nacho Molto bene, ho voluto parlare di una cosa che sto trovando con questa strategia, ho girato s...
Francesco78 Ciao Nacho, grazie per il commento, onestamente  a me non e' mai capitato, ma ho fatto solo ...
Pietro Ranzato ciao francesco grazie mille. pietro ranzato non riesco a contattarti sono interessato al tuo...
Nicolas Restart your platform in order to be sure to use the last version, there was a version rollb...
bertrandpinoy bonjour voud pouvez m envoyer le code modifier par vous?
Nicolas Désolé , je ne comprends pas votre question.
DEIO Hi sublime06, I tank you for the compliments, but first of all I STRONGLY want to warn yo...
bertrandpinoy Bonjour Deio excusez moi je ne comprend pas le principe du SL et du TP sur votre strategie.....
bertrandpinoy bonjour avez vous un TP et SL pour cette strategie? merci
Derek Nice strategy. Have you tried adding a stop loss since there are a few sharp drawdowns? I ...
Piston_Broke Non so .... da qui la mia domanda iniziale :-)
Piston_Broke Hi Derek. I have tried many different ways to apply SL's to this and similar versions of th...
Nicolas Indeed, if you are not willing to loose, you will always win. Averaging down losers can carr...
David You're always safer going Long especially with averaging down on an index as the probability...
Oskar Bergvall  I noted Davids and Nicolas remarks. Could it be possible to make an indicator for contraria...
Nicolas si il n'y a pas de stoploss définit dans le code, alors c'est normal :)
bertrandpinoy bonjour merci pour la réponse. Oui b sur ... est il possible que le SL soit coder sous une a...
Nicolas ok mais pourquoi poser la question ici ? Pour des questions non spécifique à cette article, ...
David Somogyi Hello, This is merely a filter indicator for measuring high fractality, which helps to av...
bertrandpinoy bonjour ce code fonctionne toujours?
Nicolas Faites un backtest, vous aurez des réponses.
Jessar Hi friends, is there any way to program the system to close the position when you have a lon...
Pring00 Hello @Nicolas, thanks for this code! Just what i was looking for. I'm fairly new to this...
Nicolas Needs custom coding, ask for a mod in a dedicated topic, in the appropriate forum please.
Lotar
8 years ago
Nicolas You can send it to contact@prorealcode.com and I'll attach it here. Thanks for your sharing!
Francesco78 Hi Lotar, which variables would you choose to recalibrate it to the present market condition...
Degardin Arnaud unfortunatly in today's market it's not working at all...
Derek Clarification: Automatic rollover will be into the nearest forward but I prefer the farthes...
gatowman Hallo Derek, ich bin neu hier, wo finde ich die beiden Indikatoren? kansst du sie als itf p...
bertrandpinoy BONSOIR j ai tenté votre modification mais PRT ne l accepte pas "erreur de syntax" pouvez vo...
Nicolas it is based on seasonality of DAX.
Luciano Santiago Juárez Hello I am new here I am trying to understand this code IF monthlyMultiplierLong > 0 ...
Luciano Santiago Juárez Sorry the code copied bad the line I dont understand is: ELSIF monthlyMultiplierLong 0 THEN
GabrielVP Hola. ¿Has probado a incorporar compras en el mismo sistema? o ¿sería posible? disculpa mi i...
Iber0 Asi quedaria con el spread de IG [IMG]http://i65.tinypic.com/2418ism.jpg[/IMG]
avatar
bjoern Seems to work nice on BUND - M15 with SL 70 and TP 120
hvluthy@sunrise.ch I tried to backtest this code but don't get any restults. Can any body help me?

Top