Hello et bonne année !
Le code que j’utilise pour un trailing stop voir ci-dessous.
Il s’exécute bien une fois mais après il provoque l’arrêt de l’algo avec le message suivant : “votre système de trading a été arrêté car il a tenté de placer un ordre stop en dessous de la distance minimale requise par votre courtier”.
Je ne comprends pas parce qu’il me semble qu’il y a bien une remise à zéro ?
Merci pour votre aide.
//trailing stop function
trailingstart = 30//trailing will start @trailinstart points profit
trailingstep = 25 //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//stop order to exit the positions
IF newSL>0 THEN
SELL AT newSL STOP
ENDIF
Hello et bonne année !
Le problème que tu rencontres avec ton code de trailing stop semble être lié à la gestion des conditions de modification du stop loss. Le message d’erreur indique que ton ordre stop est placé trop près du prix actuel, en dessous de la distance minimale requise par ton courtier.
Pour résoudre ce problème, tu pourrais :
- Vérifier la Distance Minimale Requise: Assure-toi de connaître la distance minimale requise par ton courtier pour placer un ordre stop. Adapte ensuite ton
trailingstart et trailingstep en conséquence.
- Condition de Mise à Jour du Stop Loss: Ton code devrait s’assurer que le nouveau stop loss (
newSL) n’est mis à jour que s’il est supérieur au stop loss précédent dans le cas d’une position longue. Cela évitera de placer un stop loss trop proche du prix actuel.
- Calcul du
newSL: Vérifie que le calcul de newSL se fait correctement. Il doit toujours respecter la distance minimale par rapport au prix actuel.
Si ces ajustements ne résolvent pas le problème, il peut être utile de consulter directement ton courtier ou de regarder sur leur site quelle est la distance minimal autorisée pour un ordre stop.