Simple Reason Forex Orders Fill Too Early [Misunderstanding]

Over the last few years I have received and answered literally thousands of emails to my customers and one of the most interesting questions I get was this.

My BUY trade was triggered without price reaching the buy line or pending order. What would cause a trade to trigger early and how I can avoid it?

This is actually just a simple misunderstanding, but I found that a lot of people do not know about this, so I feel obliged to explain this.

Now to explain this in detail, so you could understand what this problem is about, I created a screenshot (see below). This is from a trading session using one of my trading tools, but the same can be seen even if you trade manually using pending orders or hidden pending orders.

Looks like price did not touch the upper range box breakout level, but actually it's the ASK price that touched it. This is why BUY trades was executed.

Looks like price did not touch the upper range box breakout level, but actually it’s the ASK price that touched it. This is why BUY trades was executed.

Look at the picture above. This is a perfect example. See the price range box and its upper level? The trade should have been executed when the price touches the upper breakout level (plus +2 pips), but only when the price bars are outside the box. This is how my Range Box Trader works. You set it up to open trades on breakout of a previous price and time range. Trading begins only when the price range is set at the specified time, which is considered the beginning of your custom trading session. For example you set the price range box to be created from 02:00 until 08:00. This means at 08:00 EA will draw a price range, create two pending orders, one at the top and the other at the bottom of the range box, and start trading until 02:00 of the next day or whatever settings you use.

So in the example above even though the price bar (outside the box) did not touched the upper price range level (plus +2 pips), the EA still executed the BUY trade.

Let me explain what has happened here. The explanation is very simple. BUY orders are executed at ASK price, but MT4 charts do not show ASK price by default. This is why on the chart it looks like the trade was filled too early without price touching the entry level. But ASK price touched the entry price, it’s just not displayed on the chart anywhere.

You can set your MT4 to show ASK price on the chart and you can do this in the “Common” tab of the “Chart Properties” window (F8).

MT4 Chart Properties window's Common tab with a Show Ask Line option enabled

MT4 Chart Properties window’s Common tab with a “Show Ask Line” option enabled.

The ASK price is always above the current price (BID) you see on the chart. The price on the chart is a BID price. This is why it looks like price did not touch the breakout line. It’s the BID price did not touched it, but the ASK price touched it and that’s why BUY order was executed.

ASK or BID?

I remember how confusing this was for me several years ago, so let me try to explain it in a more simple way.

Every trading instrument has ASK and BID price. The difference between those prices is called The Spread. Say if ASK price is 1.12378 and BID price is 1.12366, then the spread in this case is 0.00012. In human language this equals 12 points or 1.2 pips.

When you BUY (open LONG position) you always buy at ASK price. When you SELL (open SHORT position) you always sell at BID price. Now because price bars on the MT4 charts are created using BID prices you never see what ASK price was before. You can only see current ASK price if you enable it to be displayed on the chart.

Below is the image which shows ASK and BID prices visible on the chart. The ASK price is the red line and you can change its color in the “Colors” tab of the “Chart Properties” window (F8).

MT4 chart with Ask price line visible

MT4 chart with Ask price line (red color) visible.

Closing orders

When you close a trade – it’s opposite. I mean when you close a BUY trade you close it at BID price (while it was opened at ASK price). When you close a SELL trade you close it at ASK price (while it was opened at BID price).

So this means that to hit a stop loss of a BUY order – the BID price should touch the stop loss level. To hit a stop loss of a SELL order – the ASK price should touch the stop loss level.

Also, let me explain how this affects the profit taking.

To hit the take profit of a BUY order – the BID price should reach the TP level. So if you have ASK price visible on your chart you will actually see how ASK price reaches the TP of your BUY order, but it will not close trade at TP level yet. The BID price should reach your TP to close the BUY order.

Now it is much more interesting with SELL orders. To hit the take profit of a SELL order – ASK price should reach the TP level. This means that your SELL order will not hit TP when you see the price bar (BID price) touch the TP level (even if it falls below TP level). This is the case that got confused a lot of traders for sure. They open a SELL trade, leave it to run for hours or days and when they come back they see that the price bar was actually at the TP level (or even crossed it by a few pips) but the trade was not closed.

SELL trade did not hit TP yet even though we see price bar already fell below the TP level. This is because ASK price (red line) should touch the TP level to close a SELL trade.

SELL trade did not hit TP yet even though we see price bar already fell below the TP level. This is because ASK price (red line) should touch the TP level to close a SELL trade.

In the image above the SELL trade did not hit TP yet, even though we see price bar (BID price) already fell below the TP level. This is because ASK price (red line) should touch the TP level to close a SELL trade.

What about Trailing Stop and Break Even?

Imagine how confusing it will look like with the trailing stop or break-even functions. I get many questions about this from people who use my Trader On Chart application, but the same happens no matter what app you are using or even trading manually.

Everything is clear about the TS and BE for BUY orders. But BE and TS functions for SELL orders are applied using ASK price which is not recorded on the chart. When people count that the price fell 11 pips below the SELL order’s open price, they get confused why their break even function was not applied when it is set to be activated at 10 pips in profit. The simple explanation here is that people calculate those 11 pips incorrectly. They calculate profit of the SELL order by subtracting lowest BID price from a SELL entry price. In our example it was 11 pips. But actually, it should be calculated by subtracting lowest ASK price from a SELL entry price, because SELL orders are closed at ASK price.

