Rejoignez-nous
ProBacktest/probacktest · proorder

PRICE

PRICE place un stop loss ou un take profit à un niveau de prix absolu dans ProBacktest et ProOrder via les commandes SET STOP PRICE et SET TARGET PRICE.

Syntaxe

probuilder
SET STOP PRICE x
probuilder
SET TARGET PRICE x

Paramètres

NomTypePar défautDescription
xexpression numériquerequisLe niveau de prix absolu auquel le stop loss ou le take profit est placé.

Comment ça marche

La plupart des membres des familles stop et target expriment la sortie comme une distance par rapport au prix moyen de la position, en points (PLOSS, PPROFIT), pourcentage (%LOSS, %PROFIT), ou en espèces ($LOSS, $PROFIT). La variante PRICE fonctionne différemment : l'argument est le prix exact auquel se place l'ordre de sortie, indépendamment du niveau d'entrée de la position. Cela convient aux stratégies construites autour de niveaux graphiques, comme des plus bas de swing, des extrêmes de la séance précédente ou des nombres ronds repérés à l'avance.

Le niveau peut être une valeur littérale ou toute expression numérique, et peut donc être recalculé bar par bar à partir de valeurs d'indicateurs. Une fois défini, le niveau reste en place jusqu'au prochain SET STOP ou SET TARGET le remplace ; un niveau absolu ne suit jamais le marché de lui-même.

La direction compte. Pour une position long, le stop se place sous le prix courant et l'objectif au-dessus ; pour un short, les côtés sont inversés. Les deux instructions partagent leur emplacement avec les autres variantes de la même famille, de sorte que la plus récente SET STOP appel définit le stop et le plus récent SET TARGET appel définit l'objectif.

Exemples

Exemple 1, Niveaux de sortie fixes autour d'une position (ProBacktest)

probuilder
// Exit at a loss if the market falls to 100
SET STOP PRICE 100

// Take profit if the market rises to 150
SET TARGET PRICE 150

Les deux niveaux encadrent une position long entre les prix absolus 100 et 150, quelle que soit l'exécution d'entrée. Il s'agit des instructions de référence de la documentation source avec des commentaires réécrits.

Exemple 2, Stop sous un swing bas (ProOrder)

probuilder
// Place the stop just below the lowest low of the last 20 bars
swingLow = lowest[20](low)

IF NOT onmarket AND close CROSSES OVER average[50](close) THEN
  BUY 1 CONTRACTS AT MARKET
  SET STOP PRICE swingLow
ENDIF

Au lieu d'une distance fixe, le stop est ancré à une structure graphique, le swing bas sur 20 barres qui existait au moment de l'entrée, un niveau ayant une signification technique plutôt qu'un nombre de points arbitraire.

Exemple 3, Objectif au plus haut de la session précédente (ProOrder)

probuilder
// Aim an intraday long at yesterday's high
IF NOT onmarket AND close CROSSES OVER average[20](close) AND close < dhigh(1) THEN
  BUY 1 CONTRACTS AT MARKET
ENDIF

IF longonmarket THEN
  SET TARGET PRICE dhigh(1)
ENDIF

L'entrée n'est prise que tant que le prix reste sous le plus haut de la veille, et le take profit se situe exactement à ce niveau, un objectif intraday courant.

Erreurs et pièges courants

  • Niveau du mauvais côté du marché. Un prix de stop au-dessus du marché sur une position long, ou un objectif en dessous, est incohérent avec la position et peut fermer le trade immédiatement ou être rejeté. Validez les niveaux calculés par rapport au prix actuel avant de les définir.
  • Inversion de direction sur les positions short. Pour les positions short, le stop se place au-dessus du marché et l'objectif en dessous. Réutiliser la logique de niveaux du côté long sans inverser la comparaison place les deux sorties du mauvais côté.
  • Les niveaux statiques ne bougent jamais. Contrairement aux variantes suiveuses, un niveau absolu reste fixe jusqu'à ce que le code émette un autre appel SET. L'ancrage à un indicateur nécessite de réexécuter l'instruction chaque fois que le niveau doit être mis à jour.
  • Écrasements d'emplacement. SET STOP PRICE remplace tout précédent PLOSS, %LOSS, $LOSS, trailing, ou breakeven stop, et SET TARGET PRICE remplace les objectifs précédents. Mélanger les appels par distance et les appels par prix ne laisse actif que le plus récent.
  • STOP, vue d'ensemble de la famille d'instructions stop.
  • TARGET, vue d'ensemble de la famille d'instructions target.
  • PLOSS, stop loss sous forme de distance en points depuis l'entrée.
  • PPROFIT, take profit sous forme de distance en points depuis l'entrée.
  • %LOSS, stop loss sous forme de distance en pourcentage.
  • %PROFIT, take profit sous forme de distance en pourcentage.
  • BREAKEVEN, déplace le stop ou l'objectif au prix d'entrée.
  • TRADEPRICE, prix d'entrée d'un ordre individuel.
  • POSITIONPRICE, prix d'entrée moyen de la position ouverte.
  • Lowest, valeur la plus basse sur une période de calcul, utile pour les stops sous un swing bas.