8
Follow
0
Followers
各位大神,我想要把某个周期K线中成交量按buy、sell两种类型分开统计出来,比如1分钟周期的K线图,每根K线对应的成交量中buy,sell两种类型的成交量分别是多少。
我的是思路是当没有新K线生产时,获取trade数据并累加起来,然后在新K线生成后,对累计的trade数据进行分类统计,重置取数的各个参数,进入下一个循环。但是用实盘级回测时出现了问题,一个是统计到的成交量数据与实际每个K线records[-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
Related Recommendations
Financial Magic Zone Global KOL RecruitmentFAQ Summary (Updating...)PINE Language Introductory Tutorial of FMZ QuantPrimary Tutorial of Strategy Writing with FMZ Quant Trading Platform (Must Read)Getting Started with FMZ Quant Trading Platform (Must Read)MyLanguage DocFMZ PINE Script DocNotes & Explanation of Futures Reverse Doubling Algorithm StrategySolutions to Obtaining Docker Http Request MessageExtending Custom Template by Visual (Blockly ) Strategy Editing
Comment
All comments (4)
- 1
