今天虎虎在编写 head_sma 自定义指标时,遇到了困难。期间尝试使用Pine脚本从不同方式试着编写了SMA指标,企图寻找灵感,于是有了以下范例:
Pine版本://@version=5
先上图,代码的实现效果:
实现方式:
- sma()函数
//@version=5 indicator(title="sma", overlay=true) a = ta.sma(close,20) //使用自带的sma()函数 plot(a)
- for循环
//@version=5 indicator(title="sma", overlay=true) length = 20 sum = 0.0 for i = 0 to length - 1 //这里减1是因为下标是从0开始,而不是从1开始 sum := sum + close[i] a = sum / length plot(a)
- for循环,封装成函数,内置参数
//@version=5 indicator(title="sma", overlay=true) a() => length = 20 sum = 0.0 for i = 0 to length - 1 //这里减1是因为下标是从0开始,而不是从1开始 sum := sum + close[i] sum / length plot(a())
- while循环
//@version=5 indicator(title="sma", overlay=true) sum = 0.0 i = 0 while i <= 20 sum += close[i] i += 1 b = sum / i plot(b)
- while循环,封装成函数,利用函数形参传参
//@version=5 indicator(title="sma", overlay=true) a(src,len) => sum = 0.0 i = 0 while i <= len sum += src[i] i += 1 sum / i plot(a(close,20))