Handige formules op een rij

Forex & Binaire Opties trading

Handige formules op een rij

12 april 2014 Leesvoer Trading 1

Bij het omzetten van alle scripts van MetaTrader naar jForex, moet ook al het rekenwerk opnieuw worden uitgevoerd. Hoewel formules voor risico en winst voor alle handelsplatformen identiek zijn, is het toch leuk om alles nog eens helder voor ogen te zetten. Inclusief de Break-Even calculatie. Dat avontuur leverde enkele duidelijke formules op die het handelen een stuk inzichtelijker maken.

Uitgangspunt bij al het rekenwerk en formulewerk is natuurlijk een geplande positie. Je wilt niet zomaar een positie openen en zien waar het heengaat. Je plant bij elke positie vier waarden, waarbij alleen de winstwaarde flexibel kan zijn:

  • Koers waar je instapt
  • StopLoss-koers – deze verander je NOOIT bij een lopende trade
  • TakeProfit-koers – deze kan nog worden bijgesteld als de trade eenmaal loopt
  • Lot Size voor deze positie – bepaal je voor opening van de trade

Alvorens het rekenwerk begint en de wiskundige formule samengesteld kan worden, moeten er wat begrippen worden vastgesteld. De methode voor het berekenen van de Lot Size van een positie wordt bepaald door twee zelf te kiezen factoren: De afstand tussen StopLoss en huidige of openingskoers (deze noem ik voor het gemak Diff) en het maximale verlies dat je op deze positie wilt leiden: MaxVerlies.

MaxVerlies = Equity x ( risicopercentage : 100 )

MaxVerlies en Equity (of Balans zo je wilt) zijn in BalansMunt uitgedrukt. Heb je dus een handelsaccount in Euro’s, dan is de BalansMunt de Euro. Het maakt niet uit met welk valutapaar je daarbij handelt. Het maximale verlies druk je ook uit in Euro en de winst ook. Deze BalansMunt komt regelmatig terug in de berekeningen en is van belang als je een berekening op bijvoorbeeld de USD/JPY wilt maken, waar geen Euro in voor komt, terwijl jouw account in Euro’s is.

De Diff betreft een absolute waarde, dus altijd groter dan nul. Het maakt voor deze berekening dus niet uit of je long of short gaat. Diff is het absolute verschil tussen Openingsprijs en StopLoss-prijs:

Diff = Abs( Openingsprijs – StopLoss-prijs )

Dan zijn er nog vier waarden die van belang zijn om het juiste volume voor de geplande trade te berekenen:

  • Spread = Verschil tussen Ask-prijs – Bid-prijs, dit zijn kosten voor de trade
  • Commissie = vast bedrag, meestal uitgedrukt in BalansMunt, per 1.000.000 (of 100.000) positieomvang
  • NominaleWaarde = Waarde van de valutaprijs omgezet in jouw BalansMunt. Hierover verderop meer
  • BasisVolume = de omvang van één Lot, meestal 100.000 bij sommige brokers 1.000.000

Is de Commissie uitgedrukt in een bedrag per 1.000.000 terwijl het BasisVolume 100.000 is, dan moet de commissie worden aangepast aan dat BasisVolume (dus bijv. geen 35 Euro per miljoen, maar 3,5 Euro per 100.000), zodat deze in verhouding staat tot het BasisVolume.

Let erop dat bij MT4 en jForex deze waarde verdubbeld moet worden, want je betaalt commissie bij openen en bij sluiten van een positie. In cAlgo is dit al voor je berekend door cAlgo.

BasisVolume = [constante waarde, bijv. 1.000.000]
Commissie = 2 x [constante waarde per BasisVolume, bijv. 35 per 1.000.000]
Spread = Ask - Bid

BalansMunt en NominaleWaarde

De BalansMunt is de munteenheid van je handelsaccount. De balans wordt uitgedrukt in Euro’s of Dollars, terwijl je kunt handelen in paren waarin noch EUR noch USD voorkomen: AUD/CAD bijvoorbeeld. Toch wil je weten wat de invloed van één eenheid (een pip) stijging of daling AUD/CAD voor invloed heeft op jouw balans. De prijs van AUD/CAD moet dus worden omgezet in een prijs met jouw BalansMunt. Deze waarde heet de Nominale Waarde.

Indien de Base-munt van het te verhandelen valutapaar dezelfde is als jouw BalansMunt (zoals bij EUR/USD als je een Euro-account hebt), dan geldt de formule:

NominaleWaarde = 1 : PRIJS[BALANSMUNT/QUOTE]

Is de Quote-munt jouw BalansMunt (zoals bij EUR/USD als je een USD-account hebt), dan is het nog simpeler:

NominaleWaarde = 1

In alle andere gevallen heb je een tussenstap nodig, waarbij de Quote-munt van de positie gebruikt wordt. In een positie met valutapaar BASE/QUOTE wordt de berekening:

