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