代码错误问题
试了很多次,每次都是错误代码:10071
错误消息:缺少必需的输入参数
解决方案:请检查节点输入配置,确保所有必需字段都已填写,或检查前置节点是否正确连接
我写的策略代码,大佬看看到底是哪里出问题了
class MAFilterTradingSignal(Factor):
def calculate(self, factors):
“”"
选股 & 信号规则(仅因子层逻辑):
- 非ST近似:价格>1
- 至少已连续3个交易日收盘价同时在MA20、MA60、MA120之上
- 买入/持有:收盘价>MA5
- 卖出:收盘价<MA10
输出:1.0=持有/做多,0.0=空仓/不持有
“”"
# 直接读取需要的基础因子
close = factors[‘close’]
# 2. 计算价格均线
ma5 = MA(close, 5)
ma10 = MA(close, 10)
ma20 = MA(close, 20)
ma60 = MA(close, 60)
ma120 = MA(close, 120)
# 3. 非ST近似过滤:排除低价垃圾股
non_st_flag = close > 1.0
# 4. 趋势确认:使用时间序列计数,最近3天都在均线上方
cond20 = close > ma20
cond60 = close > ma60
cond120 = close > ma120
# COUNT 在该平台中是时序函数,直接对布尔序列按时间窗口统计
above20_3d = COUNT(cond20, 3)
above60_3d = COUNT(cond60, 3)
above120_3d = COUNT(cond120, 3)
# 最近3日都在均线上方(计数等于3)
trend_ok = (above20_3d == 3) & (above60_3d == 3) & (above120_3d == 3)
# 5. 交易信号生成:买入/持有 vs 卖出
enter_cond = close > ma5 # 买入/持有条件
exit_cond = close < ma10 # 卖出条件
long_signal = non_st_flag & trend_ok & enter_cond & (~exit_cond)
return IF(long_signal, 1.0, 0.0)