The quality of quotes is the basis for effective testing of the tester/manual strategy. And although the test results do not guarantee a repetition of the situation in the future, all technical analysis is based on the search for patterns. Therefore, the input data for testing should be as accurate as possible. The accuracy of quotes of most brokers is at the level of 90-95%. 95% is not bad, but you should always strive for the best. About where to get quotes, how to process them and prepare for testing, in this review.
Preparation for testing an adviser or strategy
- Historical data type. First of all, these are prices – the value of an asset in a given period of time. The more accurate the price values, the better, but technically this is not always feasible. The allowable period also matters. The deepest history is in the daily charts. In MT4, information on daily timeframe prices has been available since 1971. Minute data is from 1998-2000, tick data is from 2007.
The price value in quotes for any period has the following parameters: quote date, price type (by candlestick), volume of deals by period (tick volume). For daily and higher intervals, there may be no maximum and minimum prices – only the opening / closing price is indicated.
In addition to the price, specific fundamental data can be used for testing. For example, an abnormal price surge may coincide with the release of statistics, a change in the discount rate, etc.
2. Time scales of data. It is logical to load quotes according to the timeframe recommended in the EA/strategy description. But many strategies can work on different timeframes and in certain periods of time show the best results both on minute and daily intervals.
The more accurate quotes of a smaller timeframe, the better. Having accurate quotes for minute timeframes, you can get quotes for higher intervals. But having the closing price of the day, it is impossible to see the closing prices of each hour.
The smallest timeframe is M1. Only tick data is smaller (a tick is the minimum price change). The tick history is needed mainly for testing advisors that work on news, high-frequency advisors (MT4 and MT5 do not support HFT trading). There is no point in chasing accuracy on tick quotes – there is always a broker’s error and a tester’s error, which levels the accuracy of quotes.
3. Testing timeframe selection. Here everything is individual. Testing on M5-M15 intervals takes a lot of time, although you can use the MT5 cloud testing technology – it is faster than MT4. On the other hand, strategies on such a timeframe open ten deals per day, so they can be more effective.
Systems that are optimized on higher timeframes are more resistant to local fundamentals. They are less dependent on the broker and trading costs. If we compare the testing period, then for short timeframes there is no need to load data for the last 10 years (conditionally). For long intervals, a large amount of historical data is needed.
four. Quote quality. One of the reasons for the unreliability of test results is the integrity of quotes. For various reasons, “bad” quotes may contain gaps. For example, missing data on a daily interval for several days in a row. Breaks in the price flow have nothing to do with reality, so the results of such testing cannot be taken into account. A trading system based on the history of quotes will be unprofitable and you will spend time trying to find an error.
Examples of “poor quality” quotes:
- A hairpin is a big shadow in the short term. The price literally in a second sharply changes its value and returns. “Kitchens” often sin with this, artificially changing the price in order to catch client stops. Hairpin – guaranteed loss of the deposit.
- Small mistake. For example, in the opening price, the last two digits are reversed: 1.4895 and 1.4859. Visually, such an error is difficult to notice even with the help of Excel. But it can drastically affect the test results if it occurs frequently.
- Data skip. Appears when quotes are not stored in the database for various reasons. Often this problem occurs during holidays and night periods.
Quotation accuracy problems are solved by downloading them to a spreadsheet editor, comparing and eliminating inconsistencies. The second option is to run a script in the MT4 platform, which will find all the so-called “holes”. An example of a script is history_data_analysis, it can be downloaded for free on the MQL5 website.
The problem with the accuracy of quotes is that few dealing centers are ready to provide accurate data in the public domain. Each DC has its own technology for fixing and saving data, especially for small timeframes.
- Quotes of minute timeframes are the most preferable. But in addition to them, we need information on the strongest fundamental factors of the period.
- Compare quotes from multiple suppliers. They can be: your broker, other brokers, independent quote providers, default MT4 providers.
- The most important data is the closing price of the candle. Almost all advisers have a function that gives a command to open a deal when a candle of a new timeframe opens. And it is the closing price that participates in the analysis “whether all conditions are met”. Its accuracy is checked first.
- The accuracy of quotes is verified in a spreadsheet editor or using scripts. It is allowed to create a base of quotations based on quotations taken from several sources.
Preparation for testing and directly testing with subsequent optimization take a lot of time. But at the end you will get a product that will most likely correspond to the real market.