EXITSHORT
EXITSHORT clôture une position short ouverte dans ProBacktest et ProOrder, soit au marché, soit sous forme d'ordre en attente. Syntaxe, exemples détaillés et pièges courants.
Syntaxe
EXITSHORT AT MARKETEXITSHORT x SHARES AT MARKETLes variantes en attente placent la sortie à un prix choisi au lieu de l'exécuter immédiatement :
EXITSHORT AT price LIMIT
EXITSHORT AT price STOPx est le nombre d'actions, de lots ou de contrats à racheter. Omettre la quantité clôture toute la position short.
Comment ça marche
Une position short est ouverte avec SELLSHORT et clôturée en rachetant l'instrument. EXITSHORT effectue ce rachat sans jamais ouvrir de long : si aucune position short n'est ouverte, l'instruction n'a rien à clôturer et aucun ordre n'est envoyé. C'est donc plus sûr que d'utiliser BUY pour les sorties, ce qui ouvrirait une nouvelle position long une fois le short clôturé.
La forme au marché s'exécute au prochain prix disponible. Les formes en attente restent chez le broker jusqu'à ce que le prix atteigne le niveau spécifié, LIMIT pour des sorties à un prix favorable en dessous du prix actuel, STOP pour les sorties de protection au-dessus. Une quantité transforme l'instruction en rachat partiel, qui réduit la position en laissant le reste ouvert, ce qui est la méthode standard pour sortir progressivement d'un short pyramidé.
Dans ProBacktest, l'instruction est exécutée par le moteur de simulation selon la même logique de prix que les autres ordres. En ProOrder en direct, la sortie est transmise au broker comme n'importe quel autre ordre.
Exemples
Exemple 1, Entrée et sortie short pilotées par le MACD (ProBacktest)
myMACD = MACD[12,26,9](close)
// Short when the MACD line falls through zero,
// cover when it climbs back above zero
short = myMACD crosses under 0
exit = myMACD crosses over 0
IF NOT SHORTONMARKET AND short THEN
SELLSHORT 1 LOT AT MARKET
ENDIF
IF SHORTONMARKET AND exit THEN
EXITSHORT AT MARKET
ENDIFL'aller-retour canonique issu de la référence officielle. Le SHORTONMARKET garantissent que les entrées et les sorties ne se déclenchent que dans le bon état de position.
Exemple 2, Sortie progressive d'un short pyramidé (ProOrder)
DEFPARAM CumulateOrders = true
// Cover 2 lots once the short is 25 points in profit,
// keep the rest running with a trailing stop
IF SHORTONMARKET AND TRADEPRICE - close >= 25 * pointsize AND COUNTOFSHORTSHARES > 2 THEN
EXITSHORT 2 SHARES AT MARKET
ENDIF
SET STOP TRAILING 40La forme avec quantité couvre une partie du short, ce qui encaisse du profit tandis que les lots restants demeurent exposés à une baisse supplémentaire.
Exemple 3, Sortie en attente à cours limité sur un objectif de gain (ProOrder)
// Rest a buy-back order 30 points below the entry price
IF SHORTONMARKET THEN
EXITSHORT AT TRADEPRICE - 30 * pointsize LIMIT
ENDIFAu lieu d'attendre que le code de la stratégie réagisse, l'ordre de sortie reste chez le broker et s'exécute dès que le prix descend jusqu'au niveau cible.
Erreurs et pièges courants
- Pas de position, pas d'ordre.
EXITSHORTne fait rien lorsque la stratégie n'est pas short. Une logique qui compte sur un déclenchement inconditionnel, par exemple pour tout clôturer en fin de séance, doit vérifierSHORTONMARKETd'abord ou utilisezDEFPARAM FLATAFTER. - Utiliser BUY pour clôturer un short.
BUYréduit une position short puis continue d'acheter jusqu'à une position long. Lorsque l'intention est seulement de couvrir,EXITSHORTest l'instruction correcte car elle ne peut jamais inverser la position. - Sortie partielle supérieure à la position. Demander plus d'actions que celles détenues clôture simplement toute la position. Dimensionnez les sorties partielles à partir de
COUNTOFSHORTSHARESpour que le calcul reste juste. - Les sorties en attente sont réévaluées à chaque bar. Un ordre en attente
EXITSHORT ... LIMITplacé dans une condition est rafraîchi à chaque bar où la condition est vraie et annulé dès qu'elle cesse de l'être. Maintenez la condition vraie aussi longtemps que l'ordre doit rester actif.
Instructions liées
SELLSHORT, ouvre une position short ou la renforce.SELL, clôture tout ou partie d'une position long.BUY, ouvre une position long ou la renforce.MARKET, exécute un ordre au prix de marché courant.LIMIT, ordre en attente exécuté à un prix indiqué ou meilleur.STOP (pending), ordre en attente déclenché lorsque le prix atteint un niveau.SHORTONMARKET, vrai tant qu'une position short est ouverte.ONMARKET, vrai tant qu'une position est ouverte.