Oanda live data - open, close, high, low are the same



  • Is there something I misunderstood by using the Oanda live feed from oandatest.py?

    Data, Open, High, Low, Close
    DATA NOTIF: LIVE
    Data0, 1.120480, 1.120480, 1.120480, 1.120480
    Data0, 1.120460, 1.120460, 1.120460, 1.120460
    Data0, 1.120430, 1.120430, 1.120430, 1.120430
    Data0, 1.120410, 1.120410, 1.120410, 1.120410
    Data0, 1.120380, 1.120380, 1.120380, 1.120380
    Data0, 1.120350, 1.120350, 1.120350, 1.120350
    Data0, 1.120330, 1.120330, 1.120330, 1.120330
    Data0, 1.120310, 1.120310, 1.120310, 1.120310
    Data0, 1.120280, 1.120280, 1.120280, 1.120280
    

    This is on the minutes timeframe and each update comes around 15 seconds. Is it possible to congregate intra-minute live data such that the high, close, open, and low respect whether or not the update is still affecting the current minute? Or will I need to keep track of that myself?


  • administrators

    That's clearly not output from oandatest.py so it is impossible to say what you may have misunderstood, without being able to know what your code does.



  • @backtrader Apologies, I removed some columns to make it more readable. Here is a snippet with the minutes timeframe and EUR_USD pair.

    ***** DATA NOTIF: LIVE
    Data0, 0501, 736474.756994, 2017-05-25T18:10:04.264837, 1.120480, 1.120480, 1.120480, 1.120480, 0, 0, 1.120612
    Data0, 0502, 736474.757386, 2017-05-25T18:10:38.183402, 1.120460, 1.120460, 1.120460, 1.120460, 0, 0, 1.120576
    Data0, 0503, 736474.757612, 2017-05-25T18:10:57.711982, 1.120430, 1.120430, 1.120430, 1.120430, 0, 0, 1.120501
    Data0, 0504, 736474.757731, 2017-05-25T18:11:07.931450, 1.120410, 1.120410, 1.120410, 1.120410, 0, 0, 1.120465
    Data0, 0505, 736474.757733, 2017-05-25T18:11:08.129286, 1.120380, 1.120380, 1.120380, 1.120380, 0, 0, 1.120432
    Data0, 0506, 736474.757785, 2017-05-25T18:11:12.594863, 1.120350, 1.120350, 1.120350, 1.120350, 0, 0, 1.120406
    Data0, 0507, 736474.757822, 2017-05-25T18:11:15.859319, 1.120330, 1.120330, 1.120330, 1.120330, 0, 0, 1.120380
    Data0, 0508, 736474.757891, 2017-05-25T18:11:21.809085, 1.120310, 1.120310, 1.120310, 1.120310, 0, 0, 1.120356
    Data0, 0509, 736474.757896, 2017-05-25T18:11:22.191853, 1.120280, 1.120280, 1.120280, 1.120280, 0, 0, 1.120330
    Data0, 0510, 736474.758029, 2017-05-25T18:11:33.672077, 1.120300, 1.120300, 1.120300, 1.120300, 0, 0, 1.120314
    Data0, 0511, 736474.758031, 2017-05-25T18:11:33.878724, 1.120330, 1.120330, 1.120330, 1.120330, 0, 0, 1.120310
    Data0, 0512, 736474.758048, 2017-05-25T18:11:35.379511, 1.120360, 1.120360, 1.120360, 1.120360, 0, 0, 1.120316
    Data0, 0513, 736474.758050, 2017-05-25T18:11:35.551216, 1.120340, 1.120340, 1.120340, 1.120340, 0, 0, 1.120322
    Data0, 0514, 736474.758057, 2017-05-25T18:11:36.164459, 1.120360, 1.120360, 1.120360, 1.120360, 0, 0, 1.120338
    Data0, 0515, 736474.758149, 2017-05-25T18:11:44.080721, 1.120390, 1.120390, 1.120390, 1.120390, 0, 0, 1.120356
    Data0, 0516, 736474.758333, 2017-05-25T18:11:59.937122, 1.120350, 1.120350, 1.120350, 1.120350, 0, 0, 1.120360


  • administrators

    See: the problem is that you say ... it is a snippet with timeframe minutes. But how you have executed the test file is not there. It is for sure obvious to you and on your system, but the others cannot know it.



  • @backtrader You're right, sorry. I will try to be more clear in the future - in the meantime, here is what I use to execute the test file, token and account id omitted.

    python oandatest.py --token XXX --account YYY --data0 EUR_USD --timeframe Minutes

  • administrators

    You are neither using --resample nor --replay and what your there see are simply the incoming ticks. The history was downloaded in minutes for sure.

    The code in oandatest.py as indicated by the name is something to test things, to play with them and that's why manual control of all switches is in place.



  • @backtrader I see. I have been playing around with the values trying to match the behavior that was described in the docs.

    However I'm running into some issues - here is my call to oandatest.py

    python oanda.py --token XXX --account 1401188 --data0 EUR_USD --timeframe Minutes --compression 60 --replay
    

    From what I understand my prenext and next calls should be called every minute. However, my data output is as follows:

    -- Contract Details:
    {u'pip': u'0.0001', u'instrument': u'EUR_USD', u'maxTradeUnits': 10000000, u'displayName': u'EUR/USD'}
    Datetime, Open, High, Low, Close, Volume, OpenInterest, SMA
    ***** DATA NOTIF: DELAYED
    Data0, 0021, 736447.833333, 2017-04-28T20:00:00.000000, 1.089340, 1.090030, 1.088955, 1.089620,    423, 0, 1.089734
    Data0, 0022, 736449.875000, 2017-04-30T21:00:00.000000, 1.091305, 1.091305, 1.089240, 1.089750,    339, 0, 1.089668
    Data0, 0023, 736449.916667, 2017-04-30T22:00:00.000000, 1.089710, 1.090345, 1.089520, 1.090245,    396, 0, 1.089683
    Data0, 0024, 736449.958333, 2017-04-30T23:00:00.000000, 1.090265, 1.091120, 1.090265, 1.090590,    258, 0, 1.089904
    Data0, 0025, 736450.000000, 2017-05-01T00:00:00.000000, 1.090615, 1.090790, 1.089965, 1.089965,    241, 0, 1.090034
    Data0, 0026, 736450.041667, 2017-05-01T01:00:00.000000, 1.089985, 1.090080, 1.088930, 1.089280,    475, 0, 1.089966
    Data0, 0027, 736450.083333, 2017-05-01T02:00:00.000000, 1.089300, 1.089695, 1.089235, 1.089385,    201, 0, 1.089893
    Data0, 0028, 736450.125000, 2017-05-01T03:00:00.000000, 1.089365, 1.089465, 1.089135, 1.089330,     65, 0, 1.089710
    Data0, 0029, 736450.166667, 2017-05-01T04:00:00.000000, 1.089305, 1.089370, 1.089035, 1.089080,     74, 0, 1.089408
    

    Every printed line is still hourly, even though I would expect these lines to print out 60 times for each "hour".

    I also have feelings that something is going on behind the scenes - Oanda only allows retrieval of 500 bars. If I am replaying data, this should be limited to 500 minutes, yet I am still able to fetch 500 hours worth of data.

    What am I misunderstanding?


  • administrators

    @etcetc said in Oanda live data - open, close, high, low are the same:

    Every printed line is still hourly, even though I would expect these lines to print out 60 times for each "hour".

    60 minutes is 1 hour and that's the backfilling before the data goes into live.

    In any case your strategy will not be called 60 times every hour

    • It will be called as many times as ticks are received by the system. Depending on how active the market is ... that could well be some thousand times ... until the hour is complete and the next bar starts.

Log in to reply
 

Looks like your connection to Backtrader Community was lost, please wait while we try to reconnect.