TradingView Pine Script中向量除以标量的函数返回值咨询
问题1:convert_to_return的返回值类型
该函数最终返回的是和输入src长度一致的完整序列(也就是你说的向量),不是单个标量。
Pine Script中序列的运算符默认是逐元素映射执行的,你对src[1]的理解存在偏差:这里的[1]是相对当前K线的偏移量,不是固定指向整个序列的次新元素。对任意位置的K线n来说,src取的是n位置的数值,src[1]取的是n-1位置的数值,所以src / src[1]的逻辑是遍历所有K线,每一根都计算自身价格和前一根价格的比值。
举个实际例子:如果输入的security_close序列是[500, 550, 528, 633.6],那输出的return_series就是[na, 1.1, 0.96, 1.2],第一个值为na是因为第一根K线没有更早的历史价格可以做除法。
问题2:函数的作用
这个函数不是用来把序列缩放至第二个元素,它的核心作用是计算逐期简单收益率序列,是做重标极差分析(也就是你研究的这个超买超卖脚本的核心算法)的前置步骤:
- 价格绝对数值受标的本身的价格基数影响极大,无法直接用来对比不同标的、不同时间区间的波动特征
- 收益率序列剥离了价格基数的影响,1.1就代表相对上一周期上涨10%,0.9就代表下跌10%,统一的衡量标准才能支撑后续的波动区间统计、超买超卖阈值计算。
内容的提问来源于stack exchange,提问作者Benj
相关产品推荐
相关产品推荐

