FX31337 / FX-BT-Scripts

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

Fixing columns prices (AskVolume, BidVolume) as reported in the issue #97 #99

Closed ghost closed 5 years ago

ghost commented 5 years ago

This pull request solves the incorrect columns prices as reported in the issue #97

kenorb commented 5 years ago

I've tested it, but the prices are still not correct. Here is my test:

$  ./dl_bt_dukascopy.py -p XAUUSD -y 2013 -m 3 -d 1 -c
$  head download/dukascopy/XAUUSD/2013/03/2013-03-01--00h_ticks.csv
2013.03.01 00:00:00.605,15.80787,15.8115,400,700
2013.03.01 00:00:00.665,15.80808,15.81171,400,700
2013.03.01 00:00:00.786,15.80953,15.81253,300,200
2013.03.01 00:00:01.407,15.8077,15.81133,400,200
2013.03.01 00:00:01.476,15.80913,15.81213,300,200

The Ask/Bid prices should be like 1581.15,1580.7870000000003, not 15.80787,15.8115

This is not about volume fields, but incorrect bidPrice/askPrice values for the given pairs.

ghost commented 5 years ago

Unfortunately, the problem is how the data is coming from the web to bi5 and not on the convertion. I've been debugging and trying to find the same values as you show in the past comment and I didn't find the right solution for this problem. Any sugestion?

kenorb commented 5 years ago

@brunofarina You can check how dukapp.go tool does it, I think the relevant parts are in bi5.go.

    normSymbols = []string{"USDRUB", "XAGUSD", "XAUUSD"}

and:

    var point float64 = 100000
    for _, sym := range normSymbols {
        if symbol == sym {
            point = 1000
            break
        }
    }

So probably these 3 symbols needs to be calculated differently. If you use dukapp.go tool to download XAUUSD data into CSV format, the prices should be correct.

ghost commented 5 years ago

@kenorb I look at the duka app that you mentioned in the last comment and I found the solution for the values that weren't correct. Can you test again and see if the values are correct now?

kenorb commented 5 years ago

Thank you, it works now.