Простые стратегии тестирования в Python

Автор:Нуль, Дата: 2016-08-31 22:27:17
Тэги:Питон

Загрузка последнего хостера, на хост-машине необходимо установить Python (не требуется установка Linux на автономном носителе)


import time
import talib

def main():
    LogProfitReset()
    LogReset()
    Log("init OK", time.strftime('%Y-%m-%d %X', time.localtime(time.time())))
    Log(a,b,c,d)
    _G("ok", 123)
    Log(GetPid(), _G(), _G("ok"), _G("dummy"))
    Sleep(1000)
    _G(None)
    Log(_G("ok"))

    LogStatus("Time", time.time())
    EnableLog(True)
    SetErrorFilter("net")
    Log(GetLastError())
    Log(GetCommand())
    ticker = exchange.GetTicker()
    Log('ticker buy', ticker.Buy, ticker['Buy']);
    
    r = _C(exchange.GetRecords)
    Log(TA.ATR(r))
    Log(TA.EMA(r, 10))
    # test talib
    Log(str(talib.EMA(r.Close, 10)))

    for e in exchanges:
        Log(e.GetName(), e.GetRate(), e.GetCurrency())
        Log(e.GetAccount())
        Log(_C(e.GetOrders))
        Log(e.GetOrder(10))
        Log(e.CancelOrder(10000))
 
        Log(e.GetUSDCNY())
        #Log(e.GetPosition())
        #Log(e.SetContractType("next_week"))
        Log(e.GetTicker())
        Log('Asks:', len(e.GetDepth().Asks))
        #Log(e.SetMarginLevel(10))
        #Log(e.SetDirection("buy"))
        #Log(e.SetContractType("quarter"))
        #Log(e.GetRecords(PERIOD_M30)[0])
        Log(e.GetRecords()[0])
    x = Chart({
        'title' : { 'text' : 'test chart'},
        'xAxis': { 'type': 'datetime'},
        'series' : [{'name' : 'Buy', 'data' : []}, {'name' : 'Sell', 'data' : []}]
        })
    x.reset()
    Log("策略将每10秒更新一次ticker");
    for i in range(100):
        ts = int(time.time() * 1000)
        ticker = _C(exchange.GetTicker)
        x.add(0, [ts, ticker.Buy])
        x.add(1, [ts, ticker.Sell])
        LogStatus(ticker)
        Sleep(10000)

Связанные

Больше

Тедди.Я знаю, что я не могу использовать этот инструмент, потому что у меня слишком мало стратегий для изучения, и я надеюсь, что когда я научусь, я смогу внести свой вклад в некоторые из них.

ббСпасибо за нулевой префикс, более 100 человек скопировали, и никто не смог найти ни одного. Для небольшой помощи, многие мелкие приемы не замечают, такие как _C, _G, LogProfitReset (()) LogReset (()) SetErrorFilter (("net") и другие очень полезные функции. В этом случае, если вы хотите, чтобы ваш ребенок учился в школе, вы должны быть готовы к тому, что он будет учиться. https://dn-filebox.qbox.me/005c6fd29fce0abe1e1b04744407db7e3df48d18.png