CONTRACT
CONTRACT est une unité de quantité ProBacktest et ProOrder qui définit la taille de l'ordre en contrats, comme dans BUY 5 CONTRACTS AT MARKET, interchangeable avec SHARES ou LOT.
Syntaxe
x CONTRACTUtilisé à l'intérieur d'une instruction d'ordre :
BUY 5 CONTRACTS AT MARKETParamètres
| Nom | Type | Par défaut | Description |
|---|---|---|---|
x | numérique | 1 à l'entrée, position complète à la sortie | Nombre de contrats pour l'ordre. Accepte des littéraux ou des expressions numériques. |
Comment ça marche
CONTRACT déclare combien de contrats un ordre négocie. Il ne porte aucune direction propre : BUY 5 CONTRACTS AT MARKET ouvre ou renforce une position long, SELLSHORT 5 CONTRACTS AT MARKET ouvre ou renforce un short, et SELL 2 CONTRACTS AT MARKET réduit un long de deux contrats.
Le mot-clé est l'un de plusieurs mots d'unité interchangeables. SHARE, CONTRACTS, PERPOINT, LOT et LOTS sont acceptés à la même position sur tout type d'instrument, et l'orthographe au singulier ou au pluriel ne change rien au fonctionnement. Sur le Forex, la quantité indiquée est multipliée par la taille d'un lot.
Lorsqu'aucune quantité n'est donnée, les valeurs par défaut s'appliquent. Un ordre d'entrée comme BUY AT MARKET négocie une unité. Un ordre de sortie tel que SELL AT MARKET ou EXITSHORT AT MARKET clôture toute la position ouverte, quelle que soit sa taille.
La quantité peut être une variable, c'est ainsi que les règles de position size, par exemple un nombre de contrats dérivé de la volatilité ou de l'equity du compte, sont intégrées au flux d'ordres.
Exemples
Exemple 1, Entrée fixe de cinq contrats (ProBacktest)
long = close crosses over Average[50](close)
IF NOT LongOnMarket AND long THEN
// Order size fixed at five contracts
BUY 5 CONTRACTS AT MARKET
ENDIF
SET STOP PLOSS 40Le croisement des moyennes mobiles déclenche une entrée long d'exactement cinq contrats, la taille donnée par l'unité CONTRACT.
Exemple 2, Nombre de contrats ajusté à la volatilité (ProOrder)
DEFPARAM CumulateOrders = false
// Fewer contracts when the market is volatile
atr = AverageTrueRange[14](close)
n = MAX(1, ROUND(200 / atr))
IF NOT OnMarket AND RSI[14](close) crosses over 50 THEN
BUY n CONTRACT AT MARKET
ENDIF
SET STOP %LOSS 2Le nombre de contrats est une variable recalculée à chaque bar : un marché calme autorise davantage de contrats, un marché volatil moins, avec un plancher de un.
Exemple 3, Sortie partielle en contrats (ProOrder)
DEFPARAM CumulateOrders = false
IF NOT OnMarket AND close crosses over Highest[20](high)[1] THEN
BUY 4 CONTRACTS AT MARKET
ENDIF
// Bank half the position after a favorable move, keep the rest running
IF LongOnMarket AND close >= TRADEPRICE * 1.02 THEN
SELL 2 CONTRACTS AT MARKET
ENDIF
SET STOP %TRAILING 1.5Indiquer une quantité sur l'ordre de sortie ne ferme que ce nombre de contrats, ici deux sur quatre, tandis que le reste demeure ouvert sous le trailing stop.
Erreurs et pièges courants
- CONTRACT définit la taille, pas la direction. Le mot-clé n'ouvre et ne clôture jamais rien par lui-même. L'instruction qui l'entoure,
BUY,SELL,SELLSHORTouEXITSHORT, décide du sens du trade. - Multiplication des lots sur le Forex. Sur les instruments Forex, la quantité est multipliée par la taille du lot, donc
BUY 1 CONTRACTtrade un lot entier, non une unité de devise. Vérifiez la définition du lot de l'instrument avant de dimensionner. - Les quantités non précisées reviennent aux valeurs par défaut.
BUY AT MARKETtrade discrètement une unité etSELL AT MARKETclôture toute la position. Un nombre manquant n'est pas une erreur, une faute de frappe qui supprime la quantité change donc la position size sans avertissement. - Les nombres fractionnaires sont arrondis. Une expression calculée telle que
capital / pricedonne rarement un entier. Encadrez les formules de calcul de taille dansROUND, ou ajoutez un plancher explicite, pour que la quantité demandée reste intentionnelle.
Instructions liées
CASH, quantité de l'ordre exprimée en montant monétaire.LOT, quantité de l'ordre en lots.SHARES, quantité de l'ordre en nombre d'actions.BUY, ouvre une position long ou la renforce.SELL, ferme ou réduit une position long.SELLSHORT, ouvre une position short ou la renforce.EXITSHORT, ferme ou réduit une position short.MARKET, exécution immédiate au prix courant.COUNTOFPOSITION, taille de la position ouverte en unités.