Bonjour à tous,
Voici un code très intéressant, et qui semble très performant, sur le DAX.
L’auteur (sur prorealcode) l’a publié en graphes M5.
Les années 2015 et 2016 (pour l’instant) ont été extrêmement performantes.
En 2014 par contre, on a une stagnation de capital.
J’ai refait les backtests, sans réinvestissement des gains
J’ai mis 1 point de spread (ce qui n’avait pas été mentionné par l’auteur dans son backtest). C’est un peu optimiste car en fait la stratégie peut prendre des positions dès 08H45.
Voici le résultat en M5 :
Très performant, mais dommage qu’on ne puisse faire remonter le backtest avant 2014.
C’est une durée trop courte de backtest pour que je fasse confiance à cette stratégie.
Voici le résultat en M15 :
Voici le code du BACKTEST :
// Lift up and down DAX 5M // Code-Parameter DEFPARAM FlatAfter = 113000 // trading window ONCE BuyTime = 84500 ONCE SellTime = 113000 // money management REINV = 0 IF REINV = 0 THEN PositionSize = 10 ELSIF REINV = 1 THEN // variable position size - thanks Adolfo :-) ONCE Capital = 10000 ONCE Risk = 0.01 ONCE StopLoss = 10 ONCE equity = Capital + StrategyProfit ONCE maxrisk = round(equity*Risk) ONCE PositionSize = abs(round((maxrisk/StopLoss)/PointValue)*pipsize) ENDIF // manage number of trades IF Time = BuyTime THEN LongTradeCounter = 0 ShortTradeCounter = 0 ENDIF // long on Monday until Thursday with filter close is above MA(14) and max 2 trades per day IF Not LongOnMarket AND Time >= BuyTime AND close CROSSES OVER DHigh(1) AND close > Average[14](close) AND LongTradeCounter < 2 AND CurrentDayOfWeek <> 5 THEN BUY PositionSize CONTRACT AT MARKET LongTradeCounter = LongTradeCounter + 1 sl = 50 tp = 130 ENDIF // short on Monday and Tuesday with filter close is under MA(9) and max 2 trades per day IF Not ShortOnMarket AND Time >= BuyTime AND close CROSSES UNDER DLow(1) AND close < Average[9](close) AND ShortTradeCounter < 2 AND CurrentDayOfWeek < 3 THEN SELLSHORT PositionSize CONTRACT AT MARKET ShortTradeCounter = ShortTradeCounter + 1 sl = 90 tp = 30 ENDIF // exit IF LongOnMarket AND Time = SellTime THEN SELL AT MARKET ENDIF IF ShortOnMarket AND Time = SellTime THEN EXITSHORT AT MARKET ENDIF // stop and target SET STOP pLOSS sl SET TARGET pPROFIT tp