The confusing part here is that no one actually knows what ASK price was at that moment exactly because it is not recorded on the chart. But in our example if the spread was say 1.2 pips while BID price was 11 pips below the entry price, this means the ASK price was 1.2 pips above the BID price, which is only 9.8 pips below the entry price. So, unfortunately the break even function was not executed because price had to move another 0.2 pips down.

Yes, this happens rarely, but still it does and then a lot of traders get confused.

Test with STOP pending orders

Lets do a test with STOP pending orders. I place a BUY STOP pending order and create a screenshot immediately when it is executed. You can see that BID price (price bar) did not even touched the pending order open price, but it got already filled because ASK price touched it.

BUY STOP is filled when ASK price reaches the entry price. BID price (price bar) did not even touched it yet.

BUY STOP is filled when ASK price reaches the entry price. BID price (price bar) did not even
touched it yet.

If I’d place a SELL STOP pending order it would get filled when the BID price touch it. But because price bars on the chart are drawn using BID price you will actually see price touching the pending order.

Test with LIMIT pending orders

With LIMIT pending orders it’s different. Actually the rule is the same. BUY LIMIT gets filled at ASK price while SELL LIMIT gets filled at BID price. However, the confusion can be created here when bar price (BID price) touches the BUY LIMIT order but it is not filled. It should be that way because BUY LIMIT only gets filled when ASK price touches its entry price, but many traders still get confused at this.

See the image below. I have a BUY LIMIT pending order where BID price already touched it. Obviously it was not filled yet.

BUY LIMIT was not filled when BID price (price bar) reached the entry price. It will get filled only when ASK price touches it.

BUY LIMIT was not filled when BID price (price bar) reached the entry price. It will get filled only when ASK price touches it.

So like you probably already understand, in this example if the price were to reverse now and go up (without ASK price touching the entry price), my BUY LIMIT order would not get triggered even though on the chart you would clearly see that the price bar touched the entry price and even fell below it.

The same with SELL LIMIT orders. If you have a SELL LIMIT order it will only be triggered when BID price touches it. However, you will not experience the same confusion like with the BUY LIMIT. It would clearly be seen if price bar touched the SELL LIMIT entry price of not.

Conclusion

It does not matter when you learn about the confusing ASK and BID prices. Do not be ashamed if you did not knew about this. I have created dozens of trading tools for MT4 years ago without even understanding this. But when I finally learn this it opened my eyes to feel the market much better.

Will you tell me the truth in the comments below? Did you actually knew about this? 🙂

About the author

Rimantas Petrauskas

First I am a father, a husband and then the author of the book “How to Start Your Own Forex Signals Service”. I am also a Forex trader, a programmer, an entrepreneur, and the founder of ea-coder.com Forex blog. I have created two of the most popular trade copiers and other trading tools for MT4 that are already used world wide by hundreds of currency traders.

13 Comments

Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Copyright © 2009-2017. Rimantas Petrauskas | Terms and ConditionsPrivacy PolicyEarnings Disclaimer
Trading foreign exchange on margin carries a high level of risk, and may not be suitable for all investors. The high degree of leverage can work against you as well as for you. Before deciding to invest in foreign exchange you should carefully consider your investment objectives, level of experience, and risk appetite. The possibility exists that you could sustain a loss of some or all of your initial investment and therefore you should not invest money that you cannot afford to lose. You should be aware of all the risks associated with foreign exchange trading, and seek advice from an independent financial advisor if you have any doubts.
The purchase, sale or advice regarding a currency can only be performed by a licensed Broker/Dealer. Neither us, nor our affiliates or associates involved in the production and maintenance of these products or this site, is a registered Broker/Dealer or Investment Advisor in any State or Federally-sanctioned jurisdiction. All purchasers of products referenced at this site are encouraged to consult with a licensed representative of their choice regarding any particular trade or trading strategy. No representation is being made that any account will or is likely to achieve profits or losses similar to those discussed on this website. The past performance of any trading system or methodology is not necessarily indicative of future results.
Clearly understand this: Information contained in this product are not an invitation to trade any specific investments. Trading requires risking money in pursuit of future gain. That is your decision. Do not risk any money you cannot afford to lose. This document does not take into account your own individual financial and personal circumstances. It is intended for educational purposes only and NOT as individual investment advice. Do not act on this without advice from your investment professional, who will verify what is suitable for your particular needs & circumstances. Failure to seek detailed professional personally tailored advice prior to acting could lead to you acting contrary to your own best interests & could lead to losses of capital.
HYPOTHETICAL OR SIMULATED PERFORMANCE RESULTS HAVE CERTAIN LIMITATIONS. UNLIKE AN ACTUAL PERFORMANCE RECORD, SIMULATED RESULTS DO NOT REPRESENT ACTUAL TRADING. ALSO, SINCE THE TRADES HAVE NOT BEEN EXECUTED, THE RESULTS MAY HAVE UNDER-OR-OVER COMPENSATED FOR THE IMPACT, IF ANY, OF CERTAIN MARKET FACTORS, SUCH AS LACK OF LIQUIDITY. SIMULATED TRADING PROGRAMS IN GENERAL ARE ALSO SUBJECT TO THE FACT THAT THEY ARE DESIGNED WITH THE BENEFIT OF HINDSIGHT. NO REPRESENTATION IS BEING MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFIT OR LOSSES SIMILAR TO THOSE SHOWN.