NominaleWaarde = 1 : PRIJS[BALANSMUNT/QUOTE]

Bij het voorbeeld van de AUD/CAD gebruik je dus de koers van EUR/CAD als de EUR je BalansMunt is. Helaas staan de valutaparen niet altijd in de juiste volgorde. Bestaat het valutapaar BALANSMUNT/QUOTE niet, maar wel QUOTE/BALANSMUNT, dan wordt het weer simpeler:

NominaleWaarde = PRIJS[QUOTE/BALANSMUNT]

Zou je BalansMunt de USD zijn en open je een positie op het paar EURNZD, dan is de nominale waarde dus de prijs van de NZDUSD.

Lijkt moeilijk, maar eenmaal in een handige spreadsheet gezet, wordt dit rekenwerk natuurlijk voor je gedaan.

Kosten, Verlies en Winst: Pips doen er niet toe

De uiteindelijke berekening van het maximale verlies of de winst op een geplande trade bestaat uit het geplande koersverloop (StopLoss, TakeProfit) uitgedrukt met de variabel Diff en de kosten die een trade met zich meebrengt: Spread en Commissie.

In deze berekening wordt de pip of point als eenheid verder niet gebruikt, omdat deze in het koersverschil Diff wordt uitgedrukt. Alle koerswaarden, zoals spread, SL en TP zijn uitgedrukt in  koersverschil van het te verhandelen valutapaar. De berekening voor het Volume bij een Maximaal verlies bij deze geplande trade is dan:

Diff = Abs( Openingskoers – StopLosskoers )
Volume = MaxVerlies / ( ( Diff x BasisVolume x NominaleWaarde ) + ( Spread x BasisVolume x NominaleWaarde ) + Commissie )

Minstens zo interessant is om te berekenen wat deze positie voor ons verdient als de prijs de goede kant opgaat.

Diff = Abs( Openingskoers – TakeProfitkoers )
Winst = Volume x ( ( Diff x BasisVolume x NominaleWaarde ) - ( Spread x BasisVolume x NominaleWaarde ) - Commissie )

Rekenvoorbeeld

Een geplande positie op de EURUSD bevat de volgende vaste waarden:

Balans = 1000
BasisVolume = 1.000.000
Commissie = 2 x 35 (per 1.000.000) = 70 Euro
Ask = 1,37400
Bid = 1,37383
Spread = Ask - Bid = 0,00017
NominaleWaarde = 1 / 1,37400 = 0,7278
MaxVerlies = 2% x 1000 (balans) = 20 Euro

Het plan is een Long-positie met een StopLoss op prijs 1,37280 en de TakeProfit op dezelfde afstand.

Diff = 1,37400 - 1,37280 = 0,00120

En dat is 12 pips. De TakeProfit wordt op 12 pips de andere kant op gesteld (1,37520).

Stoppen we al deze waarden in de formule dan ziet dat er als volgt uit:

Volume = 20 / ( ( 0,00120 x 1.000.000 x 0,72700 ) + ( 0.00017 x 1.000.000 x 0,72700 ) + 70 ) <=>
Volume = 20 / ( 872,4 + 123,59 + 70 ) <=> 
Volume = 20 / 1065,99 <=> 
Volume = 0,018 Lot

We mogen dus een positie innemen van 0,018 lot. Bij bijv. Dukascopy wordt gerekend in een BasisVolume van 1.000.000 en een minimaal lot van 0,001. Dat is in verhouding met het basisvolume 100.000 en een minimaal lot van 0,01 waar de meeste brokers mee werken. in MT4 zou het volume dus op 0,18 uitkomen. Met deze cijfers kan ook de verwachte winst worden berekend.

Winst = 0,018 x ( ( 0,00120 x 1.000.000 x 0,72700 ) - ( 0.00017 x 1.000.000 x 0,72700 ) - 70 ) <=>
Winst = 0,018 x ( 872,40 - 123,59 - 70 ) <=>
Winst = 0,018 x 678,81 <=>
Winst = 12,22 Euro

En dan mag meteen de conclusie getrokken worden dat de eerste 2 à 3 pips in een positie de duurste zijn: deze trade heeft een Risk-Reward-verhouding van 12,22 / 20 = 61%. Bij een TakeProfit van 18 pip wordt de winst:

Winst = 0,018 x ( ( 0,00180 x 1.000.000 x 0,72700 ) - ( 0.00017 x 1.000.000 x 0,72700 ) - 70 ) <=>
Winst = 0,018 x ( 1308,60 - 123,59 - 70 ) <=>
Winst = 0,018 x 115,01 <=>
Winst = 20,07 Euro

Break Even

Een belangrijke vraag bij het bepalen van een positie en bij het verloop is: Waar ligt mijn break-even punt? Bij een positie laat dat zich uitdrukken in een koersverschil (Diff), al of niet in pips. De formule daarvoor is:

