首页 > 解决方案 > tradingview close -close[1] 准确度

问题描述

我写了一个如下的 Pine 脚本来考虑 RSI 指标。在此计算 RSI 的代码中,需要减去两个相邻蜡烛的收盘价(close-close 1)。如下图所示,pine 脚本 close-close 1 = 0.10 而 97.42-97.31=0.11!。这种差异从何而来? 在此处输入图像描述

为了计算 RMA,Pine 脚本使用 sum 1请用一个例子解释这个值是如何计算的。

让我假设我们有以下 3 天的收盘价数据。计算 RSI 时究竟发生了什么。

在此处输入图像描述

  // @version=4

    study(title = "MyRSI", overlay=true)

   rolling_moving_average(data, length) =>
       alpha =  length 
       sum = 0.0
       for index = length to 0
          if sum == 0.0
             sum := data[index]
          else
            sum := (data[index] + (alpha - 1) * nz(sum[1]))/alpha 

    MyRSI(data, length) =>
       u = max(data - data[1], 0.0)
       d = max(data[1] - data, 0.0)
       rgain = rolling_moving_average(u,length)
       rloss = rolling_moving_average(d,length)
       rs = rgain / rloss 
       rsi = 100 - 100 / ( 1 + rs )
       rsi



    MyRmagain(data, length) =>
       u = max(data - data[1], 0.0)
       d = max(data[1] - data, 0.0)
       //rgain = rolling_moving_average(u,length)
       u  


    MyRmaloss(data, length) =>
       u = max(data - data[1], 0.0)
       d = max(data[1] - data, 0.0)
       //rloss = rolling_moving_average(d,length)
       d

    //atr2 = MyRmagain(close, 3)
    plot(MyRmagain(close, 3), title="mm[1]", color=#00FF00)
    //plot(close)
    //atr2 = MyRmaloss(close, 3)
    plot(MyRmaloss(close, 3), title="mm[1]", color=#FF0000)
    plot(close,"close",#0000FF)
    plot(close[1],"close",#ff00FF)
    //atr2 := rolling_moving_average(close, 14)
    //plot(atr2, title="EMAUP2", color=#FF00FF)

    //atr = rma(close, 14)
    //plot(atr, title="EMAUP", color=#FF00FF)
    //plot(MyRSI(close, 14))

标签: pine-scriptindicator

解决方案


这是一个精度问题。DXY 的默认值是点后的两个数字,而点后可能有更多的数字:

在此处输入图像描述

要修复 thix 行为,请更改设置中的精度: 在此处输入图像描述

那应该有帮助。


推荐阅读