How the choice of broker affects the results of advisers and what to do about it
Surely each of you knows that advisers trade differently with different brokers. It is enough to go to the forum and see the popular expert branches, where several monitoring of trading accounts of the same robot in different DCs are presented, and you will find differences in the results. These differences are sometimes very significant and sometimes profits can vary significantly. Why is this happening, what is behind it and how to choose a “profitable” forex broker?
We will deal with this today.
How big is the problem
Forex is very different from other financial markets. And among all the differences, the biggest, perhaps, is decentralization. Often people underestimate the great importance of centralization of the exchange and how it helps in the regulation, successful development and trading of various systems. As a result of the fact that the Forex market is decentralized, it is very poorly regulated, and each broker has its own quote stream, different from all others.
Quite often, when people talk about broker dependence, they consider this to be some rare factor that practically does not affect the overall result. Nevertheless, this factor is by no means as rare as it seems, and its influence can be very significant - up to directly opposite results on two different accounts.
So what's wrong with the different flow of quotes? I propose to conduct a small experiment. Record the high and low values of the 5 candles of the period M5, H1 and D1 at three different brokers of your choice. Record the RSI20 and SMA50 readings for each of these candles. Flatten this data into a table, for example, in Excel, and then compare. Think about how different the price indications are for different periods for different brokers and for what periods these differences are less significant; how indicators differ; Whether broker dependence increases or decreases when using indicators; how the period of the selected indicator affects trading with different brokers.
If the differences between the readings of this or that value at different brokers differ by more than 10%, how will the settings of an adviser optimized on data from one of the brokers when trading with another broker behave? I hope you will do this simple exercise and draw preliminary conclusions. Well, now that you’ve got a general idea of this more than real problem, we’ll deal with its effect on trade in more detail, and also think about how to minimize the brokering dependence of trading strategies to a minimum.
Candle shape difference
Because of this, immediately a number of problems arise, some of which are small, while others have a strong influence on trade. One of the minor issues is that different brokers have different price levels for high / low candles. This leads to the fact that some orders at some brokers are closed at SL or TP levels, while others do not. Sometimes there is enough difference in one pip, and with one broker we already have a deal closed at a loss, while another has a profit. Or, for example, one broker has activated a pending order, while the other does not. Nevertheless, this happens quite rarely and therefore it does not greatly affect the overall result.
On the other hand, such a difference in data feeds leads to the fact that many candles, especially in the younger periods, look different for different brokers and the levels of opening, closing, minimum and maximum values of candles differ. This leads to some differences in the indicators that use such price levels in the calculations. For example, you have a strategy, one of the conditions for entering into purchases on which the RSI indicator is below the level of 30. As a result of the inaccuracies in quoting the Close price of the candles for which the RSI indicator is calculated, they differ slightly, literally by a couple of pips. As a result, with one broker you will receive on the current candle the value RSI = 29.99999, and with another broker 30.00001. As a result, one broker will be logged in, while the second will not. Also, strategies for crossing lines, for example, moving averages, will work differently for different brokers - somewhere the intersection of lines will occur earlier, somewhere later. But this, of course, applies only to advisers - there are no such problems with manual entry.
Therefore, it would be logical to conclude that the shorter the period for the operation of your TS, the lower the SL and TP levels, the more broker-dependent your system will be.
To better understand the effect of this effect and the importance of choosing the right timeframe, consider this. A difference of 2 points on the hourly chart can mean a difference between candles of 5-10%, while in a five-minute period it can reach 30-50%. This example is rather arbitrary, because it all depends on the general volatility of a currency pair, but still you need to be very careful and always remember this. Especially setting a new scalper for M1 on a real account.
The difference in scalpers trading between different brokers can really be huge and the point is not only in the different spread, but also in the above problem. Therefore, in order to develop an adviser that will give more similar trading results with various brokers, it is worth using higher periods, at least M15, and preferably H1. In addition, for periods of an hour or more, developing strategies is much easier. Well, if there is a great desire to trade at low periods, first test the work of your advisers with several preferred brokers, and the results will already determine where the adviser behaves more confidently. By the way, such a test needs to be done exactly on the type of account on which you intend to trade in the future - many brokers have different quote flows for different servers.
There is also a special case when trading is different on several accounts on the same server of the same broker. This behavior is also not uncommon, and it means a problem on the side of the broker itself, the imperfection of its quoting algorithm, equipment, or incorrect server settings. In any case, trading with such a broker is decently complicated and if there are fallback options, it is better to use them. The figure below shows the difference of 10 different brokers in the form of H1 candles:
The figure below shows the difference of 10 different brokers in the form of D1 candles:
As you can see, the differences for daily charts are mainly within 5% of the size of the candle, occasionally reaching 15%, while for H1 the difference is 5-15% with a peak of up to 40%. The difference in the M15 period averages 15–25% and for M1 –30–40%. I ask you to ponder these figures - the charts of the M1 period for one broker are almost half different from the charts of another broker. It is almost like trading on another currency pair.
The difference in time of arrival of a new tick
Ticks do not come on schedule, they come when a transaction is made in the real market, in the liquidity pool, from where the broker takes the quotes. A tick arrives at the trader’s terminal and at that time the trader can complete the operation - send a trading order to the broker server. Naturally, this order does not go beyond the broker's server, and you will not be able to see it in a glass. Accordingly, there is no new tick from your transaction and it has no effect on the market. Unless, of course, you trade in large volumes, so much so that your broker is forced to withdraw all your orders to the market.
The number of ticks received in each time period is uneven. This means that in one minute both 10 ticks and 200 ticks can come - depending on the mobility of the market. At night, for example, there are few ticks; during news releases, there are many. That is, it turns out that we have a tick stream unevenly distributed in time, which is artificially divided into certain segments - minute, five-minute, hourly, and so on. How correct this is and what follows from all this is an occasion for a whole separate article. We will focus on the facts themselves:
- time frames exist exactly as they are, simply because it is so accepted;
- one candle of any timeframe may contain a different number of ticks;
- A tick does not arrive on schedule, but by accident.
It follows that at the opening of a new candle, say at 00:00:00, there may not be a suitable price. A tick may appear, for example, at 00:00:15. The same goes for closing a candle. All this also leads to inaccuracies in testing advisors and the appearance of differences between different brokers. The liquidity providers of different brokers are different and ticks come at different times.
There are a lot of legends that supposedly brokers themselves help mergers. Ask a dozen people who trade forex about what they think about brokers, and they will tell you that they really cannot earn as much as they want, precisely because the broker is “flirting” with them. Is this really so, or is it just trader folklore and the stormy fantasy of cremators?
So, you created your first super-profitable scalping system, tests show excellent results, your demo account shows thousands of percent of profit, and you have opened a real account and are already making plans for how you will spend your millions. And here you find that your results on the demo account and the real one do not just differ much, the real account merges! Opening the terminal, you find that due to the constant expansion of the spread, requotes and slippages, your adviser cannot earn. The first thought, of course, is that your broker does not want you to make real money. You can develop this idea: your broker has already spent your money and is not going to give it to you. You can understand, any normal person would have such thoughts. You just need to study the work of brokers in more detail in order to understand what's what.
In general, put yourself in the place of the leadership of a more or less decent broker, and you will realize that it is not in their interests to harm the trader and merge his accounts. At the moment, there is no competition in the brokerage services market and most often traders go to the most reliable brokers. In the network you can find a lot of reviews and ratings about various brokers. But you should be careful with this, since most of the ratings may well be paid PR. Nevertheless, our forum has a whole section devoted to brokers, where forum users write about problems, conflicts, issues that arise when working with a particular broker. It is enough to read the branch of the broker you are interested in and make a general idea about it.
In fairness, I want to say that not all brokers are equally useful. From time to time there is news that the next “scam” (junk) broker ceased to exist, taking the deposits of traders. Also not uncommon and reports of various egregious violations by the DC. With a direct connection to the liquidity pool, most of the problems described in the article simply would not exist. But we work through brokers, and brokers, in turn, use the MT4 and / or MT5 platform. Well, or some other trading platform. How does it all work? In a nutshell, the broker receives quotation streams from suppliers to his server. And then this stream is sent from the server to the trader by the terminal. And what can he do with quotes that came to him from the supplier, but have not yet gone to the trader? That's right - anything. And the same MT4 platform allows the broker a lot of things - set automatic requotes and slippages, set spread expansion algorithms, change quotes at their discretion, draw any candles on the story.
Previously, brokers' favorite fun was throwing a non-market quotation of the so-called "Hairpins" - when the price suddenly in a split second became ten times higher or lower, draining half of the traders in the market. The second half, as a rule, is canceled by profitable transactions due to non-market quotes, allegedly “coming from suppliers”. The first half merged cancels the deal only in case of contacting technical support. I didn’t apply - it means I don’t need a deposit, the profit for the broker.
There are a lot of such examples, in more detail you can get acquainted with the "capabilities" of the MT4 terminal in the hands of a broker on the pages of our forum member’s diary Gustavo abeladgio. He collected a lot of useful information. So, legends about helping traders to drain, in principle, are not such legends. Nevertheless, only unscrupulous brokers, for whom their reputation is inexpensive, do not shun dirty tricks. Therefore, when choosing a broker, think to whom you trust your deposit - a company with 10 years of experience and a name in the market or a one-day office. In addition, consider which system is more difficult to merge - one that works on M1 candles and for which an occasional small slippage can exceed the size of the stop, or one that works, say, on H1 candles? Which system will be easier to manipulate by slippage, poor execution and widening spreads?
Difference in time
I have already carefully studied the problem of various GMTs with brokers in a separate article. The point is that start the broker a week just an hour earlier and the trader will already receive completely different candles in the form of periods H4, D1, W1, MN1. This is especially true for the H4 period, because the candle in this case consists of only 4 H1 candles and the loss of at least one already means a potential difference of 25%.
In addition, most brokers use DST - they switch the time to summer / winter. Some brokers do not. In addition, year after year is not necessary. Moreover, there are several options for date translation of time - European and American. All this also introduces a lot of confusion and chaos.
The difference in time of closing and opening of the day complements the picture. For example, some brokers do not end the session at 00:00, but at 23:55, but begin at 00:05. The difference is from 5 to 30 minutes. And although it is not so great, it also contributes to the final result.
Each broker lays his markup in the price stream - the difference between the Ask and Bid prices that he expects to receive from the trader who is making a deal at the moment. At different times, the spread then widens, then narrows - all brokers have their own algorithms. This difference can significantly affect the trading results of scalping systems. At the same time, limiting the maximum spread when entering a trade can not always help.
The fact is that, for example, when trading night scalpers, it may turn out that most of the profitable trades were just made during the spread spread and filtering these trades will make the system less profitable or even unprofitable. Alternatively, a solution to this problem can be set in the filter spread, three times the normal spread during use of the system. You can also use some dependence of the maximum spread on the possibility of entry, say, exponential - the higher the spread, the less likely the transaction will be completed. Thus, we will filter out fewer transactions and at the same time, transactions with a high spread will be completed with a small probability.
As a development of this idea, lotality can be varied based on the size of the current spread. For example, risk 1/5 of the standard lot if the spread is 5 times higher than the usual average. It is very interesting to study the time spread spread chart for your broker. There are many indicators that allow this, they can be found in this thread.After analyzing such a chart, you can easily understand at what time periods you should not go into trading.
In any case, filtering deals by spread will lead to the loss of some transactions, which means that history tests will be very different from real trading and actual trading will differ from different brokers, which automatically leads us to increase broker sensitivity. Therefore, the most reliable option is to develop systems for which the spread difference has an insignificant effect.
Each broker is a separate market
In view of the above reasons (lack of regulation and centralization and differences in the flow of quotes due to different liquidity providers), each broker can be considered as a separate market. Due to the fact that the final “cocktail” of the quotes flow is collected from a whole “mix” of various popular liquidity providers, this whole thing is then smoothed out by various algorithms and markups, and from the top it is sprinkled with various algorithms for expanding spreads, generating slippages and requotes, each stream The quotes are really unique.
When you do a test of your system on ten-year data, you expect that drawdowns, profit factor, and other trading statistics in real trading will correspond to the test results (provided that the parameters were optimized correctly). Unfortunately, few brokers are so friendly with traders that they provide their own historical database. Therefore, such a base of high enough quality is usually worth its weight in gold.
From well-known sources, the most popular broker with its own historical base is Alpari. At this broker you will find M1 quotes for major currency pairs since 2000, this is quite enough to test almost any type of trading system. Therefore, most often testing of advisers occurs precisely on this story. But it often happens that trading is already done with another broker. And, as we already know, quotes at different brokers differ, sometimes significantly.
Well, what if we trade on the same account the data of which was used for testing? Logically, there should be no discrepancies. Let's see:
The differences are not significant, but they are. It is very important to understand how different the real test data is from the statistics obtained from the test on historical data. Knowing this difference, you can always adjust the estimated risks, the expected maximum drawdown and other values. This is a comparison of the test of the real profitability of the vehicle with the test on the historical data of the same broker and the type of account for the same period of time. This error gives the terminal itself. As you can see, for the trading system in the H1 period, it is small and amounts to only 1-2%. Therefore, testing on data from the same account of the same broker on which you intend to trade is a good idea.
But let's see what happens if you test the system on the data of one broker, and trade with another. Maybe not so bad?
As you can see, over time, differences in profitability are increasing and after only one year of profitability differ by more than 30%. What can we say about, say, a ten-year period? In this example, the deviation is negative, but this is not the rule at all. You may well get decently better results in real trading with a broker other than the one used for the tests. There are many such examples. But nevertheless, the main problem here is different: by making tests of the trading system on the data of one broker, you can no longer be sure of the obtained statistical characteristics of the system when trading with another broker. They will be different, which means you will overestimate or underestimate the risks and, as a result, you will risk too much or, conversely, lose potential profit (overestimating the maximum drawdown).
How to compare two brokers
In connection with the foregoing, you probably already had the idea of comparing several brokers among themselves. Of course, we can compare the levels of high, low, close, open candles or indicator readings, spread width, average slippage, but what will all this give us to assess the quality of the quotes themselves? Yes, comparing the last two of these characteristics, we can judge the performance and “greed” of the selected brokers, but this will not tell us anything about quotes. A comparison of levels and readings will give us an idea of the difference between the quotes of these brokers, but again not a gram of information about the quality itself. So what is the criterion to use so that you can compare the quality of the quotes themselves?
Tick volume, in my opinion, may be the answer to this question. Comparing the number of ticks arrived at a selected unit of time, for example, per minute or hour, we can judge how the quotes flows of the two brokers differ from each other, what kind of liquidity brokers have and whether there is any manipulation of the tick flow. In just a few minutes, you can write a simple script and measure tick volumes per unit time for two different brokers.
Most brokers indicate their liquidity providers on the website, so it is worth comparing brokers with similar providers. For example, if with the same suppliers the number of ticks per hour amounted to 7000 for one broker and 1000 for another, then do not go to a fortuneteller - the second one obviously conjures its quotes. Well, of course, it is preferable to use a broker with a maximum indicator of the number of ticks per unit time. At the same time, if you build a simple moving average by the number of ticks received from different brokers, you can learn a lot about their final price flow provided to the trader. In general, this is a topic for a whole separate study, so for now let us leave it.
How to evaluate system tests on historical data
Monte Carlo analysis will help assess the impact of brokers' dependence on test results. The essence of the analysis is to “complicate the life” of the trading system as much as possible:
- Start trading from another point in time;
- Confuse pieces of historical data in places (for example, push the last year into the middle, and the first to the end, and so on);
- Change the shape of the candles by a few percent of its height;
- Change the spread and emulate its expansion / contraction within specified limits;
- Emulate slippage and other performance difficulties;
- Selectively “inadvertently miss” a given part of transactions randomly;
- Or for fans of complete extreme, mix candles from the history of quotes of another currency pair;
Usually the power of influence of all these atrocious factors is regulated, and with proper configuration of the software that is used to carry out such a test, you can assess the chance of "draining" the system if everything is "very bad." As a rule, they distinguish the “worst case” or worst case scenario, speaking the native language. This worst case scenario is taken as a very likely outcome and, based on its “worst case”, the trader decides for himself whether the system should be allowed to trade. Usually, if the “worst case scenario” doesn’t even drain the deposit, the system can be allowed to trade - you will surely be sure that even in the worst case scenario you will not lose the deposit. Some tests allow you to make some software, but, unfortunately, this can not be found in the MetaTrader terminal. Nevertheless, for example, this program allows you to do some basic tests, although its capabilities are very limited. But it’s still much better than nothing at all.
Number of degrees of freedom
In simple words, degrees of freedom are the number of variations of the same rule. For example, we have a rule for entering purchases when the RSI crosses level 30. There can be quite a few options for this intersection: RSI can stay under this level for a very long time, and it can only drop one bar below it. It can drop to almost 0, or it can touch the level by only one point and so on. Such a rule has many degrees of freedom. Moreover, each new rule limits the degrees of freedom of the system. And as a result, with a large number of rules, only one single option of price behavior can turn out, at which the system will enter the transaction.
The problem here is that the less degrees of freedom of a system, the greater the risk of over-optimizing this system, in other words, fitting to certain data. This does not mean that the system will necessarily pour on the same data in the future. But this definitely means that on other data (from another broker, for example), the system will behave differently. If you doubt the adequacy of the number of degrees of freedom of your system, run a test on the historical data of another broker and compare the differences.
And one more thing - a small number of rules is not a guarantee of a large number of degrees of freedom of the system. The specificity of the rules themselves also plays an important role. For example, a simple intersection of a level by the oscillator is one thing, and the intersection of a level by the oscillator of a certain amount, not higher than the maximum and not lower than the minimum, is another. Obviously, the second rule will have significantly lower degrees of freedom. And all this can lead to at least increased broker dependence, and as a maximum to reoptimization.
When using indicators, moments often arise that are discussed above, when a couple of tenths of the reading of the indicator used is not enough to enter the deal. The same problems can arise when using TP, SL, pending orders, levels, and generally anything else. Here the so-called fuzzy logic can come to the rescue, which will make the rules of your strategy less strict. By analogy with manual trading, when a trader determines the levels of indicators “by eye”, fuzzy logic uses the same principles. For example, if the same RSI indicator did not reach the level 30 of only 1.3 points and turned around, why not take this deal anyway if all other rules are followed? At the same time, the greater the deviation from the standard (level 30 in our example), the trader is in fact more at risk. Therefore, it would be logical to introduce a certain coefficient that will take into account the deviation from the “norm” and lay it in the risks of the system. That is, when turning on the RSI 31, we will risk the same as when crossing the level 30. But when turning on the RSI 35, we will risk 60% of the normal lot.
According to this logic, we no longer have the concepts of “black and white”, strict rules are a little blurred and the system becomes much less dependent on the flow of quotes, indicators and other things. If the current situation is similar to the “reference conditions” is weak, we risk a small volume. If the conditions are perfect, we will enter the settlement lot. Of course, fuzzy logic is not such a simple tool and it is not so easy to integrate into trading systems. Here, processing of both the entry / exit condition itself and the correction of money management will be required.
Tips to Reduce Broker Dependence
As a rule, the greatest difference between the candles of two different brokers is observed during periods of least volatility. If we talk about the forex market, then this, of course, is the Asian session. What now to do, throw out night scalpers? Of course not. Quite often, during the Asian session, volatility is sufficient for trading. It just needs a special filter that will prohibit trading if the current volatility falls below the specified minimum level.
It is also worth avoiding building systems that use high and low candlesticks in calculations, including for calculating indicators. If you can’t do without using these values, use the moving average of high prices + 10% of the ATR volatility indicator for high and SMA (Low) -0.1 * ATR for Low prices. I took the ATR coefficient offhand, in fact, of course, you need to select it individually.
Well, as we saw at the very beginning of the article, you should avoid working on low timeframes. The lower the period of work, the higher the broker dependence. Therefore, ideally, of course, it is worth writing systems for the period from H1 and above. In order to avoid disagreements with GMT on high periods, especially on H4, which is the most sensitive to GMT, you can use your own candlestick constructor inside the EA. This means that you will simply collect your own H4 candles from the hourly timeframe, which the GMT difference does not affect. With the assembly of H4 candles from H1 candles, I think no one will have problems. It will be a little more complicated with the indicators, because they will also have to be counted inside the adviser in order to “feed” them the correct prices.
Today we met with one of the most global and serious problems on Forex arising from the decentralized nature of this market. I tried to cover this issue as widely as possible and consider the problem from different angles. I hope this information will prompt you to further research or, at a minimum, make you be more careful when testing expert advisors on various historical data, as well as when using various brokers in real trading. The solutions I have proposed, of course, will not completely relieve you of the problem of broker dependence, but many of them will significantly reduce the impact of this negative factor on your final result.
It is also worth paying attention to the item “Recommended brokers”, which we fill out in the reviews of advisers and strategies.