Exit
Sur cette page
[[exit]] gère les sorties d’une position ouverte en créant des ordres basés sur le prix. Il peut placer un take profit, un stop loss et un stop suiveur. Ces ordres restent en attente tant qu’ils ne sont pas exécutés ou annulés.
Pour la logique globale de sizing et la différence entre quantité absolue, pourcentage d’equité et pourcentage de position, reportez-vous à la page Dimensionnement, marge et levier. Cette page décrit seulement la sémantique propre au bloc [[exit]].
Lorsque le bloc est évalué à nouveau avec le même order_id, Whale‑E met à jour les ordres existants. Si un paramètre n’est plus défini, l’ordre correspondant est annulé.
Si aucun niveau de sortie n’est défini (profit, limit, loss, stop, trail_price, trail_points), le bloc n’ajoute aucun ordre et annule les ordres de sortie existants associés à order_id.
Par défaut, après la création, la mise à jour ou l’annulation des ordres, le bloc se valide sur la bougie courante et passe immédiatement au bloc suivant. La clé wait_candles ne fait que retarder cette transition, elle ne modifie pas l’exécution des ordres.
Déclaration du bloc
Une stratégie peut contenir plusieurs blocs [[exit]]. Le champ order_id identifie les ordres de sortie gérés par le bloc.
Exemples
Take profit et stop loss
Cet exemple place un take profit et un stop loss en utilisant des distances en ticks depuis le prix d’entrée.
[[exit]]
id = "exit_main"
order_id = "exit_main"
profit = 120
loss = 80Sortie partielle
Cet exemple clôture 25 % de la position courante lorsque l’objectif de profit est atteint.
[[exit]]
id = "take_partial"
order_id = "take_partial"
qty_percent = 25
profit = 100Stop suiveur
Cet exemple crée un stop suiveur avec une distance d’activation et une distance de suivi exprimées en ticks.
[[exit]]
id = "trail"
order_id = "trail"
trail_points = 200
trail_offset = 100Ciblage d’une entrée précise
Cet exemple applique le stop loss uniquement à l’entrée dont order_id vaut add.
[[exit]]
id = "exit_add"
order_id = "exit_add"
from_entry = "add"
loss = 60Exit armé avant le fill d’une entrée pending
Cet exemple arme un bracket sur la même bougie qu’une entrée limit déjà soumise. Si l’entrée main est exécutée plus tard, Whale-E crée alors les ordres de sortie avec les niveaux évalués au moment du bloc arm_exit.
[[entry]]
id = "place_limit_entry"
order_id = "main"
direction = "long"
limit = "close * 0.995"
wait_candles = 0
next_block_id = "arm_exit"
[[exit]]
id = "arm_exit"
order_id = "main_exit"
from_entry = "main"
profit = 250
loss = 150
wait_candles = 0
next_block_id = "next_step"Annulation des ordres de sortie
Cet exemple annule les ordres de sortie existants pour exit_main en omettant tous les niveaux de sortie.
[[exit]]
id = "cancel_exit"
order_id = "exit_main"Sans délai
Cet exemple conserve les mêmes niveaux de sortie mais enchaîne immédiatement vers le bloc suivant.
[[exit]]
id = "instant_exit"
order_id = "instant_exit"
profit = 50
loss = 50
wait_candles = 0Paramètres du bloc
| Paramètre | Description |
|---|---|
idTexte Obligatoire | Identifiant unique du bloc. |
next_block_idTexte Obligatoire | Identifiant du bloc à exécuter ensuite. |
order_idTexte Obligatoire | Identifiant des ordres de sortie gérés par le bloc. Une nouvelle évaluation du bloc avec le même order_id met à jour les ordres existants. |
from_entryTexte Optionnel | Si ce champ est défini, le bloc ne s’applique qu’aux entrées ouvertes par un bloc [[entry]] dont la valeur order_id correspond. Il ne permet pas de viser un bloc [[order]].Whale-E peut aussi armer cet exit avant le fill réel d’une entrée pending déjà soumise. Dans ce cas, les paramètres de sortie sont évalués au moment de l’appel du bloc [[exit]], puis les ordres de sortie sont matérialisés quand l’entrée ciblée est effectivement exécutée.Une nouvelle évaluation du même order_id remplace l’intention différée existante.Si ce champ est vide, le bloc s’applique à toutes les jambes ouvertes et reste actif pour les nouvelles jambes ouvertes plus tard sur le même côté tant que la position reste ouverte. |
qtyDécimal ou Texte Optionnel | Quantité absolue à réserver pour les ordres de sortie. Ce paramètre représente un nombre fixe de contrats, d’actions ou d’unités à clôturer. La quantité est arrondie à l’inférieur selon la taille minimale de contrat. |
qty_percentDécimal ou Texte Optionnel | Pourcentage de la position à clôturer. Ce paramètre calcule le volume de sortie dynamiquement par rapport à la taille actuelle de la position. Dans [[exit]], qty_percent signifie toujours pourcentage de position, jamais pourcentage d’equité. Valeur par défaut : 100. |
profitDécimal ou Texte Optionnel | Distance du take profit, exprimée en ticks par rapport au prix d’entrée. |
limitDécimal ou Texte Optionnel | Prix limite du take profit. Si profit et limit sont tous deux définis, Whale‑E retient le niveau le plus proche du prix d’entrée. |
lossDécimal ou Texte Optionnel | Distance du stop loss, exprimée en ticks par rapport au prix d’entrée. |
stopDécimal ou Texte Optionnel | Prix stop du stop loss. Si loss et stop sont tous deux définis, Whale‑E retient le niveau le plus proche du prix d’entrée. |
trail_priceDécimal ou Texte Optionnel | Niveau d’activation du stop suiveur, exprimé en prix. |
trail_pointsDécimal ou Texte Optionnel | Distance d’activation du stop suiveur, exprimée en ticks par rapport au prix d’entrée. |
trail_offsetDécimal ou Texte Optionnel | Distance de suivi du stop suiveur, exprimée en ticks. Whale‑E ne crée un stop suiveur que si un niveau d’activation (trail_price ou trail_points) et trail_offset sont définis. |
oca_nameTexte Optionnel | Nom du groupe OCA (One Cancels All) pour les ordres de sortie créés par le bloc. Lorsqu’un ordre du groupe est exécuté, Whale‑E réduit la quantité des autres ordres du groupe en conséquence. Si ce champ est vide, Whale‑E utilise un groupe interne isolé. |
commentTexte Optionnel | Renseigne la colonne Signal dans la liste des trades si la valeur est fournie ; sinon order_id est utilisé. Aussi exporté comme comment Pine Script. Aucun impact sur les calculs de backtest. |
comment_profitTexte Optionnel | Ce paramètre n’a aucun effet sur le backtest. Il sert uniquement à définir le paramètre Pine Script comment_profit. Il ne modifie pas la colonne Signal. |
comment_lossTexte Optionnel | Ce paramètre n’a aucun effet sur le backtest. Il sert uniquement à définir le paramètre Pine Script comment_loss. Il ne modifie pas la colonne Signal. |
comment_trailingTexte Optionnel | Ce paramètre n’a aucun effet sur le backtest. Il sert uniquement à définir le paramètre Pine Script comment_trailing. Il ne modifie pas la colonne Signal. |
alert_messageTexte Optionnel | Ce paramètre n’a aucun effet sur le backtest. Il sert uniquement à définir le paramètre Pine Script alert_message. |
alert_profitTexte Optionnel | Ce paramètre n’a aucun effet sur le backtest. Il sert uniquement à définir le paramètre Pine Script alert_profit. |
alert_lossTexte Optionnel | Ce paramètre n’a aucun effet sur le backtest. Il sert uniquement à définir le paramètre Pine Script alert_loss. |
alert_trailingTexte Optionnel | Ce paramètre n’a aucun effet sur le backtest. Il sert uniquement à définir le paramètre Pine Script alert_trailing. |
disable_alertBooléen Optionnel | Ce paramètre n’a aucun effet sur le backtest. Il sert uniquement à définir le paramètre Pine Script disable_alert. Valeur par défaut : false. |
wait_candlesEntier Optionnel | Nombre de bougies a attendre avant de valider le bloc et passer au suivant. Utilisez 0 pour desactiver le delai. Ce delai ne change pas l’execution des ordres.Valeur par defaut : 0 |