Généralement, le STOP LOSS a des limites imposées par le courtier, mais avec ce système, vous n’indiquez pas de STOP LOSS, mais utilisez des ordres en attente et le courtier ne sait pas à quoi ils se réfèrent. Vous seul le savez, donc je pense qu’une commande sans STOP LOSS est acceptée.
Même pour TARGET PROFIT vous pouvez placer des ordres en attente, mais s’il n’y a pas de limites particulières, vous pouvez continuer à utiliser SET TARGET PPROFIT.
Le code n’a pas fonctionné. J’ai utilisé les valeurs suivantes et le trade a été exécuté de cette manière:
http://prntscr.com/jip59o
Plusieurs choses bizarres:
- le take profit est a 11€ alors que j’ai mis ‘SET TARGET pPROFIT 11’ qui devrait être 11 points non ? et non pas 11€
- ensuite l’ordre a bien été pris en compte comme un ordre stop et alors que j’ai mis stopLoss=3, le stop a été mis à 55€ ce qui n’est pas bon.
- ensuite je ne comprends pas pourquoi le trade a été enclenché en dessous de RSI 70 alors que j’ai bien indiqué 70 dans le code
// Définition des paramètres du code
DEFPARAM CumulateOrders = false // Cumul des positions désactivé
IF LongOnMarket Then
SELL AT tradeprice - (stopLoss * pipsize) stop
ENDIF
IF ShortOnMarket then
EXITSHORT AT tradeprice + (stopLoss * pipsize) stop
ENDIF
stopLoss=3
rsiPeriod=7
// Conditions pour ouvrir une position acheteuse
indicator1 = Average[9](RSI[rsiPeriod](close))
indicator2 = Average[15](RSI[rsiPeriod](close))
c1 = (indicator1[1] >= indicator2[1])
indicator3 = RSI[rsiPeriod](close)
c2 = (indicator3 <= 30)
// Conditions pour ouvrir une position en vente à découvert
indicator4 = Average[9](RSI[rsiPeriod](close))
indicator5 = Average[15](RSI[rsiPeriod](close))
c3 = (indicator4[1] <= indicator5[1])
indicator6 = RSI[rsiPeriod](close)
c4 = (indicator6 >= 70)
// Trade orders
IF c1 AND c2 THEN
BUY 1 CONTRACT AT MARKET
SELL AT close - (stopLoss * pipsize) stop
ENDIF
IF c3 AND c4 THEN
SELLSHORT 1 CONTRACT AT MARKET
EXITSHORT AT close + (stopLoss * pipsize) stop
ENDIF
// TP
SET TARGET pPROFIT 11
11 points sont 11 points (pips). La valeur de chacun peut être, par exemple avec le DAX, de 25 ou 5 ou 1 € selon le type de contrat que vous avez choisi (normal, mini ou micro).
Sur le DAX normal 3 points (pips) sont de 75 €.
Spécifiez bien sur quel outil vous avez essayé la stratégie et attachez une photo en mettant en évidence les opérations qui semblent erronées.
Oui vous avez raison, c’est bien un support à 1 euro le point donc 11 points = 11 euros. Aucun soucis ici.
Cepandant il y a toujours le bug du stop à 55 euros au lieu de 3
Le stop à 55 point du Close n’est pas un bug, puisque le code est strict et qu’il aurait du être placé à Close +/- 3 points lors de l’ouverture des ordres. Celui-ci a sans doute été déplacé par le courtier. La seule et unique façon de comprendre ce que fait le courtier avec nos ordres est de regarder la liste des ordres (CTRL+O dans la plateforme).
Pensez vous que le backtest, en ayant mis un spread de 2 points, procède de la même manière que ce qui s’est passé en live trading à ce moment là ?
Difficile de l’affirmer, mais si le spread de 2 points est bien celui du courtier pour cet instrument et que le backtest a été fait en tick par tick, alors il s’approche en effet de la réalité.