To have the ability to import your own data in MT5 is it important for you ? - page 2

 
angevoyageur:
What is "market scenarios" ?

I think he refers to: Strategy Tester being able to simulate different market scenarios .. i.e ranging market, directional, volatile etc ..

This would be useful, but easier if we could just import Tick data from a previous capture... I don't like the idea of "simulating" ticks for any Market condition. An accurate history import would allow this and would therefore answer TripleHeinz request too !

 
tmoore:

I think he refers to: Strategy Tester being able to simulate different market scenarios .. i.e ranging market, directional, volatile etc ..

This would be useful, but easier if we could just import Tick data from a previous capture... I don't like the idea of "simulating" ticks for any Market condition. An accurate history import would allow this and would therefore answer TripleHeinz request too !

I see. While interesting, this possibility (market scenarios) is not fundamental. You can choose your testing period and see how your EA works with differents markets conditions.
 
It would be interesting if someone who vote "Irrelevant" or "Useful" could develop its arguments, why he make that choice.
 

I am quite new to MT5,  I have only been dabbling with the code for a few weeks,  I have several years experience with MT4 and will happily tackle most tasks I face.  From using MT4/mql4 I use the Strategy Tester as a Debugging tool, a visual tool for confirming the accurate functioning of a Strategy and finally as a tool for testing outright performance of a Strategy. 

Being new to MT5/mql5 I may have some misconceptions so I am more than happy to be corrected . . .  here are some questions I have had and the answers I have arrived at,  these could all be addressed by letting users gain control of the data they use for testing.

 

Q.  How does one get the same results for a Strategy Test run with Broker A compared to Broker B ?

A.  You cannot, the data pulled from Broker A will differ from the data pulled from Broker B,  they may not even provide the same date range,  the Spread is held within the M1 data so the Spread cannot be maintained from Broker to Broker,  the number of ticks per bar can vary by a factor of 4 or more from Broker to Broker for the same bar.

 

Q.  How do I ensure my EA will work with a variety of Broker types while checking it gives consistent results regardless of Broker type ?

A.  You cannot,  if Broker A uses Market Execution and Broker B uses Instant Execution you cannot hope to get exactly the same results because you are using different data and different Spread.  Is the difference simply down to an error in code or the difference in the Data and Spread ?  it takes a lot of work to make that determination.

 

Q.  How do I keep using the same Broker and fix these data issues ?

 

 

A.  You cannot,  the best you can try to do is get your Broker to fix his data. 

 

Q.  How can I test an EA that makes Entry and Exit decisions based on tick information ?

A.  You can test it live.  You cannot test it in the Strategy Tester with any realism as the ticks generated by the Strategy Tester are synthetic and not real. 

 
RaptorUK:

I am quite new to MT5,  I have only been dabbling with the code for a few weeks,  I have several years experience with MT4 and will happily tackle most tasks I face.  From using MT4/mql4 I use the Strategy Tester as a Debugging tool, a visual tool for confirming the accurate functioning of a Strategy and finally as a tool for testing outright performance of a Strategy. 

Being new to MT5/mql5 I may have some misconceptions so I am more than happy to be corrected . . .  here are some questions I have had and the answers I have arrived at,  these could all be addressed by letting users gain control of the data they use for testing.

1.

Q.  How does one get the same results for a Strategy Test run with Broker A compared to Broker B ?

A.  You cannot, the data pulled from Broker A will differ from the data pulled from Broker B,  they may not even provide the same date range,  the Spread is held within the M1 data so the Spread cannot be maintained from Broker to Broker,  the number of ticks per bar can vary by a factor of 4 or more from Broker to Broker for the same bar.

2.

Q.  How do I ensure my EA will work with a variety of Broker types while checking it gives consistent results regardless of Broker type ?

A.  You cannot,  if Broker A uses Market Execution and Broker B uses Instant Execution you cannot hope to get exactly the same results because you are using different data and different Spread.  Is the difference simply down to an error in code or the difference in the Data and Spread ?  it takes a lot of work to make that determination.

3.

Q.  How do I keep using the same Broker and fix these data issues ?

A.  You cannot,  the best you can try to do is get your Broker to fix his data. 

4.

Q.  How can I test an EA that makes Entry and Exit decisions based on tick information ?

A.  You can test it live.  You cannot test it in the Strategy Tester with any realism as the ticks generated by the Strategy Tester are synthetic and not real. 

Thank you for your detailed contribution. It is more interesting to discuss concrete problems.

I don't see how your questions 1 and 2 will be addressed by using your own data. Brokers have and always will have differences in data, it's not a problem of platform but a problem with Forex.

Question 4 is the most crucial in my eyes. No solution with MT5. I can not even understand why MetaQuotes has decided to cut off all data import, hoping that their platform is widely adopted.

 
angevoyageur:

Thank you for your detailed contribution. It is more interesting to discuss concrete problems.

I don't see how your questions 1 and 2 will be addressed by using your own data. Brokers have and always will have differences in data, it's not a problem of platform but a problem with Forex.

Question 4 is the most crucial in my eyes. No solution with MT5. I can not even understand why MetaQuotes has decided to cut off all data import, hoping that their platform is widely adopted.

