Word nu lid
ProBacktest/probacktest · proorder

SHARES

SHARES in ProBacktest en ProOrder bepaalt de grootte van een order als een aantal aandelen voor aandelen- en CFD-strategieën. Behandelt syntaxis, eenheidskeuze en uitgewerkte voorbeelden.

Syntaxis

probuilder
[BUY|SELLSHORT] quantity SHARES [AT MARKET|AT price LIMIT|AT price STOP]

Hoe het werkt

SHARES benoemt de eenheid waarin de ordergrootte wordt geteld. BUY 100 SHARES AT MARKET koopt 100 aandelen tegen de volgende beschikbare prijs. Het keyword volgt op het getal en gaat vooraf aan het ordertype, of dat nu AT MARKET, een AT price LIMIT, of een AT price STOP.

De eenheid van de position size moet bij het instrument passen. SHARES past bij aandelen en aandelen-CFD's, CONTRACT past bij futures en CFD's, en LOT past bij forex. De verkeerde eenheid kiezen geeft de positie een onjuiste grootte voor die markt. Of herhaalde orders samen tot een grotere positie opbouwen wordt bepaald door CumulateOrders, net als bij elke andere eenheid voor ordergrootte.

Voorbeelden

Voorbeeld 1, Short instap met grootte in aandelen (ProBacktest)

probuilder
// 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
ENDIF

Dit is het patroon uit de officiële referentie. De order verkoopt één aandeel tegen marktprijs wanneer het MACD-histogram onder nul kruist en er nog geen short positie open is.

Voorbeeld 2, Long instap met een vast aantal aandelen (ProOrder)

probuilder
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
ENDIF

De positie is elke keer dat de instap afgaat precies 100 aandelen, waarbij de positiebeveiliging een tweede instap voorkomt zolang er al long wordt gestaan.

Voorbeeld 3, Pending stoporder met grootte in aandelen (ProOrder)

probuilder
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
ENDIF

De pending stoporder wordt alleen uitgevoerd als de prijs omhoog door de 20-bar high handelt, waarbij 50 aandelen op dat niveau worden gekocht.

Veelvoorkomende fouten en valkuilen

  • Verkeerde eenheid voor de markt. SHARES op een forexpaar of een futurescontract geeft de order niet de bedoelde grootte. Gebruik CONTRACT voor futures en CFD's en LOT voor forex.
  • Gebroken aandelen. De regels van de broker bepalen of een gebroken aantal aandelen wordt geaccepteerd. Een heel getal is voor de meeste instrumenten de veilige keuze.
  • Onbedoeld stapelen. CumulateOrders staat standaard aan, dus een instap die over meerdere bars true blijft voegt op elk daarvan stukken toe. Zet DEFPARAM CumulateOrders = false of beveilig met NOT LongOnMarket.
  • Alleen de eenheid, niet de hele order. SHARES is één onderdeel van een orderregel. Hij volgt altijd op een aantal en staat binnen een BUY of SELLSHORT statement met een ordertype.
  • CONTRACT, hoeveelheidseenheid voor futures en CFD's.
  • LOT, hoeveelheidseenheid voor forex.
  • BUY, opent een long positie met een grootte in een gekozen eenheid.
  • SELLSHORT, opent een short positie met een grootte in een gekozen eenheid.
  • SELL, sluit een long positie.
  • EXITSHORT, sluit een short positie.
  • MARKET, LIMIT, STOP, de ordertypes die een order in aandelen kan gebruiken.