使用request.security获取RSI[1]值返回异常的问题求助
解决Pine Script中request.security获取RSI[1]异常值的问题
你的问题出在将本地时间框架计算好的RSI[1]传入request.security,这会导致函数去目标合约/时间框架请求这个本地值的对应数据,逻辑完全错误。正确的做法是在request.security的参数内部,直接计算目标时间框架下的RSI并取前一根K线的值。
修正后的代码如下:
rsi = ta.rsi(close, rsi_length) // 在request.security内部计算目标时间框架的RSI,再取[1] rsiprev = request.security(sym, timeframe.period, ta.rsi(close, 11)[1]) rsi_cond = rsi < 50 and rsiprev > 20 and rsiprev < 50
关键说明:
request.security的第三个参数是要在目标合约/时间框架上执行的计算逻辑,必须把RSI的计算放在这个参数里,才能得到对应时间框架下的真实RSI值。- 如果你传递的是本地计算好的
rsi1,函数会尝试在目标时间框架上获取这个本地值的映射,这完全不符合你的需求,所以会产生异常值。
内容的提问来源于stack exchange,提问作者jeon
相关产品推荐
相关产品推荐

