Senhoras e senhores, eu quero calcular o volume de transações em uma linha K de um período de compra e venda de dois tipos separadamente, por exemplo, o gráfico de linha K de um período de 1 minuto, o volume de transações de cada linha K correspondente a compra e venda de dois tipos de transações. A ideia é que, quando não há novas linhas K produzidas, os dados de negociação são obtidos e acumulados, e depois que as novas linhas K são geradas, os dados de negociação acumulados são classificados, os parâmetros do número de tomadas são substituídos, e o próximo ciclo é iniciado. Mas quando o teste é feito em disco rígido, surgem problemas, um dos quais é o volume de transação estatístico com os registros reais de cada linha K.[-2][“Volume”] não tem o mesmo volume de transações, mas há uma grande diferença, e as estatísticas de transações de compra e venda, juntamente com o volume de transações de vendas, são maiores do que os registros[-2][“Volume”] mostra um volume de transações elevado. O código é o seguinte, e eu não entendi o que estava acontecendo há dois dias. Por favor, me oriente se há algum problema com a lógica, ou se o retorno em si é um problema? Se há algum problema com a lógica, por favor, me informe, obrigado.
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