代码错误问题
  15061812928 21天前 80 0

代码错误问题
试了很多次,每次都是错误代码: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)
最后一次编辑于 21天前 0

暂无评论

推荐阅读
  18028306419   3天前   20   0   0 Python
  15012901756   2天前   15   0   0 Python