EA31337 / EA-Tester

🐳📈 Headless Forex backtesting for MetaTrader platform using Docker
https://ea31337.github.io/EA-Tester
MIT License
109 stars 84 forks source link

Ticks are quadrupled when data files are not read-only. #54

Open kenorb opened 8 years ago

kenorb commented 8 years ago

When running test without setting read-only permission (-R), ticks are quadrupled (FXT).

Original (whole 2014 year):

Bars in test        371463 Ticks modelled               16999067 Modelling quality                    n/a

After FXT rebuild:

Bars in test       368715 Ticks modelled               74312557 Modelling quality                 24.99%

Example test with read-only (tick number is correct):

./scripts/run_backtest.sh -v -e MACD -y 2014 -m 1 -C -R
Bars in test               371463 Ticks modelled                           16999067 Modelling quality                             n/a

Example test (tick number is incorrect, however it's just for 1 month):

./scripts/run_backtest.sh -v -e MACD -y 2014 -m 1 -C
Bars in test                28787 Ticks modelled                            6474180 Modelling quality                          24.92%

Expected behavior of the script is to not quadruple the tick data. This can be error in the FXT file which was incorrectly converted.

I believe it works correctly when you're using standard fxt tick data when created a demo account, so the data is fetched from the demo server, then I believe it's fine. Not when we're using our custom generated files.

Use read_mt_formats.py to read ticks from the file why they're quadrupled.

Possible fix can be in the converter script: convert_csv_to_mt.py where you can re-generate FXT tick data and replace the existing EURUSD0_1.fxt file. The existing files are downloaded from here. You can see here the example how to convert the files.

Please work on the dev branch. If you don't have Linux/OSX, use VM (vagrant up).

Note: There is a lot of debugging or rather troubleshooting, so this task is only for experienced users and it may be very challenging. It's good that you can have a try before in order to understand the problem, otherwise you may not complete it.

P.S. I'm happy to answer any questions, give instruction how to convert the data or help to deal with any errors with scripts, so you can focus on the task.

Estimated time: 8-16h for experienced person.

kenorb commented 7 years ago

Currently blocked by #94