Re: Q1 & 2.  By using my own data with Broker A and Broker B I remove the data and Spread from the list of variables . . . what is left is the symbol setup/info particular to the Broker in question. If my EA can handle the different execution types,  if it can handle the differences in Min Lot, Lot Step & Max Lot,  if it can handle the differences in Tick size,  if it can handle the differences in Stops and Freeze levels . . .  then it should give very similar if not exactly the same result from a Strategy tester run using the same history data on Broker A as it will on Broker B.

 

I want my EA to work on any Broker I chose to run it on,  to achieve this I need to be able to test it on different Brokers, it is very inefficient to do this with the additional variables that are different history data and Spread. 

 
RaptorUK:

Re: Q1 & 2.  By using my own data with Broker A and Broker B I remove the data and Spread from the list of variables . . . what is left is the symbol setup/info particular to the Broker in question. If my EA can handle the different execution types,  if it can handle the differences in Min Lot, Lot Step & Max Lot,  if it can handle the differences in Tick size,  if it can handle the differences in Stops and Freeze levels . . .  then it should give very similar if not exactly the same result from a Strategy tester run using the same history data on Broker A as it will on Broker B.

 

I want my EA to work on any Broker I chose to run it on,  to achieve this I need to be able to test it on different Brokers, it is very inefficient to do this with the additional variables that are different history data and Spread. 

Ok I understand, but this may also be achieved by a forward test. So this not critical.
 
angevoyageur:
Ok I understand, but this may also be achieved by a forward test. So this not critical.
It is critical if the EA in question trades infrequently,  has many variables involved in the entry/exit decision making process or if many Brokers are to be tested.
 

So this is where the party went :)). I'll depend on you guys who have been working with mql5/mt5 longer to correct my mis-conceptions. I believe having the option is always nice but importing tick-data is not critical. Reason being theres no broker who operates like a back-tester. I taught mt5 solved the scalper-testing problem but it appears thats not the case.

When I looked at the average m1_bar height, it became clear that the only people who would care about inter-minute trading are the people looking for about 5orLess Pips. Someone like that importing tick-data wouldn't help them much IMO. Reason is because the Spreads, Slippage, Network Errors, Re-quoits and Delays could easily account for their 5orLess Pips. And 5-Pips for the average m1_bar is me being considerate. Wanted to say 3_Pips. People wanting to test strategies within m1_bars should wait until 1_Second Charts becomes viable.

Open_M1 testing should be enough. With that, there's no-more crying about generated-ticks. Problem solved. Back-Testing result is-not indicative of Forward-Results. One back-test to exclude strategies which failed. Not to select strategies that guarantees profit.

I'll touch up on RaptorUK's points and why I think they're important.

1> Q. How does one get the same results for a Strategy Test run with Broker A compared to Broker B ?

I agree, you cannot. Where are you going to get your Tick-Data from? Meta-Quotes? I mean it'll be nice if the target broker provided the tick-data. And the tick-data accurate to the manner it happened in real-time. But I'd be dreaming if I taught all brokers would do this. So then, just like mt4, we'd get our data from one broker and intending to trade it on a different broker.  Spreads, Slippage, Network Errors, Re-quoits, Delays, Difference in Prices, Difference in Market-Info, now corrupts your Scalper's results even more. You can bet the back-test results are going to be significantly different even if you had Real-Tick data from both Brokers. So do you really expect to test with imported ticks from xyz-Broker and then go-live demo on abc-Broker and have the same results? 

2>Q. How do I ensure my EA will work with a variety of Broker types while checking it gives consistent results regardless of Broker type ? Reading Q.2 again, same arguments as 1.

3>Q. How do I keep using the same Broker and fix these data issues

Well, lets call this my first day here from mql4-fourm. But I'm willing to bet, RaptorUK is implying that the broker's data sucks. I may have learned something new already. You'd think that being attached to your broker and downloading their data would give u at least 90% quality on mt5.

4>Q. How can I test an EA that makes Entry and Exit decisions based on tick information?

Unless mt5 guarantees it'll receive all Tick-Broadcast from the broker through CyberSpace, then I don't see how this could be called Accurate. I mean what would a tick-data trade logic look like? If (bid drops by 2_points) && (rise by 3_points) && {drops again by 2_points){ Buy!! } ?. If 2 people are trading this system and 1_person misses a tick, they're screwed.

Sorry for writing a book. I'll save my comments in smaller parts for later ;).

 
Ubzen:

So this is where the party went :)). I'll depend on you guys who have been working with mql5/mt5 longer to correct my mis-conceptions. I believe having the option is always nice but importing tick-data is not critical. Reason being theres no broker who operates like a back-tester. I taught mt5 solved the scalper-testing problem but it appears thats not the case.

...

Sorry for writing a book. I'll save my comments in smaller parts for later ;).

Wow a pillar of forum.mql4.com here ! Wait I come back, I'll see if the MQL4 forum is still standing :-D

...Yes it is. Anyway an interesting post, worth considering.


MQL4: automated trading forum
  • www.mql5.com
MQL4: automated trading forum
Reason: