Bonjour, J’ai actuellement un algorithme qui prend des positions de la manière suivante : IF Condition1 AND Condition2 AND Condition3 AND Condition4 AND NOT ONMARKET THEN BUY 2 SHARES AT MARKET SET STOP %LOSS 0.25 SET TARGET %PROFIT 1 ENDIF Lorsque je fais un backtest, le prix d’ouverture d’une position correspond toujours parfaitement au prix d’ouverture de la bougie sur laquelle le système à ouvert une position, ce qui est complétement normal. Cependant en trading réel il arrive très souvent (notamment à cause du slippage) qu’il y ait une différence de quelques points entre le prix d’ouverture de la position et le prix d’ouverture de la bougie. Comme le Stop Loss et le Take Profit sont calculés en fonction du prix d’ouverture de la position, ils n’ont donc pas les mêmes niveaux en trading réel et en backtest, sauf dans le cas ou le prix d’ouverture de la position est égale au prix d’ouverture de la bougie. Pour pallier à ce problème et avoir toujours les mêmes niveaux de Stop Loss et de Take Profit en trading réel et en backtest, j’aimerais que le Stop Loss et le Takes Profit soient calculés en fonction du prix d’ouverture de la bougie et non pas du prix d’ouverture de la position. J’ai d’abord essayé de la manière suivante : IF Condition1 AND Condition2 AND Condition3 AND Condition4 AND NOT ONMARKET THEN BUY 2 SHARES AT MARKET SET STOP LOSS (((0.25/100)*OPEN[BARINDEX-TRADEINDEX])+(TRADEPRICE-OPEN[BARINDEX-TRADEINDEX])) SET TARGET PROFIT (((1/100)*OPEN[BARINDEX-TRADEINDEX])-(TRADEPRICE-OPEN[BARINDEX-TRADEINDEX])) ENDIF Malheureusement ça ne fonctionne pas, les valeurs du Stop Loss et du Take profit ne sont pas bien calculés, comme ci le système n’arrivait pas à détecter la nouvelle position. J’ai utilisé GRAPH pour regarder les valeurs des différentes variables et elles ne sont pas bonnes, notamment TRADEPRICE qui ne se met pas à jour avec la nouvelle position. J’ai donc essayé autrement en essayant de laissant le temps au système de bien prendre en compte la nouvelle position : IF Condition1 AND Condition2 AND Condition3 AND Condition4 AND NOT ONMARKET THEN BUY 2 SHARES AT MARKET ENDIF IF LONGONMARKET THEN SET STOP LOSS (((0.25/100)*OPEN[BARINDEX-TRADEINDEX])+(TRADEPRICE-OPEN[BARINDEX-TRADEINDEX])) SET TARGET PROFIT (((1/100)*OPEN[BARINDEX-TRADEINDEX])-(TRADEPRICE-OPEN[BARINDEX-TRADEINDEX])) ENDIF Les résultats sont bien meilleurs, sauf pour les positions qui s’ouvrent et se ferment sur une seule bougie (la première du coup). Vu le résultat, je suppose donc que les variables comme TRADEPRICE ne s’actualisent qu’a la fin de la première bougie et non pas au moment de l’ouverture de la position ce qui est bien dommage. Pour l’instant je me suis arrêté là, je pense peut être avoir recours au MULTI TIME FRAME, pour essayé de récupérer les bonnes variables (TRADEPRICE et les autres) sur des UT plus petites (1 seconde par exemple) mais je ne sais pas si c’est possible de faire ça, je n’ai encore jamais utilisé le MULTI TIME FRAME. Si cette solution fonctionne, c’est quand même une solution très compliquée pour un problème qui est très simple à la base, n’y aurait-il pas un autre moyen ?