Modul 4 · Risikostyring i koden

4.1 Posisjonsstørrelse ut fra risiko

Leksjon 11 av 18Lesetid: 2 min

I kurset om tradingplan lærte du at posisjonsstørrelsen er den viktigste beslutningen på hver handel. En robot med fast størrelse risikerer mer når stop loss er langt unna, og mindre når den er nær. Det vil vi unngå.

Regnestykket

Størrelse = risiko i kroner ÷ tap per lot ved stop loss

Plattformene oppgir hvor mye én tick (minste prisendring) er verdt for én lot – i kontovalutaen. Da blir tapet per lot:

Tap per lot = avstand til stop loss ÷ tick-størrelse × tick-verdi

MQL5

MQL5
input double InpRiskPercent = 1.0;   // Risiko per handel i %

double LotSize(double slDistance)    // slDistance i pris, for eksempel 30 * pip
{
   double riskMoney = AccountInfoDouble(ACCOUNT_EQUITY) * InpRiskPercent / 100.0;
   double tickValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);
   double tickSize  = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE);
   if(slDistance <= 0 || tickValue <= 0 || tickSize <= 0) return(0);

   double lots = riskMoney / (slDistance / tickSize * tickValue);

   double step = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);
   lots = MathFloor(lots / step) * step;                       // rund ned til lovlig størrelse
   if(lots < SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN)) return(0);
   return(MathMin(lots, SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MAX)));
}

MQL4

Det samme, men med AccountEquity() og MarketInfo(Symbol(), MODE_TICKVALUE), MODE_TICKSIZE, MODE_LOTSTEP, MODE_MINLOT og MODE_MAXLOT.

cTrader

cTrader gjør det enda enklere. Symbol.PipValue er verdien av én pip for én enhet:

C# (cTrader)
double riskMoney = Account.Equity * RiskPercent / 100.0;
double volume = riskMoney / (StopLossPips * Symbol.PipValue);
volume = Symbol.NormalizeVolumeInUnits(volume, RoundingMode.Down);
if (volume < Symbol.VolumeInUnitsMin) return;   // for liten: ingen handel

Rund alltid ned

Legg merke til at vi runder ned. Runder du opp, risikerer du litt mer enn planlagt på hver handel. Er beregnet størrelse mindre enn minste lovlige størrelse, er det tryggest å la være å handle – ikke å runde opp til minimum.

Regnestykket i praksis

Egenkapital 50 000 kr, risiko 1 % = 500 kr. Stop loss 25 pips på EUR/USD. Tick-størrelse 0,00001 og tick-verdi ca. 9,50 kr per lot. Avstanden 0,0025 er 250 ticks, som gir et tap på 2 375 kr per lot. 500 ÷ 2 375 = 0,21 – rundet ned til 0,21 lot.

Kort oppsummert

  • Regn ut størrelsen slik at hver handel risikerer en fast prosent av kontoen.
  • Tap per lot = avstand til stop loss ÷ tick-størrelse × tick-verdi.
  • Rund alltid ned, og la være å handle hvis størrelsen blir for liten.
Øv uten risikoTest det du har lært på en gratis demokonto hos Skilling.
Åpne demokonto

65% av ikke-profesjonelle taper penger når de handler CFDer med denne leverandøren.