請指點一下我寫的這個小指標

  •   220 
  • 最後發表   CL  2022 六月 02
CL 發文於   2022/05/30

你好 小幫手 

我寫了一個簡單的stochastic RSI 指標如下:

Input:a1(14,"period");

vars:hiRSI(0),loRSI(0),curRSI(0),stoRSI(0);

hiRSI=highest(RSI(close,a1),a1);

loRSI=lowest(RSI(close,a1),a1);

curRSI=RSI(close,a1);

if hiRSI-loRSI<>0 then

stoRSI=(curRSI-loRSI)*100/(hiRSI-loRSI)

else

stoRSI=(curRSI-loRSI)*100;

 

value1=average(stoRSI,3);

 

plot1(stoRSI,"StochRSI K");

plot2(value1,"StochRSI D");

 

我想知道要怎麼樣可以把它變成跨頻率的指標,我想在5分K中看這個指標在60分K的位置

我知道xfMin_RSI("60", GetField("Close","60"), 14)這個函數可以讓我取得60分K的RSI值

但是highest(xfMin_RSI("60", GetField("Close","60"), 14),14)取得的不是60分K的14根K棒的最大RSI

而是5分K中14根K棒在60分K中的RSI值,所以不知道能不能指點一下要怎麼在5分K圖中

取得60分K中14根K棒RSI的最大值,感謝你

 

 

 

  • 按讚來自於
  • AIWAI2021
XQ小幫手 發文於   2022/06/02

Hello CL,

 

您可以使用 xfMin_GetValue 來取得不同頻率的前期值。

舉例來說:

value1 = xfMin_RSI("60", GetField("Close","60"), 14);

value2 = value1;    //當根

for value3 = 1 to 13 begin    //往前13根

    if xfMin_GetValue("60",value1,value3) > value2 then value2 = xfMin_GetValue("60",value1,value3);

    end;

這樣value2就會是60分鐘Bar中近14根RSI的最大值。

另外一種方法就是抓過去 14 * 12 = 168 (60分鐘 = 12個5分鐘) 根5分鐘Bar的跨頻率RSI最大值。

發表回覆
Close