SELL
SELL dans ProBacktest et ProOrder clôture une position long ouverte. SELL sort des longs tandis que SELLSHORT ouvre des shorts. Syntaxe, types d'ordres et exemples expliqués.
Syntaxe
SELL AT MARKETSELL x CONTRACT AT MARKETSELL AT price STOPComment ça marche
SELL est l'instruction de sortie côté long. Écrite sans quantité, SELL AT MARKET clôture la totalité de la position long ouverte au prochain prix disponible. Avec une quantité, telle que SELL 1 CONTRACT AT MARKET, elle ne clôture qu'une partie d'une position plus grande, ce qui est la façon d'exprimer une sortie progressive.
Les formes en attente sont également disponibles : SELL AT price LIMIT sort à un niveau indiqué ou meilleur au-dessus du marché, un ordre de prise de bénéfice, et SELL AT price STOP sort dès que le prix casse un niveau à la baisse, un ordre stop manuel. Comme pour tous les ordres en attente dans ProBacktest et ProOrder, un ordre non exécuté est annulé après un bar et doit être resoumis tant que la règle de sortie reste valable.
La distinction avec SELLSHORT est importante. SELL ne fait jamais que réduire ou clôturer une position long ; lorsque la stratégie est hors position ou short, un ordre SELL n'a aucun effet. SELLSHORT ouvre une nouvelle position short, et EXITSHORT la clôture. Les quatre instructions d'ordre vont par paires, BUY avec SELL pour le côté long, et SELLSHORT avec EXITSHORT pour le côté short.
Exemples
Exemple 1, Sortie d'une position long sur règle (ProBacktest)
// Close the long at market when the exit conditions are met
IF LongOnMarket AND ExitConditions THEN
SELL AT MARKET
ENDIFLa position est clôturée au prix de marché courant dès que la règle de sortie se déclenche alors qu'un trade long est ouvert. Il s'agit de l'exemple de la référence officielle.
Exemple 2, Sortie de la moitié de la position après un gain (ProOrder)
DEFPARAM CumulateOrders = false
// Enter with two contracts when flat
IF NOT onmarket AND close CROSSES OVER Average[50](close) THEN
BUY 2 CONTRACT AT MARKET
ENDIF
// Take half off after a 2 percent gain from entry
IF longonmarket AND close >= tradeprice * 1.02 AND countofposition = 2 THEN
SELL 1 CONTRACT AT MARKET
ENDIF
// Close the remainder when the trend turns
IF longonmarket AND close CROSSES UNDER Average[50](close) THEN
SELL AT MARKET
ENDIFUn SELL avec quantité spécifiée clôture une partie de la position, tandis que le SELL final sans quantité solde tout ce qui reste.
Exemple 3, Sortie sur ordre stop en attente sous l'entrée (ProOrder)
// Maintain a resting exit 50 points below the entry price
IF longonmarket THEN
SELL AT tradeprice - 50 * pointsize STOP
ENDIFL'ordre stop en attente est retransmis à chaque bar tant que le long est ouvert, ce qui maintient une sortie ferme 50 points sous le prix d'exécution.
Erreurs et pièges courants
- SELL n'est pas SELLSHORT. SELL clôture les longs ; SELLSHORT ouvre les shorts. Une stratégie censée se mettre short qui émet SELL alors qu'elle est hors position ne fait rien, et l'erreur est silencieuse car l'ordre est simplement ignoré.
- Aucun long à clôturer. Lorsque la stratégie est hors marché ou short, SELL n'a aucun effet. Protégez les blocs de sortie avec
IF LongOnMarket THENpour que l'intention du code reste explicite. - Les sorties en attente expirent après une bar. Un ordre dormant
SELL ... STOPouSELL ... LIMITordre est annulé s'il n'est pas exécuté après la bar suivante. Soumettez-le à nouveau sur chaque bar tant que la position est ouverte, comme dans l'exemple 3. - Incohérence de quantité partielle. Un SELL avec une quantité supérieure à la position ouverte se contente de clôturer la position ; il ne la retourne pas en short. Vérifiez la taille avec COUNTOFPOSITION avant de sortir par paliers des quantités fixes.
Instructions liées
BUY, ouvre une position long.SELLSHORT, ouvre une position short.EXITSHORT, clôture une position short.MARKET, exécution immédiate au prix courant.LIMIT, ordre en attente à un prix indiqué ou meilleur.STOP, ordre en attente déclenché lorsque le prix franchit un niveau.LONGONMARKET, vrai tant qu'une position long est ouverte.ONMARKET, vrai tant qu'une position est ouverte.TRADEPRICE, le prix d'exécution d'un trade passé.