K线上穿/下穿10日均线,如图所示:
类似于,之前写的基于聚宽平台写的一个典型的双均线策略思想类似,当K线上穿10日均线时,发出买入信号,当K先下穿10日均线时,发出卖出信号。
比较当前的收盘价和MA10之间的关系,为判断是否满足K线上穿/下穿10日均线做准备:
def compare_close_2_ma_10(code,dailies):
"""
比较当前的收盘价和MA10的关系
:param dailies:日线列表,10个元素,最后一个为当前交易日
:return 0 相等,1 大于,-1小于,None 结果未知
"""
current_daily = dailies[9]
close_sum = 0
for daily in dailies:
#10天中只要有一天停盘就返回False
if 'is_trading' not in daily or daily['is_trading'] is False:
return None
#用后复权累计
close_sum += daily['close']
#计算MA10
ma_10 = close_sum/10
#判断收盘价和MA10 的大小
post_adjusted_close = current_daily['close']
differ = post_adjusted_close - ma_10
print('计算信号,股票:%s ,收盘价:%7.2f,MA10:%7.2f,差值:%7.2f' %(code,post_adjusted_close,ma_10,differ),flush=True)
if differ>0:
return 1
elif differ |