Bonjour à vous tous
Avec des conditions simples d’ ouverture de position je souhaite un STOP avec une perte de 20 et un objectif gain de 40.
Je me suis surement planté quelque part avec le code , car j’ ai des résultats incohérents (voir le graph le 9 octobre 2025)
à 8 h 00 Achat à 8066.40 et vente à 8095.70 soit un gain de 29.30 au lieu de 40 ?
à 14 h 00 Achat à 8104.00 et vente à 8075.70 soit une perte de 28.30 au lieu de 20 ?
à 16 h 00 Short à 8058.10 et Exitshort à 8035.70 soit un gain de 22.40 au lieu de 40 ?
Merci de m’ aider à y voir clair.
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
Ctime = time >= 080000 and time <= 200000
HULL = HullAverage[10](close)
MonATR = round (AverageTrueRange[14](close))
barhaussier = (close > open)
barbaissier = (close < open)
HULLhaussier = HULL > HULL[1]
HULLbaissier = HULL < HULL[1]
// Conditions pour ouvrir une position acheteuse
IF NOT LONGONMARKET AND Ctime AND barhaussier AND HULLhaussier THEN
BUY 1 CONTRACT AT MARKET
signallong = barindex // bougie lors de l’achat
stoplong = tradeprice – PERTE
objectiflong = tradeprice + 2 * PERTE
SELL at (stoplong) STOP
SELL at (objectiflong) LIMIT
ENDIF
// validité des ordres stop et limit 200 bougies après l’ouverture de position
IF barindex – signallong < 200 THEN
IF LONGONMARKET THEN
SELL AT (stoplong) STOP
SELL AT (objectiflong) LIMIT
ENDIF
ENDIF
//Conditions pour ouvrir une position en vente à découvert
IF NOT SHORTONMARKET AND Ctime AND barbaissier AND HULLbaissier THEN
SELLSHORT 1 CONTRACT AT MARKET
signalshort = barindex // bougie lors de la vente short
stopshort = tradeprice + PERTE
objectifshort = tradeprice – 2 * PERTE
EXITSHORT at (stopshort) STOP
EXITSHORT at (objectifshort) LIMIT
ENDIF
IF barindex – signalshort < 200 THEN
IF SHORTONMARKET THEN
EXITSHORT AT (stopshort) STOP
EXITSHORT AT (objectifshort) LIMIT
ENDIF
ENDIF