CASH
CASH is een hoeveelheidseenheid in ProBacktest en ProOrder die een order dimensioneert op geldbedrag, zoals in BUY 1000 CASH, in plaats van op een vast aantal aandelen of contracten.
Syntaxis
BUY x CASHParameters
| Naam | Type | Standaard | Beschrijving |
|---|---|---|---|
x | numeriek | geen | Hoeveelheid kapitaal die aan de order wordt toegewezen, in de valuta van het account. Het platform zet dit tegen de huidige prijs om in een hoeveelheid. |
Hoe het werkt
CASH vervangt een aantal eenheden in een orderinstructie. Waar BUY 5 CONTRACTS AT MARKET zet de hoeveelheid vast, BUY 1000 CASH AT MARKET zet het kapitaal vast en laat het platform de hoeveelheid afleiden door het geldbedrag te delen door de instrumentprijs. De resulterende exposure blijft dicht bij het gevraagde bedrag, of het instrument nu op 8 of op 800 handelt.
Omdat een geldbedrag zelden opgaat in een heel aantal eenheden, wordt de berekende kwantiteit afgerond. De afrondingsrichting kan worden geforceerd met ROUNDEDDOWN of ROUNDEDUP direct na de CASH sleutelwoord, bijvoorbeeld BUY 1000 CASH ROUNDEDDOWN AT MARKET besteedt nooit meer dan het genoemde bedrag.
Het bedrag kan een literal of elke numerieke expressie zijn, waardoor CASH de natuurlijke unit is voor sizing in verhouding tot de equity: bereken de allocatie opnieuw uit het startkapitaal plus STRATEGYPROFIT en elke trade schaalt automatisch mee met de rekening. CASH is uitwisselbaar met de andere hoeveelheidseenheden, CONTRACT, SHARES en LOT, in dezelfde ordersyntaxis.
Voorbeelden
Voorbeeld 1, Vaste kapitaalallocatie per trade (ProBacktest)
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 3Elke instap zet dezelfde 1000 eenheden kapitaal in. Bij een aandeel met een prijs van 50 zijn dat ongeveer 20 aandelen, bij een aandeel met een prijs van 250 ongeveer 4 aandelen, waardoor de exposure over instrumenten heen constant blijft.
Voorbeeld 2, Dimensionering proportioneel aan de equity met afrondingscontrole (ProOrder)
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 2De ordergrootte is 20 procent van de huidige equity. ROUNDEDDOWN garandeert dat de berekende hoeveelheid binnen het budget blijft.
Voorbeeld 3, In cash gedimensioneerde short instap (ProOrder)
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 2CASH werkt ook bij short instappen; het platform verkoopt short zoveel eenheden als 500 valuta-eenheden tegen de huidige prijs dekken.
Veelvoorkomende fouten en valkuilen
- Verrassingen bij het afronden van hoeveelheden. Het geldbedrag wordt omgezet naar een heel aantal eenheden, dus de werkelijke exposure wijkt licht af van
x. Op hooggeprijsde instrumenten kan het verschil groot zijn;BUY 1000 CASHop een aandeel van 800 koopt één enkel aandeel. GebruikROUNDEDDOWNofROUNDEDUPom de richting te bepalen. - Bedrag onder één eenheid. Als
xkleiner is dan de prijs van één unit en er naar beneden wordt afgerond, kan de berekende hoeveelheid nul zijn en wordt er geen order geplaatst. Bescherm de allocatie met een minimum vóór de orderregel. - Geen stop loss-instructie.
CASHdimensioneert instappen; het begrenst geen verliezen. Het geld dat op een trade verloren gaat beperken is de taak vanSET STOP $LOSS. - Uitstappen hebben meestal geen hoeveelheid nodig.
SELL AT MARKETsluit de volledige positie. Bij de uitstap opnieuw een cashbedrag opgeven sluit alleen de berekende hoeveelheid, waardoor er een restpositie kan achterblijven wanneer de prijs sinds de instap is bewogen.
Gerelateerde instructies
CONTRACT, orderhoeveelheid als een aantal contracten.LOT, orderhoeveelheid in lots.SHARES, orderhoeveelheid als aantal aandelen.BUY, opent een long positie of breidt deze uit.SELLSHORT, opent een short positie of breidt deze uit.ROUNDEDDOWN, rondt een uit cash afgeleide hoeveelheid naar beneden af.ROUNDEDUP, rondt een uit cash afgeleide hoeveelheid naar boven af.MARKET, onmiddellijke uitvoering tegen de huidige prijs.STRATEGYPROFIT, gerealiseerde winst van de strategie, nuttig voor dimensionering op basis van equity.