SHARES
SHARES dans ProBacktest et ProOrder dimensionne un ordre en nombre d'actions pour les stratégies sur actions et CFD. Couvre la syntaxe, le choix de l'unité et des exemples détaillés.
Syntaxe
[BUY|SELLSHORT] quantity SHARES [AT MARKET|AT price LIMIT|AT price STOP]Comment ça marche
SHARES nomme l'unité dans laquelle la quantité de l'ordre est comptée. BUY 100 SHARES AT MARKET achète 100 actions au prochain prix disponible. Le mot-clé suit le nombre et précède le type d'ordre, qu'il s'agisse de AT MARKET, un AT price LIMIT, ou un AT price STOP.
L'unité de dimensionnement doit correspondre à l'instrument. SHARES convient aux actions et aux CFD sur actions, CONTRACT convient aux futures et aux CFD, et LOT convient au forex. Choisir la mauvaise unité dimensionne la position de façon incorrecte pour ce marché. Le fait que des ordres répétés s'additionnent en une position plus grande est régi par CumulateOrders, exactement comme avec toute autre unité de dimensionnement.
Exemples
Exemple 1, Entrée short dimensionnée en actions (ProBacktest)
// Sell short one share when MACD crosses below zero and no short is open
myMACD = MACD[12,26,9](close)
shortCondition = myMACD CROSSES UNDER 0
IF NOT ShortOnMarket AND shortCondition THEN
SELLSHORT 1 SHARES AT MARKET
ENDIFC'est le modèle de la référence officielle. L'ordre vend une action au marché lorsque l'histogramme MACD croise sous zéro et qu'aucune position short n'est déjà ouverte.
Exemple 2, Entrée long avec un nombre d'actions fixe (ProOrder)
DEFPARAM CumulateOrders = false
// Buy 100 shares on a break above the 20-bar high
IF NOT LongOnMarket AND close CROSSES OVER Highest[20](high) THEN
BUY 100 SHARES AT MARKET
ENDIFLa position est de 100 actions fixes à chaque déclenchement de l'entrée, la protection de position empêchant une seconde entrée lorsque l'on est déjà long.
Exemple 3, Ordre stop en attente dimensionné en actions (ProOrder)
DEFPARAM CumulateOrders = false
// Rest a stop entry above the market for 50 shares
entryLevel = Highest[20](high)
IF NOT OnMarket THEN
BUY 50 SHARES AT entryLevel STOP
ENDIFL'ordre stop en attente n'est exécuté que si le prix franchit à la hausse le plus haut de 20 bars, achetant 50 actions à ce niveau.
Erreurs et pièges courants
- Mauvaise unité pour le marché.
SHARESsur une paire forex ou un contrat futures ne dimensionne pas l'ordre comme prévu. UtilisezCONTRACTpour les futures et les CFD etLOTpour le forex. - Actions fractionnaires. Les règles du broker déterminent si une quantité fractionnaire d'actions est acceptée. Un nombre entier est le choix sûr pour la plupart des instruments.
- Empilement involontaire.
CumulateOrdersest activé par défaut, donc une entrée qui reste vraie sur plusieurs bars ajoute des titres sur chacun d'eux. MettezDEFPARAM CumulateOrders = falseou protéger avecNOT LongOnMarket. - L'unité seulement, pas l'ordre entier.
SHARESn'est qu'un élément d'une ligne d'ordre. Il suit toujours une quantité et s'inscrit dans unBUYouSELLSHORTinstruction avec un type d'ordre.
Instructions liées
CONTRACT, unité de quantité pour les futures et les CFD.LOT, unité de quantité pour le forex.BUY, ouvre une position long dimensionnée dans une unité choisie.SELLSHORT, ouvre une position short dimensionnée dans une unité choisie.SELL, clôture une position long.EXITSHORT, clôture une position short.MARKET,LIMIT,STOP, les types d'ordre qu'un ordre dimensionné en actions peut utiliser.