Bonjour,
J’utilise le code suivant pour prendre des positions à l’achat suivant des conditions définies, lors du backtest il s’avère que le STOPLOSS
n’est pas respecté (backtest effectué avec la méthode tick par tick sur UT de 1 minute).
Ici le code de l’indicateur TEST2
// Test2
myMoyennedeHull = CALL "Moyenne de Hull"[p1] // lente
//myMoyennedeHull2 = CALL "Moyenne de Hull"[p2] // rapide
// Liste des conditions d'achat possibles
// Clôture inférieure à MM des bandes de BB
Long2 = close < average [20](close)
// Bougie verte d'au moins 5 points entre la clôture et l'ouverture
Long3 = (close - open) > 4
// Clôture casse MM Hull lente
Long4 = close > myMoyennedeHull
// Bougie précédente verte, une belle bougie
Long5 = (close[1] - open[1]) > 4
if Long4 and Long2 and Long3 and Long5 then
conditionachat = 1
else
conditionachat = 0
endif
return conditionachat
Le code pour Backtest
// Définition des paramètres du code
DEFPARAM CumulateOrders = true // Cumul des positions
// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiés
daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
myTest2 = CALL Test2[10, 5]
IF myTest2 = 1 AND not daysForbiddenEntry THEN
BUY 1 CONTRACT AT MARKET
graph low
SET STOP pLOSS low
ENDIF
SET TARGET pPROFIT 4
J’ai tracé le niveau de stop avec GRAPH, normalement dans le cas pris en exemple dans la capture en pièce jointe, il aurait dû être touché, il ne l’est pas !
Deuxièmement: je voulais tracer le niveau de STOPLOSS sous le prix comme expliqué dans la vidéo pédagogique mais ceci n’est possible que via l’indicateur ?
Je voudrais éviter de programmer un indicateur uniquement pour graphiquer le niveau du SL sur le graphique du prix.
Or si je code ce retour dans l’indicateur j’obtiens une erreur au backtest m’indiquant que mon code attend un paramètre alors que mon indicateur en retourne 2 (dans le cas où je l’ajoute au
return de TEST2, ce qui n’est pas le cas dans code de ce post) …
Merci pour votre aide.
Mauvaise utilisation de l’instruction SET STOP. A l’instar de la taille de points à prendre pour ton takeprofit à la ligne 17, il faut faire pareil pour le stoploss ! Hors tu utilises un prix et non une taille en points ..
Pour placer le stoploss au niveau du Low de la bougie de l’entrée:
SET STOP LOSS (close-low)
ou
SET STOP PLOSS (close-low)/pointsize
Bonjour,
Grossière erreur en effet, merci pour la correction.
Concernant la deuxième partie de mon post y a-t-il une solution à ce message d’erreur ?
Merci
Tu confonds paramètres et variables retournées.
Ton indicateur national qu’un paramètre, c’est sa période.
Il faudrait enlever le “,5” dans la ligne 7.