I'm trying to test an expert in strategy tester in the same computer on two different brokers MT4 platform. They are both build 950.
I have downloaded M1 historical data from FXDD and by using period converter, convert it up to Monthly data sucessfully in both terminals, checked all TFs, fine. Report gives 90% tick quality both.
The expert has same inputs, same data, same slippage in both terminals however results are slightly different. If it would be a demo or live, I would consider the difference as normal however both test are performed in strategy tester. No latency issue, no hidden slipage or different spreads etc etc.
I know that brokers could develop some addition things at the top of MT4 terminal but I wonder if they could able to implement something that would change the expert behaviour in strategy tester level?
How can I purely backtest the expert behaviour off-line without any broker impact?
The Expert Advisor uses the strategy of trading the Fibonacci levels. As the basis for placing a grid, the EA uses the ZigZag indicator (included in the standard MetaTrader delivery).
First, the EA determines the trend direction. To do that, according to the Dow theory, it uses the last two Highs and last two Lows of the ZigZag.
If the last High is higher than the previous and the last Low is higher than the previous, the EA considers the trend to be ascending. If the last High is lower
The script is intended for automatic placing of Buy Stop pending orders, Stop Losses and Take Profits on the user specified levels.
Avoiding unwanted entering a long position in case of false hitting the level as a result of widening of the spread by a dealing center. Avoiding unwanted triggering of a Stop Loss in case a quote pierces a significant level (fractal) without further confirmation with the close price. Setting a necessary virtual order and entering the market in
The economic calendar is made in the form of an Expert Advisor that downloads the data from one of the most popular Forex sites (forexfactory.com/calendar.php). The data is presented in two ways. The first (primary) is represented as icons with detailed information about the event. The second is displayed as a line with a news description. Economic Calendar downloads published news in real mode with the possibility to adjust the spacing of data validation and user-friendly customizable graphical
VirtualTradePad - is a contol panel for working with orders in МetaТrader 5 : buy, sell, buystop, buylimit, sellstop, selllimit, close, delete, modify, tralling stop.
VirtualTradePad won 2nd prize in the "Best Control Panel in the MQL5 Language" Contest.
The panel consists of 5 tabs.
VirtualTradePad PositionsStyle VirtualTradePad Ordersstyle VirtualTradePad SignalsStyleDemo version of the panel - VirtualTradePad LiteProfit or Loss PadINFO PadYou can also try this panel for
The script creates account summary report in a separate window.
The report can be created for all deals and on deals for selected financial instruments.
It is possible to specify a time interval of calculation and save report to htm-file.
The script creates account summary report in a separate window.
The report can be created for all deals and for deals of the selected financial instruments.
It is possible to specify a time interval of calculation and save report to htm-file.
The PZ Day Trading indicator detects reversals in a zig-zag fashion, without repainting or backpainting. Based on breakouts of variable lengths, the indicator uses only price action to pick trades and reacts to the market very fast. The positional accuracy of its signals offers huge opportunity for profits, easily up to 80% winners.
Amazingly easy to tradeChart statistics will help you to optimize your tradingIt works on every single timeframe without fine tuningThe indicator analyzes its own q
The indicator is intended for determining the spread and swap size, the distance for setting stop orders and stop losses from the current price allowed and the risk per 1 point in the deposit currency.
The indicator informs a trader about possible additional expenses and profits connected with transferring a position to the next trade session of the financial instrument. It also informs about the spread size and the distance of pending orders, stop loss and trailing from the current price. In a
The main purpose of the indicator is to determine and mark trade signals on the histogram of the Accelerator Oscillator, which were described by Bill Williams in his book "New Trading Dimensions". The list of signals:
The buy signal when the indicator histogram is below the zero line. The sell signal when the indicator histogram is below the zero line.The sell signal when the indicator histogram is above the zero line. The buy signal when the indicator histogram is above the zero line. The
The script is intended for automatic placing of Sell Stop pending orders, Stop Losses and Take Profits on the user specified levels. This script is not that useful as "Virtual pending buy stop", since short positions are opened as Bid price crosses the levels. Thus spread widening is not dangerous. Nevertheless, you need to have this script to prevent unwanted hitting of the Stop Loss levels.
Automation of the process of placing the Sell Stop pending orders, Stop Losses and T
This product is similar to Tick volume analizer Expert Advisor, however it is implemented as an indicator. Release of this product is stipulated by the fact, that it is not possible to run two EAs in the same window.
Tick volume is equal to amount of ticks at the unit of time. There is direct correlation between tick volume and real amount of deals. Every change of the price is a result of a real request to perform a deal. Consequently, fewer requests we have, the less price changes we get, an
The indicator of support and resistance levels. A very good helper, fits any style of trading. It has a lot of parameters for adjustment.
This is a panel for controlling the profit/loss in dollars, pips or % of balance. A new function for trailing profits has been implemented.
The panel can be used as a virtual Stop Loss or Take Profit.
It also features the emergency button - CLOSE ALL.
You can also try the full version of the VirtualTradePad for mt5 panel, as well as the Profit or Loss for mt4 panel
Other versions in this collection:
VirtualTradePad for mt5 Digit Market Time Pad Market Time Pad Scalper PadMain f
The Spread 2 Pair indicator visualizes moments of two instruments' convergence (collapse) start. Signals are not delayed so you can timely enter and exit the market.
This indicator is developed for pairs trading and creation of your own trading system based on difference in movements of trading instruments.
Unlike most of multi-currency indicators, the Spread Pair indicator does not load CPU, calculations are immediately performed, it is non-redrawable.
Settings of every currency pair provi
HWAFM (the harmonic wave analysis of the financial markets)
Harmonic trading involves searching for certain price patterns (specimens) and Fibo numbers in order to define highly probable price reversal points. The method is based on the assumption that trade patterns or cycles repeat themselves just like in real life. The main objective is to identify these patterns, as well as position entries/exits. The analyzer is based on a high degree of probability, which is confirmed by the price movemen
Does not support hedging orders on a single symbol on MT5
MultiMTCopier MT5Source - new and improved multi-terminal positions copier for your real / demo account, works faster, requires less, flexible in managing and upgrading, new information support. This expert is designed for terminal MetaTrader5 from which the position will be copied.
The EA will copy all positions without delays Additionally integrated notification in situations requiring user attention Buttons for re
Does not support hedging orders on a single symbol on MT5
MultiMTCopier MT5Receiver - new and improved multi-terminal positions copier for your real/demo account, works faster, requires less, flexible in managing and upgrading, new information support. This Expert Advisor is designed for the MetaTrader 5 terminal, trades will be copied into this terminal.
The EA will copy all positions without delays Additionally integrated notification in situations requiring user attention
Percent Crosshair is a powerful and easy percentage measure tool.
Measure the chart percentage very quick! Don't waste your time anymore!
Just attach the Percent Crosshair indicator in the chart, select crosshair mode at toolbars or press "Ctrl+F" and start using the crosshair as you always do! The percent measure will be next to the indicative price.
Customize your indicator the way you want!
There are 4 entry parameters:
Positive % color: set the desired color when % is positive. Negat
This is an utility for automatic scaling of a chart and making at least 140 bars visible in it. This is necessary for a correct wave analysis according to the Bill Williams' strategy "Trading Chaos". The utility can be used on any timeframe available in МetaТrader 5.
It draws a vertical line through the first bar the calculation starts from. This line allows you to see the probable starting point of the wave sequence along with a sufficient number of bars displayed in the chart. It also makes t
Times & Sales is a famous (and old!) trading tool. However, it is not present in MetaTrader 5 as a built-in tool.
DeltaTrader now presents this indicator for MetaTrader! It has the following characteristics:
Two flag modes: FOREX and EXCHANGE
FOREX: black color: last price = 1-Minute opening price / blue color: last price < 1-Minute opening price / green color: last price > 1-Minute opening price. EXCHANGE: black color: last price = between quotes / blue color: last price = bid price / gre
Informer for VPS - report on the state of your account via e-mail. Useful for controlling your Expert Advisors that run on a VPS or a dedicated computer. Information about open positions and last deals for a day, week, month or year grouped by currency pairs.
Adjustable periodicity of reports and depth of deals included in the report. A possibility to add own comment to each report. You will receive reports on e-mail with specified periodicity: from 15 minutes to once a day. The reports are se
qAutoActivation indicator is one of the main components of Trading Chaos Expert trading expert panel. The indicator displays the current trend on the current timeframe. This is the first indicator that is attached to the chart and saved in the trading complex template. It defines what trading signals from the expert panel should be automated for market entry (bullish or bearish ones).
When the trend changes, the indicator changes the line color and, at the same time, highlights the trading pane
Fast Copy MT5 allows to copy trades between different MetaTrader 5 (netting)(hedge) and MetaTrader 4 accounts in any direction and amount, quickly and easily (without loading the system).
Any type of copying is available
MT5 —> MT5 MT5 —> MT4 MT4 —> MT5 MT4 —> MT4
* For any interaction with the MT4, it is necessary to additionally install Fast Copy MT4
One tool for sending and receiving transactions: [master] > [slave] operation mode can be selected in
Exp COPYLOT CLIENT for MT5 is a copier for the МetaТrader 5 platform. It copies forex trades from any accounts. Including those from terminals МТ5 and МТ4.
Install the Expert Advisor in the terminal where you want to copy trades. Specify any text label name as pathRead, for example, "COPY". This should match the master terminal (to bind the two terminals). To copy trades, you need to install the free Master copier in the terminal from where you want to copy the trades: COPYLOT
Safe Automatic is a safe MetaТrader 5 trading robot working autonomously on a VPS server. The good results are achieved on EURUSD.
The EA applies modified versions of a trend-following strategy, half-pyramiding, scalping, Elliott Wave method and speculating trading with a deposit protection. The EA switches the strategies automatically. The robot does not trade at night from 10 p.m. to 4 a.m. (server time).
The robot was tested in the special tester on real ticks. Empirical e
The difference from the standard ZigZag indicator is the following: instead of calculating new extremum points based on the number of bars, it uses the distance between the high and the low to calculate the extremum points. In addition, this distance is calculated dynamically on default and depends on price fluctuations for a selected period and the multiplier. The distance can be set as a fixed number.
In addition, it displays the reversal line, reaching which the previous extreme point is fix
IShift Lite is a lite version of IShift, and it doesn't include the tick chart.
IShift Lite allows:
perform trade operations directly from the depth of market with a "single touch"; automatically place Stop Loss and Take Profit; move position to breakeven; move Stop Loss along the price; automatically calculate the volume of an order depending on a fixed risk level or a fixed margin level.The program includes a visual help system.
Note: the demonstration version downloaded via the "Demo
The script allows users to easily close positions if their profit/loss reaches or exceeds a value specified in pips.
Please set slippage value first. Sometimes some positions do not close due to high volatility of the market. Please set larger slippage or restart the script.
The main purpose of the indicator is to detect and mark trade signals on the histogram of the Awesome Oscillator according to the strategies "Trading Chaos, second edition" and "New Trading Dimensions".
The indicator detects and marks the following trade signals:
"Two peaks" - Divergence. The signal "Second wise-man" - third consequent bar of the Awesome Oscillator after its color is changed. The histogram crosses the zero line. The signal "Saucer".The indicator includes a signal block th
We present you an effective software solution for arbitrage between brokers.
The Arbitrage on the market became widespread due to decentralization. There are many liquidity providers, whose quotes differ for various reasons. By tracking the dynamics of changes in the quotes of different brokers, it is possible to determine the delayed and leading brokers, thereby predicting the future prices of the delayed broker for a short time. Knowing these prices and using efficient built-in software filte
Trading Chaos Expert Lite is a light version of Trading Chaos Expert. In the Lite version it is not possible to receive the table of trading signals, automatically place pending orders based on them and maintain open positions for multiple symbols at the same time in one window. Only the Current Chart mode is available. In all other features the panel is fully consistent with the basic version of the Expert Advisor.
This is, rather, a well thought out trader's assistant which is not easy to do
That is to be expected, as the current or week-end closing prices of the currency pairs will be slightly different on various brokers. This is noticeable when the currency pair being tested requires an exchange rate to be applied to be calculated for the Deposit/Balance currency.
For example, lets say you are testing the "GBP/JPY" but your Deposit/Balance currency is in "USD". In this case your Profit or Loss has to be converted from "JPY" to "USD" and to do so the Strategy Tester uses the current exchange rate given by the broker which can be slightly different on another broker.
However, if you were testing the "EUR/USD" and your Deposit/Balance is "USD", then there should be no difference between brokers as the tick value is already in "USD" and so no exchange rate need be applied (except for other factors).
EDIT: You can also read the following post as it is related: https://www.mql5.com/en/forum/159037
Thanks for your prompt answer. Since the data is the same (downloaded from as M1 data) I'm not sure if it's related with weekend closing prices. I 'm testing 2015-Q3 to 2016-Q1, so no recent data tested.
The deposit issue was something I did not consider however the # of open positions changed as well. In one broker it opens 30 positions, other 31. I suspect from data but the data is completely same. I've fully clear all M1 to Monthly data from history in both cases and import the M1 data fresh. Both account is USD based and I'm testing GBP/USD.
I've checked the topic you mentioned, in my case, every time I run the code in the same broker, it gives the same result. There is no change in the same broker or in the same terminal. So there can't be any randomless issue in the code.
Since the data is the same (downloaded from as M1 data) I'm not sure if it's related with weekend closing prices. I 'm testing 2015-Q3 to 2016-Q1, so no recent data tested.
Even if there is no currency conversion on testing GBP/USD with USD Balance, there can still be differences due to specific broker conditions (for example different values between brokers such as "Leverage", "Stop Level", "Freeze Level", "Lot Size:
Min,Max & Step" and others).
Also, even though you downloaded the same M1 data, there is no guarantee that the "emulated" tick data that MetaTrader produces will be exactly the same every time on different setups (due to minor factors in play).
The only way to guarantee exact match is to have an exact same FXT file produced with "real" tick data (and the same properties/conditions), and to do that you will need to use 3rd party tools such as "TickStory" or "Birt's Tick Data Suite" (or others).
The following screenshot from TickStory shows the properties ("Leverage", "Stop Level", etc.) that are stored in a FXT file and that affect the outcome of the back-test (and thus cause differences between two different setups):
EDIT: PS! Also remember that different brokers may also have different Time-zones that will also affect the outcome.
One more item I need to mention and it is a very important one.
Obviously I understand that you want to make sure that your EA is running correctly and that you are executing your back-tests properly and that is why you are trying to identify the differences when testing your EA against various brokers.
However, it is actually a GOOD thing that you are getting differences as that will allow you to test your EA against various environments and brokers and thus improve its functionality so as to adapt to those differences.
Thanks again, you are giving valuable information, I'll check tickstory. You are also right that I'm testing in different environment which sould make me more comfortablebut in fact I'm not :-))
The data I downloaded is not 99% quality, it's 90% and this makes difference between real trading and backtesting (even 99% could make difference, I accept this). Which I couldn't understand is that the terminal softwares have the same build thus should excatly behave same during strategy testing, independent of broker's values/setting etc. I'm not testing on demo or live, this could make difference but backtesting should not. I could also accept that backtest data I've downloaded is not accurate and in demo or live trading results could make differences but in the same dataset it should behave exactly same.
Suppose that I want to sell or hire my expert. I should show some backtest results, calculate sharpe ratio etc, should I say, according to Broker-A's terminal backtest results profit is 5263USD and according to Broker-B's terminal it is 4712USD? My backtest results are as below:
Profit 5263USD, profit factor=3.06 Trades=33 Drawdown 8.20%
Profit 4712USD, profit factor 2.95 Trades=32 Drawdown 6.33%
If I cannot find and accept a reason why two terminal results are different, I would conculde that the additions that brokers made on MT4 terminal could impact expert trading! They could as well stop/block some functionality in the expert with purpose or without purpose.
PS.Previously I observe a different issue between a broker's demo system and live. I was running an expert that calculates linear regression slope. I have tested and verify in the same brokers terminal with demo account and when I connect to live from the same terminal the linear regression didn't work. The same broker, same expert (even in the same directory with same settings) but probably different servers made difference. It was only drawing the regression no trading. The regression values became zero in live but working perfectly in demo. Broker didn't find anything or didn't really checked!
Thanks again, you are giving valuable information ...
I've just finilized another fresh installation of MT4 downloded from metaquotes.net, load the same history data (M1 to Monthly) and copy my indicators/expert.
The same testing performed between same dates and same spread etc.
Profit 3854USD, profit factor=2.91 Trades=25 Drawdown 6.19%
Between broker-A and broker-C there is a huge difference in terms of profit and # of trades.
I also did a different test, I've copied the ex4 expert of broker-a terminal into broker-b terminal (not perform compile) the results still different.
I suspect from the implementing of historical data, but will try to verify each data is copied as same in TF 5 and above. I'm sure about M1 data but how period converter works I'm not sure about it.
I know that broker's apply different rules and conditions but backtest should not vary from broker to broker. It could differ from histroical data to historical data but not from broker to broker.
I know that my expert will not work in live as in backtest due to sliappage, market conditions, different spread, different LPs etc but I would expect that it gives same results with same settings and data in backtesting. I currently could not get a "reference" performance of my expert. The live performance is something on top and different issue.
The linear regession case, it works in other broker's live and demo but only in one broker it works in demo but not live. I'm pretty sure that it's not a coding issue since the same ex4 works in different brokers. I also think that my case is not a coding issue, I run it many times with the same settings, getting same results but when I change the terminal it differs. I'll make a couple of different setups and try to undersand if it's a historical data implementation issue or not. Thanks.
aed71: >> I know that broker's apply different rules and conditions but backtest should not vary from broker to broker.
Wrong! I have already pointed out (several posts) that there are many reasons for being different and I have already listed several, yet you have not comment once on them.Do you know what "Stop Level" or "Freeze Level" is? Does you code adjust stop sizes based on it?Does you EA adjust the prices based on the tick size (and not the point size which is the incorrect method)?Does you code check for the minimum, maximum or step size of lots?Does you code check the leverage and margin risk?etc.
Wrong! I have already pointed out (several posts) that there are many reasons for being different and I have already listed several, yet you have not comment once on them.
aed71: >> but I would expect that it gives same results with same settings and data in backtesting.
Wrong again! I have already pointed out that the Strategy Tester "emulates" tick data and that is NOT the same as "real tick data", nor does it have delays or latency problems or re-quotes that live or demo forward tests have.
aed71: >> I'm pretty sure that it's not a coding issue since the same ex4 works in different brokers.
again! You have just described the classical "bug" - your code is unable to adapt to a particular condition of which you are not aware. In the very least your code should detect the abnormality and warn you about it. The very fact that you don't know WHY it is happening with just that broker's live account is the proof that it is a "condition" that the code (and you) does not cater for. There is an old saying in programming - G.I.G.O; which is quite cynical, but roughly translates into the idea that a program can only be as good as the knowledge that went into it, and when it fails it is in fact the coder/programmer that failed and that the "bug" is in the human (not the machine). That is why coders/programmers have to continually improve their knowledge and experience in order to improve their code.
EDIT: PS! If you want, send me a PM and the details of the broker account that does not work and I can test your ".ex4" file on it and offer you debugging advise.
I'm not able to send my code even ex4. The example I gave about the linear regression code was 2 years ago. I'm not even using it and the issue is not that code, it was just an example that there can be different implementations of brokers even in their different servers.
The issue is backtesting (even offline) differences between MT4 terminals. The issue is also not real trading vs backtesting differences. Why the same expert works differently in broker-a and broker-b terminals.
I'm currently suspecting historical data differences between terminals. I need to check the consistancy of historical data between terminals.