RSI 函數

  •   217 
  • 最後發表   lin16688  2020 二月 27
lin16688 發文於   2020/02/26

 SetBarMode(1);

// RSI function (for RSI指標)

//

input: price(numericseries), length(numericsimple);                                             

variable: sumUp(0), sumDown(0), up(0), down(0);

if CurrentBar = 1 then

  begin

sumUp = Average(maxlist(price - price[1], 0), length); 

sumDown = Average(maxlist(price[1] - price, 0), length); 

  end

else

  begin

up = maxlist(price - price[1], 0);

down = maxlist(price[1] - price, 0);

 

sumUp = sumUp[1] + (up - sumUp[1]) / length;

sumDown = sumDown[1] + (down - sumDown[1]) / length;

  end;

 

if sumUp + sumDown = 0 then

RSI = 0

else

RSI = 100 * sumUp / (sumUp + sumDown);

 

 

想要修改RSI函數,COPY了  RSI函數要做修改 

結果  0226-RSI242變數 "RSI" 沒有宣告,請用 Vars: 的方式宣告,冒號後面是變數名稱再用括號填入預設值。例如: Vars:varA(100); 如果要宣告陣列請用 Arrays: 冒號後面是名稱再用 [] 設定維度與大小,括號填入預設值。例如 Arrays:arr1[10](0);。

請問要如何修改 置換 函數  請示範  謝謝

XQ小幫手 發文於   2020/02/27

Hi Lin16688

您好,自訂函數有幾個要點

1.函數名稱是您要取的名字,例如RSI2

2.其他的腳本要引用的函數則為RSI2,因此回傳的值就應該要用RSI2存值,才會回傳到引用的腳本

因此您複製的確實是RSI的腳本沒錯,但您不能用"RSI"當做您要儲存的值,而是使用RSI2才可以喔。

提供給您小幫手把函數自訂為"RSI2"的範例,供您參考,謝謝。

附加文件

發表回覆
Close