Dioses, quiero calcular el volumen de transacciones en una línea K de un período por los dos tipos de compra y venta por separado, por ejemplo, en el gráfico de la línea K de un período de 1 minuto, el volumen de transacciones correspondiente en cada línea K de compra y venta de los dos tipos de transacciones respectivamente. La idea es que cuando no se produzca una nueva línea K, se obtienen los datos de comercio y se acumulan, luego, después de generar una nueva línea K, se clasifican los datos de comercio acumulados, se restablecen los parámetros de los números tomados y se pasa al siguiente ciclo. Pero cuando se realiza la medición a nivel de disco duro, surgen problemas, uno de los cuales es que los datos de transacción estadísticos se comparan con los registros reales de cada línea K.[-2][“Volume” tiene un volumen de transacciones muy diferente, ya que el volumen de transacciones de compra y venta, sumado al volumen de transacciones de venta, es mayor que el de “records”.[-2][“Volume”] muestra una gran cantidad de transacciones. El código es el siguiente y me ha estado dando vueltas por dos días. Por favor, guíenme si hay algún problema con la lógica, o si la retroalimentación en sí misma puede tener este problema. Si hay algún problema con la lógica, por favor indique en detalle, gracias.
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