Forex Blog

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


The Biggest Problem of MetaTrader 5?

October 23, 2009 by

Trying to convert one of my MT4 expert advisors to MT5 I’ve finally realized what probably the biggest problem of new MetaTrader 5 platform is — the positions are now limited to one per Symbol (currency pair). In fact, the position can now be identified purely by its currency pair. That means that you can have only one position open at the same time, for example, one on EUR/USD, one on GBP/USD and one on USD/JPY but you can’t have two positions on EUR/USD. All you can change is the volume of the position and its direction.

This limit makes stop-loss and take-profit work in a very new way. For example, your EA opens a Long position on EUR/USD for 1 standard lot at 1.4940 and sets stop-loss to 1.4900 and take-profit to 1.5000. Then your expert advisor decides to open another position on EUR/USD for 0.5 standard lot at 1.4950 and sets stop-loss to 1.4910 and take-profit to 1.5010. Your resulting position will be Long 1.5 lots with the stop-loss and take-profit of the latest order (1.4910 and 1.5010). There will be no partial closing of your position by the first and second SL/TP levels.

More than that, running two or more EAs on one currency pair will mess up the trading history and reports for them, because position won’t differ by expert advisors. They will keep modifying the same position. Of course, that has its own advantages, but for those traders that are used to the old MetaTrader 4 execution it will be very hard to adapt.

I haven’t checked it yet, but I think the problem itself can be solved by setting the stop-loss and take-profit levels as the pending orders with the volume corresponding to the specific position’s size. Of course, MetaTrader 5 may be just offsetting these orders the same was as it does with the positions.

If you want to share your experience with using the MetaTrader 5 beta or coding in MQL5, or if you just have some questions regarding MT5 or MQL5, please use the commentary form below.

