Rejoignez-nous
ProBacktest/probacktest · proorder

CASH

CASH est une unité de quantité de ProBacktest et ProOrder qui dimensionne un ordre par montant monétaire, comme dans BUY 1000 CASH, au lieu d'un nombre fixe d'actions ou de contrats.

Syntaxe

probuilder
BUY x CASH

Paramètres

NomTypePar défautDescription
xnumériqueaucunMontant de capital à allouer à l'ordre, dans la devise du compte. La plateforme le convertit en quantité au prix actuel.

Comment ça marche

CASH remplace un nombre d'unités dans une instruction d'ordre. Là où BUY 5 CONTRACTS AT MARKET fixe la quantité, BUY 1000 CASH AT MARKET fixe le capital et laisse la plateforme déduire la quantité en divisant le montant en espèces par le prix de l'instrument. L'exposition obtenue reste proche du montant demandé, que l'instrument se traite à 8 ou à 800.

Comme un montant en espèces se divise rarement en un nombre entier d'unités, la quantité calculée est arrondie. Le sens de l'arrondi peut être forcé avec ROUNDEDDOWN ou ROUNDEDUP immédiatement après le CASH mot-clé, par exemple BUY 1000 CASH ROUNDEDDOWN AT MARKET ne dépense jamais plus que le montant indiqué.

Le montant peut être une valeur littérale ou toute expression numérique, ce qui fait de CASH l'unité naturelle pour un position size proportionnel à l'equity : recalculez l'allocation à partir du capital de départ plus STRATEGYPROFIT et chaque trade s'ajuste automatiquement au compte. CASH est interchangeable avec les autres unités de quantité, CONTRACT, SHARES et LOT, dans la même syntaxe d'ordre.

Exemples

Exemple 1, Allocation de capital fixe par trade (ProBacktest)

probuilder
long = close crosses over Average[50](close)
IF NOT LongOnMarket AND long THEN
    // Allocate 1000 of account currency, whatever the share price is
    BUY 1000 CASH AT MARKET
ENDIF
SET STOP %LOSS 3

Chaque entrée engage les mêmes 1000 unités de capital. Sur une action cotée 50, cela fait environ 20 actions, sur une action cotée 250 environ 4 actions, ce qui maintient l'exposition constante d'un instrument à l'autre.

Exemple 2, Dimensionnement proportionnel à l'equity avec contrôle de l'arrondi (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

// Reinvest gains: allocation grows and shrinks with realized performance
startCapital = 10000
allocation = (startCapital + STRATEGYPROFIT) * 0.2

IF NOT OnMarket AND RSI[14](close) < 30 THEN
    // Round down so the order never exceeds the allocation
    BUY allocation CASH ROUNDEDDOWN AT MARKET
ENDIF
SET STOP %LOSS 2

La taille de l'ordre est de 20 pour cent de l'equity actuelle. ROUNDEDDOWN garantit que la quantité calculée reste dans le budget.

Exemple 3, Entrée short dimensionnée en cash (ProOrder)

probuilder
bearish = close crosses under Average[100](close)
IF NOT ShortOnMarket AND bearish THEN
    // Commit 500 of capital to the short side
    SELLSHORT 500 CASH AT MARKET
ENDIF
SET STOP %TRAILING 2

CASH fonctionne aussi avec les entrées short ; la plateforme vend à découvert autant d'unités que 500 unités de devise permettent d'en couvrir au prix actuel.

Erreurs et pièges courants

  • Surprises d'arrondi de quantité. Le montant en espèces est converti en un nombre entier d'unités, donc l'exposition réelle diffère légèrement du x. Sur les instruments à prix élevé, l'écart peut être important ; BUY 1000 CASH sur une action cotée 800 achète une seule action. Utilisez ROUNDEDDOWN ou ROUNDEDUP pour contrôler le sens.
  • Montant inférieur à une unité. Si x est inférieur au prix d'une unité et que l'arrondi se fait vers le bas, la quantité calculée peut être nulle et aucun ordre n'est passé. Protégez l'allocation par un minimum avant la ligne d'ordre.
  • Ce n'est pas une instruction de stop loss. CASH dimensionne les entrées ; il ne plafonne pas les pertes. Limiter l'argent perdu sur un trade est le rôle de SET STOP $LOSS.
  • Les sorties n'ont généralement pas besoin de quantité. SELL AT MARKET clôture la totalité de la position. Réindiquer un montant en cash à la sortie ne clôture que la quantité calculée, ce qui peut laisser une position résiduelle si le prix a bougé depuis l'entrée.
  • CONTRACT, quantité de l'ordre exprimée en nombre de contrats.
  • LOT, quantité de l'ordre en lots.
  • SHARES, quantité de l'ordre en nombre d'actions.
  • BUY, ouvre une position long ou la renforce.
  • SELLSHORT, ouvre une position short ou la renforce.
  • ROUNDEDDOWN, arrondit à l'inférieur une quantité dérivée du cash.
  • ROUNDEDUP, arrondit au supérieur une quantité dérivée du cash.
  • MARKET, exécution immédiate au prix courant.
  • STRATEGYPROFIT, profit réalisé de la stratégie, utile pour un dimensionnement basé sur l'equity.