up = klines.close.iloc[-5] > long_avg.iloc[-5] and klines.close.iloc[-4] > long_avg.iloc[-4]
and klines.close.iloc[-3] > long_avg.iloc[-3] and klines.close.iloc[-2] > long_avg.iloc[-2] and
klines.close.iloc[-1] > long_avg.iloc[-1]
down = klines.close.iloc[-5] < long_avg.iloc[-5] and klines.close.iloc[-4] < long_avg.iloc[-4]
and klines.close.iloc[-3] < long_avg.iloc[-3] and klines.close.iloc[-2] < long_avg.iloc[-2] and
klines.close.iloc[-1] < long_avg.iloc[-1]
while True:
api.wait_update()
if api.is_changing(klines.iloc[-1], “datetime”): # 产生新k线:重新计算SMA
long_avg = ma(klines[“close”], LONG) # 7分钟均线
up = klines.close.iloc[-5] > long_avg.iloc[-5] and klines.close.iloc[-4] > long_avg.iloc[-4]
and klines.close.iloc[-3] > long_avg.iloc[-3] and klines.close.iloc[-2] > long_avg.iloc[-2] and
klines.close.iloc[-1] > long_avg.iloc[-1]
down = klines.close.iloc[-5] < long_avg.iloc[-5] and klines.close.iloc[-4] < long_avg.iloc[-4]
and klines.close.iloc[-3] < long_avg.iloc[-3] and klines.close.iloc[-2] < long_avg.iloc[-2] and
klines.close.iloc[-1] < long_avg.iloc[-1]
if up:
print("连续5根均线上: 目标持仓 多头1手")
# 设置目标持仓为正数表示多头,负数表示空头,0表示空仓
target_pos.set_target_volume(1)
elif down:
print("连续5根均线下: 目标持仓 空头1手")
target_pos.set_target_volume(-1)
else:
print("目标持仓: 空仓")
target_pos.set_target_volume(0)