如何将SMA9涨幅条件从百分比修改为绝对数值(如10美元)
修改思路与代码示例
原代码逻辑说明
你提供的原代码存在逻辑偏差:buySMA = (close/SMA9) 再判断 >=0.03 实际是判断收盘价仅为SMA9的3%,并非涨幅3%。正确的百分比涨幅判断应为 (close - SMA9)/SMA9 >= 0.03,不过本次需求是改为绝对数值判断,重点如下:
绝对数值判断的修改方案
要实现“收盘价较SMA9上涨达到指定绝对数值(如10美元)”的条件,直接计算两者的差值并与目标数值比较即可,代码修改如下:
SMA9 = ta.sma(close, 9) // 自定义目标上涨的绝对数值(示例为10美元,可按需调整) targetRise = 10 // 条件:收盘价较SMA9的上涨幅度达到或超过目标绝对数值 condition = close - SMA9 >= targetRise
代码说明
targetRise:设置你需要的绝对上涨阈值,比如10美元,直接修改数值即可适配不同需求。close - SMA9 >= targetRise:核心逻辑是比较收盘价与9周期均线的差值,当差值大于等于目标值时,条件成立。
内容的提问来源于stack exchange,提问作者FocusedOlive640
相关产品推荐
相关产品推荐

