Bonjour, j’ai un indicateur avec des bandes sup et inf, j’essaie de mettre en place la prise de position par le robot comme si je ferais devant l’écran. En faite, mon souci par exemple, je vends quand le prix rentre dans la bande sup et achète quand le prix rentre dans ma bande inf : ça il n’y a pas de souci idem pour mettre un SL et un TP.
Mon souci par exemple, lorsque je perds et que le cours a fait le breakout puis ressort de la bande puis re rentre et du coup le robot reprend une position d’achat alors que j’aimerais pour que le robot re rentre en position il faut que le prix aille dans la bande inverse. Pour résumer je souhaite qu’il y ait alternance vente achat etc il ne faut pas deux fois de suite vente ou achat. puis je ne sais pas non plus comment configurer encore afin de mettre un gain journalier pour que mon robot arrete de trader et redémarre le lendemain.
Cordialement.
Bonjour,
Voici un exemple de code simplifié qui permet d’alterner entre positions d’achat et de vente. Il applique un Stop Loss et un Target Profit de 4 %. Cet exemple est basique pour vous montrer comment gérer l’alternance des positions. Vous devrez remplacer les conditions de vente et d’achat par vos propres critères.
DEFPARAM CumulateOrders = False // Ne pas accumuler d'ordres
once varLastTrade = 0 // 0: Pas de trade, 1: Dernier trade était un achat, -1: Dernier trade était une vente
// Bandes supérieure et inférieure
upperBand = highest[20](close)
lowerBand = lowest[20](close)
// Vente sur la bande supérieure
IF not onmarket and (high crosses over upperBand[1]) AND (varLastTrade >= 0) THEN
SELLSHORT 1 CONTRACT AT MARKET
varLastTrade = -1 // Enregistrer la vente
SET STOP %LOSS 4
SET TARGET %PROFIT 4
ENDIF
// Achat sur la bande inférieure
IF not onmarket and (low crosses under lowerBand[1]) AND (varLastTrade <= 0) THEN
BUY 1 CONTRACT AT MARKET
varLastTrade = 1 // Enregistrer l'achat
SET STOP %LOSS 4
SET TARGET %PROFIT 4
ENDIF
graphonprice upperBand coloured("red")
graphonprice lowerBand coloured("blue")
Cet exemple montre comment alterner entre des trades de vente et d’achat. Vous pouvez ajuster les conditions selon vos besoins.
Voici un exemple de code qui permet de limiter les opérations journalières lorsque le profit atteint un certain seuil. Dans cet exemple, le robot arrêtera d’ouvrir de nouvelles positions si le profit journalier dépasse 100 unités :
//----- Limitation des opérations journalières
IF IntradayBarIndex = 0 THEN
stratprofit = strategyprofit // Enregistrer le résultat de la stratégie au début de la journée
ENDIF
// Ouvrir une position seulement si le profit journalier n'a pas dépassé la limite (exemple : 100 unités)
IF not onmarket AND conditions AND (strategyprofit - stratprofit) < 100 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
Ce code assure que de nouvelles positions ne sont prises que si le profit journalier n’a pas atteint la limite.