Tuan-tuan, saya ingin menghitung jumlah transaksi dalam garis K periode tertentu berdasarkan dua jenis pembelian dan penjualan secara terpisah, misalnya grafik K periode 1 menit, berapa banyak jumlah transaksi dalam setiap garis K dari kedua jenis pembelian dan penjualan. Saya berpikir bahwa ketika tidak ada K baru yang diproduksi, data perdagangan diambil dan ditambahkan, dan kemudian setelah K baru dihasilkan, data perdagangan yang terkumpul diklasifikasikan, parameter yang diambil ditempatkan kembali, dan masuk ke siklus berikutnya. Namun, masalah muncul saat melakukan pengukuran dengan disk solid, salah satunya adalah data transaksi yang dihitung dengan catatan K yang sebenarnya untuk setiap baris.[-2][“Volume”] memiliki volume transaksi yang berbeda, dan ada perbedaan yang sangat besar antara volume transaksi pembelian dan volume transaksi penjualan yang lebih besar dari record.[-2][“Volume”] menunjukkan volume transaksi yang besar. Kode berikut ini telah mengelilingi saya selama dua hari. mohon petunjuk dari para dewa apakah ada masalah dengan logika, atau apakah retrospeksi itu sendiri akan menjadi masalah? jika ada masalah dengan logika, tolong jelaskan, terima kasih.
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