Bonjour,
Testant, une stratégie simple sur le Brent en 15 minutes
Croissement DIplus, stop suiveur (code Proreal de Nicolas sur Forum), et stoploss en tout état de cause à 80, des positions ne sont pas stoper à 80.
Sur 1 an, j’ai des pertes maximum de -255, j’ai 7 positions qui dépasse les 80 (je ne compte pas les 88 ou proche de 80)
A regardant quand cela ne produit, il n’y a ni de gap, ni de position en fin de semaine, rien qui parait rationnellement extraordinaire.
Ma question et interrogation : pourquoi un stoploss peut ne pas etre respecté ? (le stoploss, vient dans mon cas, en supplément du stop suiveur)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
// Conditions pour ouvrir une position acheteuse indicator1 = DIplus[14](close) indicator2 = DIminus[14](close) c1 = (indicator1 CROSSES OVER indicator2) IF c1 THEN BUY 1 CONTRACT AT MARKET SET STOP PLOSS 80 ENDIF //trailing stop function trailingstart = 20 //trailing will start @trailinstart points profit trailingstep = 4 //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 |