配置多时间框架Stochastic指标报错:ta.stc参数类型不匹配
问题解决:
ta.stc参数类型不匹配错误 错误原因
你调用ta.stc时参数顺序完全错误:将价格序列(close/high这类series float类型数据)传入了需要整数类型的fast参数位置,导致类型校验失败。ta.stc的fast参数要求传入整数类型的周期值,而非价格序列。
修正方案
根据Pine Script中ta.stc的正确参数定义,需先传入整数类型的周期参数,再传入high、low、close这类价格序列参数。结合你的多时间框架需求,修正后的代码如下:
// 按ta.stc标准参数顺序:fast周期, slow周期, 循环周期, high序列, low序列, close序列 TF_1_STC_K = request.security(syminfo.tickerid, time_frame1, ta.sma(ta.stc(14, 3, 10, high, low, close), 3))
如果你的实际需求是计算常规随机震荡指标(Stochastic Oscillator)而非Stochastic Cycle,大概率是混淆了函数名,此时应改用ta.stoch,修正代码示例:
TF_1_STC_K = request.security(syminfo.tickerid, time_frame1, ta.sma(ta.stoch(high, low, close, 14, 3), 3))
注意事项
- 调用Pine Script内置指标函数时,务必核对参数顺序和类型要求,可通过编辑器的代码提示确认。
request.security内部会自动获取目标时间框架下的high/low/close数据,无需额外转换。
内容的提问来源于stack exchange,提问作者Amit Kumar Bhakat
相关产品推荐
相关产品推荐

