예제 #1
0
def getHistoryIntervalsToDB(intervals, intervalSize, instrument = 'EUR/USD', period = 'ONE_MIN'):
    engine = DukascopyEngine()
    res = engine.getHistoryBars(instrument, intervalSize, 0, 0, period, trimInstrument=True, filterWeekends=False)
    for i in range(1,intervals):
        print 'collecting %d of %d' %(i, intervals)
        newData = engine.getHistoryBars(instrument, intervalSize, i*intervalSize, 0, period, trimInstrument=True, filterWeekends=False)
        res = np.append(newData, res, axis=0)
    return res
예제 #2
0
def updateQuotesFromDukascopy(instrument, period, depth = 5000000):
    intervalSize = 3000
    intervals = int(depth/intervalSize)

    import postgresql as db
    tableName = db.getTableName(instrument, period, depth)
    if db.isTableExist(tableName) is False:
        db.createQuotesTable(instrument, period, depth)
    lastQuote = db.getLastQuote(tableName)
    if lastQuote is not None:
        lastQuoteTime = lastQuote[0]
    else:
        lastQuoteTime = datetime(2000,1,1)

    lastQuoteReachedFlag = False
    engine = DukascopyEngine()
    for i in range(0, intervals):
        print 'collecting %d of %d' %(i+1, intervals)
        if lastQuoteReachedFlag is True:
            continue
        res = []
        newData = engine.getHistoryBars(instrument, intervalSize, i*intervalSize, 0, period, trimInstrument=True, filterWeekends=False)
        for row in newData:
            if row[0] > lastQuoteTime:
                res.append(row)
            else:
                lastQuoteReachedFlag = True
        db.insertQuotes(tableName, res)
예제 #3
0
def updateQuotes(maxQuotes = 100):

    intervalSize = 3000
    intervals = 2100

    import postgresql as db
    #tableName = "eurusd_1min"
    tableName = "eurusd_10sec"
    lastQuote = db.getLastQuote(tableName)
    if lastQuote is not None:
        lastQuoteTime = lastQuote[0]
    else:
        lastQuoteTime = datetime(2000,1,1)

    lastQuoteReachedFlag = False

    engine = DukascopyEngine()
    for i in range(0, intervals):
        print 'collecting %d of %d' %(i+1, intervals)
        if lastQuoteReachedFlag is True:
            continue
        res = []
        newData = engine.getHistoryBars('EUR/USD', intervalSize, i*intervalSize, 0, 'TEN_SECS', trimInstrument=True, filterWeekends=False)
        for row in newData:
            if row[0] > lastQuoteTime:
                res.append(row)
            else:
                lastQuoteReachedFlag = True
        db.insertQuotes(tableName, res)

    exit()
    print lastQuote
    data = getHistoryIntervalsToDB(10, 10, instrument='EUR/USD', period='ONE_MIN')
    db.insertQuotes("eurusd_1min", data)
    print 'done'