无限易快速获得30分钟K线的历史数据
# encoding: UTF-8
"""
作者:leo
微信:470770753
"""
from __future__ import division
from ctaTemplate import *
########################################################################
class mystrategy(CtaTemplate):
"""
获得最近4天30分钟K线的历史数据
"""
varList=[]
paramList=['vtSymbol','exchange']
paramMap={'vtSymbol': u'合约列表',
'exchange': u'交易所',}
# ----------------------------------------------------------------------
def __init__(self, ctaEngine=None, setting={}):
"""Constructor"""
super(mystrategy, self).__init__(ctaEngine, setting)
# Initializing
self.K30= 30
self.close30_list=[]
self.vtSymbol='c2201'
self.exchange='DCE'
self.bm=BarManager(self.onBar,self.K30,self.onXBar)
#K basket
self.kb=ArrayManager()
# ----------------------------------------------------------------------
def onTick(self, tick):
"""收到行情TICK推送"""
super(mystrategy, self).onTick(tick)
#tick to min bar
self.bm.updateTick(tick)
# ----------------------------------------------------------------------
def onBar(self, bar):
"""收到Bar推送(必须由用户继承实现)"""
#min bar to X
self.bm.updateBar(bar)
#get X bar
def onXBar(self, bar):
"""收到Bar推送(必须由用户继承实现)"""
self.close30_list.append(bar.close)
#取得数据
self.output(self.close30_list)
# ----------------------------------------------------------------------
def onTrade(self, trade, log=True):
super(mystrategy, self).onTrade(trade, log=True)
# ----------------------------------------------------------------------
def onStart(self):
super(mystrategy, self).onStart()
self.loadBar(4, func=self.onBar)
# ----------------------------------------------------------------------
def onStop(self):
super(mystrategy, self).onStop()