0
Подписаться
0
Подписчики

Использование exchange.GetAccount() при бэктестинге

Создано: 2021-03-11 18:28:35, Обновлено:
comments   1
hits   1070

Я использовал следующий код. def CalculateMA(n,record): sumMA = 0 for i in range(n): sumMA += record[-(i+1)][“Close”] return sumMA/n

def SimpleMAStrategy(status): account = exchange.GetAccount() ticker = exchange.GetTicker() record = exchange.GetRecords(RecordsTime) MAFast = CalculateMA(MAFastN,record) MASlow = CalculateMA(MASlowN,record) balance = account[“Balance”] stocks = account[“Stocks”] Log ((“текущий объем позиций:”, account[“Stocks”], “текущий баланс:”, account[“Balance”]) currSell1Price = ticker[“Sell”] if (MAFast >= MASlow and status == 0): id = exchange.Buy(-1, balance*rate/ticker[“Sell”]) status = 1 if (MAFast <= MASlow and status == 1): id = exchange.Sell(-1, stocks) status = 0 return status

status = 0 while(true): status = SimpleMAStrategy(status) Sleep(3000)

Обнаружено, что в ретроспективе всегда выводится текущий объем позиций: 3.89e-07, а текущий баланс: 19999.166986677. Вопрос: В ретроспективе exchange.GetAccount всегда возвращает только информацию, установленную в параметрах конфигурации?