Diff = Spread + ( Commissie : ( BasisVolume x NominaleWaarde ) )

Deze formule is te herleiden van de hiervoor vermelde formule voor Winst, waarbij de winst op 0 is gesteld. Diff is het koersverschil dat (in de goede richting) moet worden afgelegd om spread en commissie te vereffenen. Pas bij overschrijding van dit koersverschil gaat er geld verdiend worden. In bovenstaand voorbeeld wordt deze berekening:

Diff = 0,00017 + ( 70 : ( 1.000.000 x 0,7278 ) ) <=>
Diff = 0,00027

In dit voorbeeld kost de commissie dus (afgerond) een complete pip koersverschil. Interessant bij het vergelijken van tarieven van broker-accounts. Daarbij is het altijd de vraag: lage spread + commissie, of liever iets hogere spread?

Toch rekenen met pips?

Wil je toch rekenen met pips (of points), dan zul je aan de berekeningen van hiervoor nog enkele omrekeningen moeten toevoegen:

PipSize = 0,0001 (meestal, bij JPY is het vaak 0,01)
PipSpread = Spread / PipSize
PipDiff = Diff / PipSize

En andersom natuurlijk: Bepaal je de StopLoss in pips, dan wordt de berekening van Diff als volgt:

Diff = StopLoss x PipSize

Van gewenste winst naar TakeProfit

Met al deze formules in de broekzak, is het ook mogelijk om het gewenste koersverschil te berekenen aan de hand van de gewenste winst. Deze is als volgt:

Diff = ( Winst : ( Volume x BasisVolume x NominaleWaarde ) ) + Spread + ( Commissie : ( BasisVolume x NominaleWaarde ) )

Weet je dat je bij de gekozen positie 30 Euro wil verdienen (zuiver hypothetisch dus, want dit is geen gebruikelijke praktijk), dan kom je met deze formule uit bij een koersverloop van:

Diff = ( 30 : ( 0,018 x 1000000 x 1.000.000 x 0,7278 ) ) + 0,00027 <=>
Diff = 0,00256 = 25,6 pips

Om 30 Euro te verdienen moet de koers dus 25,6 pips de goede kant op gaan. Met deze formule zou je ervoor kunnen zorgen dat TP en SL altijd in een vooraf bepaalde R:R-verhouding staan, maar in een strategie is natuurlijk primair de ruimte in de markt bepalend bij het kiezen van de TP, niet de gewenste winst.

Van maximaal verlies naar maximale StopLoss

Dan is er nog een formule over die uitrekent hoe ruim je een StopLoss mag plaatsen uitgaand van het maximale verlies dat je wilt leiden en het volume dat je in wilt zetten.

Diff = ( MaximaalVerlies : ( Volume x BasisVolume x NominaleWaarde ) ) - Spread - ( Commissie : ( BasisVolume x NominaleWaarde ) )

Deze formule is leuk als je langere timeframes wilt gebruiken maar niet over je maximale verlies heen wilt gaan. De berekening gaat dan uit van het kleinste volume (0,001) en het maximale verlies (20) uit eerder gebruikt voorbeeld.

Diff = ( 20 : ( 0,001 x 1.000.000 x 0,7278 ) ) - 0,00017 - ( 70 : ( 1.000.000 x 0,7278 ) ) <=>
Diff = ( 20 : 727,80 ) - 0,00017 - ( 70 : 727800 ) <=>
Diff = 0,027480 - 0,00017 - 0,000096 <=>
Diff = 0,027214 = 272 pips

Met 20 Euro handelsruimte en het kleinste lot kun je dus maximaal 272 pip verliezen op de koers. Je kunt dus met heel wat strategieën uit de voeten op de timeframes H1, H4 of zelfs D1.

Daarmee heb je alle formules bij de hand om weloverwogen en zonder verrassingen een positie te kiezen. Je weet vooraf wat je kunt verliezen en wat je kunt verdienen. Meer verdienen mag altijd, meer verliezen kan niet, omdat je altijd en immer van de ingestelde StopLoss afblijft!

Één antwoord

  1. SemperAugustus schreef:

    Toevoeging: ik blijf twijfelen bij de omrekening van de nominale waarde, indien gehandeld wordt in een paar zonder balansmunt (bijv. NZDUSD bij een Euro-account).

    Volgens alle bronnen die ik kon vinden, is bovenstaande correct.

    Graag op- en aanmerkingen indien ik hier fouten maak.

  2. Van Dalen schreef:

    Mooi sommetje en dank.

    De tradewaarde is dus wat je maximaal verliest op een verkeerde koersverloop. Kun je ook nog ingaan op spread en commissie in deze berekening?

    Want dan weet je precies wat een trade kost en ook wat je maximaal kan verdienen bij een gelijke take profit.

Reacties zijn gesloten.