Do MetaQoutes fake the historical data ?

Aug 18, 2014 at 15:23
658 การดู
8 Replies
เป็นสมาชิกตั้งแต่ Jul 11, 2013   14 โพสต์
Aug 18, 2014 at 15:23
I just don't understand it...
I've programmed a set of EAs and optimized it on MetaQoutes data from 2000 to 2015.
Results were great - about 2.3 PF and 10000%

Then I tested it on Alpari data - PF is 1.2 and 300% gain only.

How do you explain such a huge difference?
forex_trader_25447
เป็นสมาชิกตั้งแต่ Dec 21, 2010   131 โพสต์
Aug 19, 2014 at 04:24
Here are some reason for different results on tests :
1. Each broker use different source of quote, the history data can be different,
 but they must be almost the same, in range of few pips.
2. Each broker use different server (symbol) settings,
 those your program can work a bit differently.
3. If You program use high leverage and/or low target (scalping),
 and with combination of the above, the result can be extremely different.
เป็นสมาชิกตั้งแต่ Jul 11, 2013   14 โพสต์
Aug 19, 2014 at 06:55
Thanks.

1. Ok that would cause a little difference but not huge like I see.
2. What do you mean?
3. It doesnt use high leverage or low target. So that's not a reason.

I forgot to mention that my EAs work on M15 / M5 bars open only so I don't need ticks data.
forex_trader_25447
เป็นสมาชิกตั้งแต่ Dec 21, 2010   131 โพสต์
Aug 19, 2014 at 09:24
You say, made tests on Alpari.
As I know , Alpari apply FIFO rule
 ( important, when there is more than one open order ).
If your program do not work this way, you have to make it !!!
... or select other broker.
เป็นสมาชิกตั้งแต่ Jul 11, 2013   14 โพสต์
Aug 19, 2014 at 10:09
Thanks. Can you explain how the FIFO rule will change the results?
I do have more than one open orders and I also have shorts and longs on the same time.
I did notice that on Alpari the backtesting ends with half the number of orders.

But I also tried to use Alpari data on FXCM MT4 and the results were still poor.
forex_trader_25447
เป็นสมาชิกตั้งแต่ Dec 21, 2010   131 โพสต์
Aug 19, 2014 at 11:51
Simply :
1. You can open orders as usually, even opposite, if hedging possible ( this is other rule ).
2. You must close the most old order first ( First In First Out )
 If you made request to close some other order,
 this is not error, but there will be nothing done ( OrderClose() will return false ).
 Result is : less total orders on test ; less closed profit ; more floating loss
เป็นสมาชิกตั้งแต่ Nov 21, 2011   1718 โพสต์
Aug 19, 2014 at 16:29
Backtesting M15 or M5... or D1 doesn't mean you don't need tick data!
TheCyclist
forex_trader_28881
เป็นสมาชิกตั้งแต่ Feb 07, 2011   724 โพสต์
Aug 23, 2014 at 18:57 (แก้ไขแล้ว Aug 23, 2014 at 19:24)
MT will give a different result on the same data depending if you're online or offline. It will give a different result on a different machine which uses a different processor. It does make up data if it doesn't have any. And it goes almost without saying it will give a different result on different brokers.

I've never been able to match a days trading to a back test for the same period.

So the MT back testing you can throw in the dustbin. Don't waste your time. It's got little use other than to see if the code more or less works.

Depending your skill level you'd be much better off using Oanda's tick data and writing your own back testing.

If you're not that skilled, then it helps that you can run as many instances of MT as you like, simply do a new directory. That way you can run as many ideas on demo as you like. I do 10 to 20 regularly and you get much more realistic and accurate results, especially if multiple pairs are involved...
เป็นสมาชิกตั้งแต่ Jun 09, 2014   138 โพสต์
Aug 27, 2014 at 11:13
ea007 posted:
Thanks.

1. Ok that would cause a little difference but not huge like I see.
A little bit can make a LOT of difference here. Especially over time.
You must be connected to Myfxbook in order to leave a comment
*การใช้งานเชิงพาณิชย์และสแปมจะไม่ได้รับการยอมรับ และอาจส่งผลให้บัญชีถูกยกเลิก
เคล็ดลับ: การโพสต์รูปภาพ/youtube url จะฝังลงในโพสต์ของคุณโดยอัตโนมัติ!
เคล็ดลับ: พิมพ์เครื่องหมาย @ เพื่อป้อนชื่อผู้ใช้ที่เข้าร่วมการสนทนานี้โดยอัตโนมัติ