如何修改VuManChu Cipher B指标,使资金流单独基于Heiken Ashi计算
解决VuManChu Cipher B指标资金流改用Heikin Ashi的问题
问题根源
你之前的代码报错是因为:
- 未定义
AP变量,Pine Script无法识别该参数 - 仅获取单个HA数据不足以支撑资金流计算,需要完整的HA蜡烛高低收数据,同时要修改原函数适配自定义数据源
具体修改步骤
- 添加Heikin Ashi开关输入
在指标开头的输入参数区域添加:
useHA = input(true, "资金流用Heikin Ashi蜡烛计算", group="自定义设置")
- 获取Heikin Ashi蜡烛数据
在输入参数之后添加HA数据源获取代码:
// 获取Heikin Ashi蜡烛的高低收数据 ha_ticker = heikinashi(syminfo.tickerid) ha_high = request.security(ha_ticker, timeframe.period, high) ha_low = request.security(ha_ticker, timeframe.period, low) ha_close = request.security(ha_ticker, timeframe.period, close)
- 修改原
f_rsimfi函数
找到原指标中f_rsimfi的函数定义(约280-300行),修改为可接受自定义高低收参数的版本:
f_rsimfi(_period, _multiplier, _tf, _high, _low, _close) => rsiValue = ta.rsi(_close, _period) mfiValue = ta.mfi(_high, _low, _close, volume, _period) rsiMFI = (rsiValue - 50 + (mfiValue - 50)) * _multiplier rsiMFI
- 修改资金流计算调用逻辑
替换原314行的rsiMFI = f_rsimfi(...)代码,改为根据开关选择数据源:
// RSI + MFI Area rsiMFI = useHA ? f_rsimfi(rsiMFIperiod, rsiMFIMultiplier, timeframe.period, ha_high, ha_low, ha_close) : f_rsimfi(rsiMFIperiod, rsiMFIMultiplier, timeframe.period, high, low, close) rsiMFIColor = rsiMFI > 0 ? #3ee145 : #ff3d2e
注意事项
- 确保所有修改在Pine Script v5环境下操作(原指标为v5版本)
- 修改函数时不要遗漏参数,保持原计算逻辑不变,仅替换数据源
内容的提问来源于stack exchange,提问作者Ace
相关产品推荐
相关产品推荐

