FX31337 / FX-BT-Scripts

:page_facing_up: Useful scripts for backtesting.
MIT License
34 stars 39 forks source link

TestGenerator: unmatched data error, low value is not reached from the least timeframe [$80 awarded] #71

Closed kenorb closed 7 years ago

kenorb commented 8 years ago

Error happening during backtesting:

M5:

TestGenerator: unmatched data error (low value 1.08391 at 2015.07.20 09:15 is not reached from the least timeframe, low price 1.08474 mismatches)
TestGenerator: unmatched data error (volume limit 590 at 2015.07.20 09:30 exceeded)

M15:

TestGenerator: unmatched data error (low value 1.08294 at 2015.07.20 09:15 is not reached from the least timeframe, low price 1.08474 mismatches)
TestGenerator: unmatched data error (low value 1.08294 at 2015.07.20 09:15 is not reached from the least timeframe, low price 1.08474 mismatches)

M30

TestGenerator: unmatched data error (low value 1.08294 at 2015.07.20 09:00 is not reached from the least timeframe, low price 1.08391 mismatches)
TestGenerator: unmatched data error (low value 1.08294 at 2015.07.20 09:00 is not reached from the least timeframe, low price 1.08391 mismatches)

Tested data from 2015.

Testing (using VM):

  1. Close VM repo.
  2. Optionally provision VM by: vagrant up && vagrant ssh (or use local Linux/OSX shell)
  3. Run the test using M30 period, e.g. from the command line:

    ./scripts/run_backtest.sh -t -v -x -I TestPeriod=M30,TestModel=0 -e MACD -p EURUSD -d 2000 -s 10 -y 2015 -m 7 -D 5 -b DS -M 4.0.0.971
  4. Clone scripts repo.
  5. Clone/download some CSV files.
  6. Run: ./convert_csv_to_mt.py -v -i all.csv -s EURUSD -p 20 -S default -t M1 -f fxt4.
  7. Copy FXT files to platform dir at: tester/history/.
  8. To read FXT format, use: ./convert_mt_to_csv.py -i EURUSD1_0.fxt -f fxt4 | more instead.

Fix should be in convert_csv_to_mt.py file.

Similar issue: #70

The solution to this issue is to fix the converter script, so the above errors won't show for all timeframes, so the backtest test can run successfully.

Es. 6-8h

--- The **[$80 bounty](https://www.bountysource.com/issues/36644203-testgenerator-unmatched-data-error-low-value-is-not-reached-from-the-least-timeframe?utm_campaign=plugin&utm_content=tracker%2F20487492&utm_medium=issues&utm_source=github)** on this issue has been claimed at [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F20487492&utm_medium=issues&utm_source=github).
nseam commented 7 years ago

Finally replicated. yuppii

kenorb commented 7 years ago

Fixed in #72 & #75