代码中,n的设置十分混乱。
def broader_stoploss(context):
stoploss = bm_stoploss(kernel=2, n=3, threshold=0.1) #n=3?
if stoploss:
if len(context.portfolio.positions) > 0:
for stock in list(context.portfolio.positions.keys()):
order_target(stock, 0)
def bm_stoploss(kernel=2, n=10, threshold=0.03): #不是默认60吗? #用kernel也行,用mode也行
’’‘
方法1:当大盘N日均线(默认60日)与昨日收盘价构成“死叉”,则发出True信号
方法2:当大盘N日内跌幅超过阈值,则发出True信号
’’
第一次出现n,是在第二行n=3,第二次是在大盘止损函数中,n=10,第三次,是告知默认n=60.既然n默认为60,那么,def bm_stoploss中,n怎么会等于10呢,不是默认60吗?
而最开始的stoploss = bm_stoploss(kernel=2, n=3, threshold=0.1) n=3就更奇怪了。
不知是否如此,谢谢!