Pine脚本 | 如何编写移动平均线?(附案例)

今天虎虎在编写 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))

猜你喜欢

转载自blog.csdn.net/qq_17685725/article/details/123450979