Code « Lift Up & Down DAX »

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.

Lift Up&Down Dax M5

 

Voici le résultat en M15 :

Lift Up&Down Dax 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
Share Button