Forex Blog

First-hand Forex trading experience and information about foreign exchange market that will be useful to traders

Archives

Calculating Position Size for Any Trading Instrument

February 12, 2013 by

Almost a year has passed since the Position Size Calculator for MetaTrader was introduced in this blog. It is currently the third most popular indicator on EarnForex.com, losing only to Pinbar Detector and Market Profile. Unfortunately, while being extremely useful and pretty flexible, it failed to work with many trading instruments (e.g. CFDs or exotic currency pairs), especially if your account was not based in USD. But thanks to one conscious forum user, who turned my attention to MODE_TICKVALUE and MODE_TICKSIZE symbol properties in MQL, it has now changed for better.

The new version of Position Size Calculator retains all the advantages and benefits of the previous version but is now capable of calculating position size for any trading instrument that is properly described in your broker’s MetaTrader server. Additionally, the whole calculation process is much faster (as no reference pair is requested) and requires less manual intervention (to add reference pairs to the Watch window). The screenshot below demonstrates the new indicator in action on USD/SEK pair:

Position Size Calculator - new version works with USD/SEK weekly chart.

Same as before, the MT5 version is recommended over the one for MT4 as the former offers immediate position size recalculation when entry/stop-loss lines are dragged on chart. The MT4 version will have to wait for a new tick to update the value.

If you are loath to work with MetaTrader, you can always opt for our online position size calculator.

If you have any suggestions or wish to report a bug for this MetaTrader indicator, please do so using the commentary form below.

13 Responses to “Calculating Position Size for Any Trading Instrument”

  1. KENNETH

    DOES THIS POSITION SIZE CALCULATOR WORK FOR CFD INDICES ON MT4?

    WHAT CAN I USE TO CALCULATE POSITION SIZE FOR CFD INDICES ON MT4?

    Reply

    admin Reply:

    It should work on CFD indices too. Please let me know if there is any error in position size calculated by this indicator for CFD indices.

    Reply

  2. Suneetha

    I tried this indicator for mt4 platform for german index trading de-30. its not working. Can you please let me know where i can get this indicator for mt 4?

    Reply

    Andriy Moraru Reply:

    The indicator for MT4 can be downloaded from here (https://www.earnforex.com/metatrader-indicators/Position-Size-Calculator), but from your comment, I see that you have already tried it. What happened when you attached the indicator to the chart? Also, please tell me what broker are you using, so I could test it myself if possible.

    Reply

  3. Michal Ciesla

    Not working with CFD.

    Indicator calculate size position but it is wrong size. I have account in PLN.

    For example I tried to Oil:

    SL is 13 points, TP is 12 points. Calculator show me that position size is 13.00 lots with 2% risk. Risk was 15.60 PLN and Reward was 13.00 PLN.

    I buy 7.00 lots and I get reward 37.15 PLN (12 points)

    Reply

    Andriy Moraru Reply:

    A screenshot would help. Also, what broker are you using?

    Reply

    Michal Ciesla Reply:

    I found problem.

    MODE_TICKVALUE – show minimal tick value in the DEPOSIT currency.

    This is true in Forex istruments , but is false in CFD.

    In CFD, MODE_TICKVALUE – show minimal tick value in the BASE currency.

    In CFD Indicator calculate position in base currency, not deposit currency. I have deposit in PLN and indicator calculate in USD, because MODE_TICKVALUE show value in USD, not PLN.

    So, when indicator will be used in CFD, should add the conversion currency formula to the script.

    Reply

    Andriy Moraru Reply:

    Thanks for the info! Could you please tell me which broker you are getting this at, so I could properly test the changes?

    Reply

    Andriy Moraru Reply:

    The reason I am asking is because I checked it on AUD account with a CFD, and MODE_TICKVALUE returned proper value in AUD, though it was a USD-denominated CFD (S&P).

    Reply

  4. Michal Ciesla

    xm.com

    Reply

    Andriy Moraru Reply:

    Thanks. I was able to reproduce the problem there. Unfortunately, I do not see how I could fix it. Two other brokers I have checked (AxiTrader and ICMarkets) with non-USD accounts report correct tick values for CFD instruments. It looks to be a problem with XM.COM’s trading server. Could you please contact their support about the issue?

    Reply

  5. Michal Ciesla

    Yes, of course

    Reply

    Andriy Moraru Reply:

    Great! Please keep me updated on their response.

    Reply

Leave a Reply

required
required (will not be published)