最终策略源码如下
from wtpy import BaseStrategy
from wtpy import Context
class StraDualThrust(BaseStrategy):
def __init__(self, name:str, code:str, barCnt:int, period:str, days:int, k1:float, k2:float, isForStk:bool = False):
BaseStrategy.__init__(self, name)
self.__days__ = days
self.__k1__ = k1
self.__k2__ = k2
self.__period__ = period
self.__bar_cnt__ = barCnt
self.__code__ = code
self.__is_stk__ = isForStk
def on_init(self, context:Context):
code = self.__code__ #品种代码
if self.__is_stk__:
code = code + "Q"
context.stra_get_bars(code, self.__period__, self.__bar_cnt__, isMain = True)
context.stra_log_text("DualThrust inited")
def on_calculate(self, context:Context):
'''
策略主调函数,所有的计算逻辑都在这里完成<