You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Not code.
Thank you for your time,
My broker is Hotforex and I'm using MT4 Demo account for testing my strategies. However I use Tick Data Suite to gain 99% accuracy backtest. You can download TDS from eareview.net. It offers two weeks trial also...
I've downloaded historical tick data from Dukascopy source via TDS.
Anyway did you receive numbers instead of 00? If so please advise me what you have done. Something which is important is that different time frames with same instrument work well with iHigh,iLow,... but Ask and Bid prices just work for the opened chart symbol in strategy tester engine(MT4)
As two alternatives I've tried iClose(SecondPair,TimeFrame,0) which should return the Bid price of the second pair. But it also does not work and returns iOpen instead of iClose!
Finally the best option for my current skill was using OHLC of the candle 1 of the 1 Minute time frame and recalculating the needed data according to all of the 1 minute candles after closing last 4H candle. Which the result was unsatisfying...
If you receive something instead of 00 while you are backtesting in MT4 strategy tester, You did what I need. but make sure you have both instrument Ask/Bid at the same time.
Thank you for your time,
My broker is Hotforex and I'm using MT4 Demo account for testing my strategies. However I use Tick Data Suite to gain 99% accuracy backtest. You can download TDS from eareview.net. It offers two weeks trial also...
I've downloaded historical tick data from Dukascopy source via TDS.
Anyway did you receive numbers instead of 00? If so please advise me what you have done. Something which is important is that different time frames with same instrument work well with iHigh,iLow,... but Ask and Bid prices just work for the opened chart symbol in strategy tester engine(MT4)
As two alternatives I've tried iClose(SecondPair,TimeFrame,0) which should return the Bid price of the second pair. But it also does not work and returns iOpen instead of iClose!
Finally the best option for my current skill was using OHLC of the candle 1 of the 1 Minute time frame and recalculating the needed data according to all of the 1 minute candles after closing last 4H candle. Which the result was unsatisfying...
If you receive something instead of 00 while you are backtesting in MT4 strategy tester, You did what I need. but make sure you have both instrument Ask/Bid at the same time.
I've done some tests, and it is clear to me now, that MT4 strategy tester does not load tick data for symbols other than the chart symbol. Whether you've downloaded tick data of other symbols via MT4 itself, or via TDS, is irrelevant here. MarketInfo functions simply won't retrieve the ask/bid values you want.
One possible workaround is to create your own MarketInfo-like functions that will read from your own data files containing the ticks of other symbols, rather than relying on MT4's MarketInfo. Additional preparation step would be necessary - to retrieve such data during backtesting and write them to the data files, one run per symbol. This way, you'll have access to ask/bid prices for any number of other symbols.
I've quickly created two EAs to see if the data file idea works - TickFileWrite.mq4 will write tick data into a binary file named as the symbol (in tester\files folder), and HosseinKOGO.mq4 will do what you originally intended - to read ask/bid prices of other pairs during back testing.
And this is a portion of the journal output when backtested on GBPAUD, M1:
Of course, this test is done using MT4 historical tick data, which is only down to precision of seconds. Wonder if TDS go down to milliseconds?
I've quickly created two EAs to see if the data file idea works - TickFileWrite.mq4 will write tick data into a binary file named as the symbol (in tester\files folder), and HosseinKOGO.mq4 will do what you originally intended - to read ask/bid prices of other pairs during back testing.
And this is a portion of the journal output when backtested on GBPAUD, M1:
Of course, this test is done using MT4 historical tick data, which is only down to precision of seconds. Wonder if TDS go down to milliseconds?
About the two EAs you've written, I understood what do they do by your explanation, however I can not understand what should I do with them and where should I insert my Second,Third or... pairs. If it is possible, please guide me how to make use of them. I can not understand the code :D
No its precision is seconds as well. However the provider says it generates the real tick by tick data. I myself chose it to have faster assessments for my ideas.
About the two EAs you've written, I understood what do they do by your explanation, however I can not understand what should I do with them and where should I insert my Second,Third or... pairs. If it is possible, please guide me how to make use of them. I can not understand the code :D
TickFileWriter.mq4 is to be run first, each time on the additional pairs (so if you want to access bid/ask prices for GBPUSD, AUDCAD, USDJPY, for example, then you'll run strategy tester for this EA 3 times, each time with each of the 3 pairs, with tick data).
Next, you insert the additional pairs here (these lines are at the top of HosseinKOGO.mq4):
Then run strategy tester on HosseinKOGO.mq4, and on chart GBPAUD M1. Then see the journal for the print outs... check whether they're indeed what you wanted. Once you've confirmed, I'll help to "beautify" the codes so that you'll have a single function call to retrieve the data - same function call for all pairs (i.e. GBPAUD included) and will also work transparently when you run live later on.
TickFileWriter.mq4 is to be run first, each time on the additional pairs (so if you want to access bid/ask prices for GBPUSD, AUDCAD, USDJPY, for example, then you'll run strategy tester for this EA 3 times, each time with each of the 3 pairs, with tick data).
Next, you insert the additional pairs here (these lines are at the top of HosseinKOGO.mq4):
Then run strategy tester on HosseinKOGO.mq4, and on chart GBPAUD M1. Then see the journal for the print outs... check whether they're indeed what you wanted. Once you've confirmed, I'll help to "beautify" the codes so that you'll have a single function call to retrieve the data - same function call for all pairs (i.e. GBPAUD included) and will also work transparently when you run live later on.
YES!
They are there ^^
But I do not know the returned Ask and Bid are correct and exact or not since I could not understand the code. I think you know better about the result. Well Done!
YES!
They are there ^^
But I do not know the returned Ask and Bid are correct and exact or not since I could not understand the code. I think you know better about the result. Well Done!
This is GBPAUD H4 3.12.2018 whole day! And I did not skip to end this time.
May print function lose some reports when it has too much to print?
I guess another issue could be because ticks of these 3 instruments come out in different milliseconds so when we use start/OnTick function on GBPAUD, it just does the start function whenever GBPAUD tick comes out. And I guess your code might says to return all of those 3 pairs prices when non of them are 0. If so, it Does return whenever all ask/bid prices of all instruments come out at the same exact time.