6 Responses to “The Biggest Problem of MetaTrader 5?”

  1. Zdenek

    Yes, you’ve hit the nail on the head. No more multi-position trading (in the context of MT5 a ‘multi-trade trading’). You no longer can keep losing trades open and trade other trades on the same pair in the meanwhile – no way. That means the MT5 is NFA compliant (specifically the FIFO rule compliant) which is a nonsense because NFA rules are valid for US-brokers only and not for the rest of the world. NFA’s FIFO is the reason why many US traders switched to non-US brokers and many US brokers moved their HQ outside the USA. That’s why me and other successful traders I personally know switched broker. And the fact that MT5 now satisfies the US regulations only is the reason why even bigger number of real traders will switch the MetaTrader platform. I know I will. Unfortunately.


    Andrei Reply:

    No more multi-position trading (in the context of MT5 a ‘multi-trade trading’). You no longer can keep losing trades open and trade other trades on the same pair in the meanwhile – no way.

    That’s not really a problem. With MT5 you can trade the same strategies as with MT4 with the same profit/loss result. Please, read this post:


  2. Zdenek

    I don’t agree, and I’ll explain why. Just follow me closely. Your example is a nice theory, as you are playing with orders on a known chart. In the real world you never know where and when the price reverses and how far it will go. Low-risk strategy I deploy and profit form assumes:

    1) trading in one direction (no hedging needed)
    2) multiple entries
    3) booking intermediate profits on positive entries
    4) leaving temporarily losing positions INTACT until they turn profitable or until I decide that my short-term perspective was wrong.

    Based on my own fundamental research I decide on longer-term trend (like now Im longer term USD bear and for example gold and silver longer-term bull). So Im going to play long positions on EURUSD in a specific range – Im going to buy buy buy on multiple price levels as the price goes down towards lower edge of a range I decided is comfortable to play.
    That means, that some earlier opened entries can be in a slight drawdown for some time, but I also want to manage my risk exposure by booking some intermediate profits on entries opened more recently as the price reverses and is going back.
    This strategy above turned to be very profitable over a long period of time and is no longer possible in MT5, because I can’t book intermediate profits without closing the oldest entries which are in TEMPORARY drawdown in the context of my understanding and my perspective.
    Please, understand, that trading isn’t just about a profits in a certain timespan. It’s also about statistics, average profit/loss per TRADE, etc. If I’m forced to close a temporarily losing position because of FIFO without any option to decide whether I want to or not, then stats of my trades will look like there is significantly more losing trades which wouldn’t be there without FIFO. Maybe from a strict point of view of pips earned it’s doable but it will mess up (not only my) statistics. Im really sorry to say, that it’s simply unacceptable for me.


    Andrei Reply:

    is no longer possible in MT5

    That’s simply not true. If you want to temporarily go Short while staying long-term Long on a pair, in MT5 you can partially (or not partially, depending on your position sizing, etc.) close your Long position and reenter it when you’d close your Short position. That’s exactly the same what happens in MT4 when you trade – the difference is just that you see 2 opposite positions on the same pair, where profit and loss compensate each other.


    Zdenek Reply:

    You still don’t understand it :) Just bear with me a little longer, I don’t want to fight. Im going to explain it again:

    I don’t want to go temporarily short while I’m long-term long on a pair. I want to trade in one direction only (for example LONG) but keep either my best entries or temporarily losing trades in the market as long as I want. And once I keep my best LONG trades in the game (as swings for example) I want to be able to keep trading shorter-term LONG trades and book profits on them without affecting the oldest best most profitable open trades. Is it more clear now?

    In other words: I want and need the freedom to choose which trade (which part of the multi-level position) I close and when as long as I’m trading in ONE DIRECTION.

    More over, I read again the NFA Rule 2-43 and as I understand it, the FIFO mechanism should be applied to OFFSETTING ORDERS ONLY. That is only when a trader attempts to go long AND short simultaneously. But it seems like the Rule is being applied to stop-loss, profit-target and market-close orders too and if this is the case, then MT5 developers misunderstood it completely, because as long as Im in the trading business, stop-loss, profit-target and market-close orders were never considered as offsetting orders not in FOREX market nor in equity or futures markets – anywhere.
    When Im placing stop-loss, I don’t intend to offset my position, my intention in this case is to liquidate the trade either for loss or for profit, so from this point of view there’s significant limitation built-into the MetaTrader 5.

    For example OANDA (U.S. NFA regulated market-maker and broker) applies FIFO always and only if a trader tries TRADE in the opposite direction of his/her entire position (position is a set of trades in ONE direction on ONE symbol and ONE account). But the trader still can place stop-loss and profit-target on individual trades as well as close any trade of the position freely at market price. That’s the way the 2-43(b) rule should be understood and I already contacted NFA representative to explain in detail and on examples how we should understand the rule.


    Andrei Reply:

    OK, sorry for misunderstanding your point. I was thinking that you are talking about trading in the opposite directions. If you mean closing the positions that are opened in the one direction then it’s even easier. In MT5 the aggregated position has an average price composed from the prices of all positions. So, when you partially close some volume of it, you get the same result as in MT4. Here’s a quite simple example, which I’ve used in one of the forum discussion on this matter:

    There are 3 Long positions of 0.1 each opened at different points – 1.4400, 1.4350 and then again 1.4400.

    In MT4:

    1. You buy 0.1 @ 1.4400, 0.1 @ 1.4350 and 0.1 @ 1.4400.
    2. At any given moment with the CurrentPrice (CP) your total profit is:
    (CP – 1.4400) + (CP – 1.4350) + (CP – 1.4400).
    3. For example CP = 1.4500. Your total profit is:
    (1.4500 – 1.4400) + (1.4500 – 1.4350) + (1.4500 – 1.4400) = 350 pips.

    The same example, but in MT5:
    1. You buy 0.1 @ 1.4400, 0.1 @ 1.4350 and 0.1 @ 1.4400. – there is no problem with that, you can easily check yourself that you can have a position by sending these 3 orders in MT5.
    2. The resulting position will be 0.3 lots with the average price of 1.43833.
    3. At any given moment your total profit is: (CP – 1.43833) * 3.
    4. For example CP = 1.4500. Your total profit its:
    (1.4500 – 1.43833) * 3 = 350 pips.

    And it doesn’t matter which one of those 3 positions your close first or second in MT4, as it doesn’t matter (and you can control it) in MT5 when you are partially closing your position. After you’ve opened the position, the total profit is always the same in MT4 and MT5 and fluctuates only with the current price.

    If you still don’t think that there is no difference in the order of closing the position, please, consider this example:
    1. You buy a bar of gold at $500.
    2. In a week you buy another bar of gold at $1000.
    3. Now you have 2 identical bars.
    4. Assume the current price of $1,100. Does it matter which on of the bars you sell now? No, you’ll still get the profit from the difference between the average price of your gold and the current market price.


Leave a Reply

required (will not be published)