You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

价格高于sma40显示1逻辑异常,如何修正?

问题解决:价格低于SMA40时未显示0的排查方案

附图表说明:图表展示了价格曲线、SMA40指标线,以及自定义信号的输出情况,当前所有价格均低于SMA40,但信号未正确输出0。

以下是具体排查和解决步骤:

  • 验证SMA40计算准确性
    先单独输出sma40的数值,和手动计算的40期移动平均值对比,确认指标周期是否为40、计算范围是否包含正确的数据(比如是否用了收盘价而非其他价格类型),排除指标本身的计算错误。

  • 检查条件判断语法
    确认你的条件逻辑代码没有语法或逻辑错误,比如是否误将比较运算符写反、三元分支是否完整。以Pine Script为例,正确的逻辑应该类似:

    sma40 = ta.sma(close, 40)
    signal = close > sma40 ? 1 : 0
    plot(signal)
    

    检查是否存在变量类型不匹配(比如价格为浮点数、SMA40为整数)导致的比较异常,或者遗漏了else分支的默认值设置。

  • 排查数据对齐问题
    将价格和SMA40同时绘制在图表上,逐K线核对两者的数值关系,确认是否存在数据序列错位(比如SMA40的计算结果延迟了一个周期),或者因未来函数导致的指标值异常。

  • 排除其他代码干扰
    查看脚本中是否有后续代码修改了信号变量的值,比如额外的条件判断、循环赋值等,覆盖了原本的0值输出。可以暂时注释掉无关代码,只保留价格与SMA40的对比逻辑,测试信号是否正常输出。

内容的提问来源于stack exchange,提问作者thanupong chiraoranpat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 05:00:19