Bonjour,
Je rencontre un problème particulier avec les sorties de positions.
A la lecture des mes relevés je constate que des stops garantis sont facturés alors que mon système sort de la position avant de taper le STOPLOSS.
Dans tous les Backtests effectués je ne tape pas les STOPLOSS.
En réel, après avoir analysé minutieusement les graphiques, je constate que les prix n’ont pas été
cherché mon STOPLOSS également.
A la relecture de mon code (la partie ci-dessous a été empruntée sur un partage de ce forum [que je remercie au passage 😉 ]) je me demande si les
ordres STOP ne sont pas exécutés comme des STOPLOSS (et du coup ils seraient facturés)
SELL AT newSL STOP
EXITSHORT AT newSL STOP
Si vous avez une idée !!
Merci
Voici la partie du code qui gère ma sortie de position
IF TSL = 1 THEN
//reset the stoploss value
IF NOT ONMARKET THEN
newSL = 0
CAND = 0
ENDIF
//manage long positions
IF LONGONMARKET THEN
//first move (breakeven)
IF newSL = 0 AND CLOSE - TRADEPRICE(1) >= TrailingDistance*PipSize THEN
newSL = TRADEPRICE(1) + TrailingStep*PipSize
ENDIF
//next moves
CAND = BarIndex - TradeIndex
CAND = max(1,BarIndex - TradeIndex)
IF newSL > 0 AND CLOSE[1] >= HIGHEST[CAND](CLOSE) THEN
newSL = CLOSE[1] - TrailingDistance*PipSize
ENDIF
ENDIF
//stop order to exit the positions
IF newSL > 0 THEN
SELL AT newSL STOP
EXITSHORT AT newSL STOP
ENDIF
ENDIF
SET STOP pLOSS SL // Protection
J’ai lu cet avertissement lors du lancement de mon code en réel:
Vous avez actuellement un compte de trading à risque limité.
En conséquence, vos stops seront automatiquement transformés en stops garantis. Veuillez vérifier si les Restrictions inhérentes à ce type de compte sont compatible avec le code de votre stratégie.
Serait-ce la réponse à ma question précédente ?
Il semblerait que oui, du coup comment devrais-je modifier mon code pour implémenter un ordre “stop” afin d’éviter les surcoûts ?
Il faudrait que je travaille en TIMEFRAME 1 seconde afin de gérer au plus prêt mes trailingstop et effectuer des sorties via un ordre sell at market par exemple ?
Il ne serait pourtant pas compliqué d’autoriser des ordres stops non garantis couverts par un STOPLOSS garanti obligatoire pour protéger l’ensemble ?
Merci pour aide !
En supprimant le SET STOP PLOSS du code, est-ce que le trailing stop avec les ordres conditionnels sont toujours en stops garantis ou non ?
Oui, exactement.
Les ordres STOP deviennent des STOPS garantis même en l’absence de la commande SET STOP PLOSS et ceci parce que utilisé sur un compte CFD à risque limité
Oui, exactement.
Les ordres STOP deviennent des STOPS garantis même en l’absence de la commande SET STOP PLOSS et ceci parce que utilisé sur un compte CFD à risque limité
J’ai fait cette modif(pour sortie LONG) qui en BT semble donner les mêmes résultats, me reste plus qu’à coder un STOPLOSS qui vende avant le STOPLOSS obligatoire pour éviter les frais de ce côté ci également:
IF newSL>0 THEN
IF LONGONMARKET THEN
if close<= newSL then
SELL at MARKET
endif
EndIf
ENDIF
Les ordres STOP deviennent des STOPS garantis même en l’absence de la commande SET STOP PLOSS et ceci parce que utilisé sur un compte CFD à risque limité
Ok, logique. Un STOP LOSS d’une position acheteuse étant une revente de celle-ci, donc identique à ton ordre conditionnel SELL STOP.