Господа, я хотел бы вычислить объем сделки в определенной циклической K-линии в зависимости от двух типов покупок и продаж, например, на графике K-линии с 1-минутным циклом, сколько в каждой K-линии соответствует объему сделки в зависимости от двух типов покупок и продаж. Я думаю, что идея заключается в том, чтобы получить данные о торговле, когда нет новых K-линий, и накопить их, а затем после создания новых K-линий провести классификационную статистику накопленных данных о торговле, перенастроить параметры выбранного числа и перейти к следующему циклу. Но при измерении на уровне реального диска возникают проблемы, одна из которых заключается в том, что данные о торговле, полученные статистикой, сопоставляются с фактическими записями каждой K-линии.[-2][“Volume”] имеет большую разницу в объемах сделок, по сравнению с “records” - объем сделок по покупке и продаже.[-2][“Volume”] показывает, что транзакции были большими. Вот код, который обошел меня два дня. Пожалуйста, помогите мне понять, есть ли проблемы с логикой, или это проблема с самой рекурсией? Если есть проблемы с логикой, пожалуйста, укажите подробности, спасибо.
def GetRecords(self):
if self.LastBarTime == self.BarTime:
trades = _C(exchange.GetTrades)
if trades :
for i in range (len(trades)):
if trades[i] not in self.trades:
self.trades.append(trades[i])
if self.LastBarTime != self.BarTime: #新K线
if self.trades :
for i in range (len(self.trades)):
if self.trades[i]["Type"] == 0 : #买单
self.trade_buy.append(self.trades[i])
if self.trades[i]["Type"] == 1 : #卖单
self.trade_sell.append(self.trades[i])
if self.trade_buy:
for i in range (len(self.trade_buy)):
self.totlebuyamount += self.trade_buy[0-i]["Amount"]
if self.trade_sell:
for i in range (len(self.trade_sell)):
self.totlesellamount += self.trade_sell[0-i]["Amount"]
Log("总成交量",self.totlebuyamount+self.totolesellamoun,"买单成交量",self.totlebuyamount,"卖单成交量",self.totolesellamount)
self.trades = []
self.trade_buy = []
self.trade_sell = []
self.totlebuyamount = 0
self.totlesellamount = 0