SAR的資料

  •   75 
  • 最後發表   麥叔  2026 四月 10
麥叔 發文於   2026/03/31

value1=SAR(0.02,0.02,0.2);

用這個方式可以抓到目前的資料。前一K的資料,要如何抓取?

value1[1]測試後是不能用的

排序方式: 標準 | 最新
虎科大許教授 發文於   2026/03/31

若沒有跨頻率,則value1[1]是前一根K棒的SAR。

若跨頻率,則你需要自己寫跨頻率函數,並用xfMin_GetValue抓前一期的數值。

麥叔 發文於   2026/03/31

謝謝許教授,沒有跨頻率,但是我印出value1[1]的值,並不是前一根K棒的SAR。

跨頻率的SAR值,要完全自己寫的意思嗎?

 

虎科大許教授 發文於   2026/03/31

執行下列指標腳本,你會發覺value1[1]就是前一期的SAR。 跨頻率SAR函數需要完全自己寫。

value1=SAR(0.02,0.02,0.2);
value2=value1[1];
plot1(value1);
plot2(value2);

 

  • 按讚來自於
  • TAC214
XS小編 發文於   2026/04/01

Hello 麥叔,

 

小編補充 SAR 函數是需要用到前期運算值的函數,會需要足夠的資料讀取筆數。

可能您的筆數不太夠,導致當期計算出的值是對的,但前期值就和足夠的情況有所偏差。

  • 按讚來自於
  • TAC214
麥叔 發文於   2026/04/07

我執行下列腳本,value1是正確的,但value1[1]卻是0,我哪裡有問題?

value1=SAR(0.02,0.02,0.2);
print(value1,value1[1]);

虎科大許教授 發文於   2026/04/07

(1)請說明使用什麼類型的腳本。

(2)請將Print的內容貼上來看看。

XS小編 發文於   2026/04/10

Hello 麥叔,

 

小編補充,就您的描述來看,這可能是因為腳本在第一次運算所以發生此狀況。

建議可以增加資料讀取筆數,並在 currentbar > 1 以後再印出前期值 (在第一次執行的時候,value1[1]會是預設值0)。

舉例來說:

settotalbar(100);

value1 = sar(0.02, 0.02,0.2);

if currentbar > 1 then print(value1, value1[1]);

  • 按讚來自於
  • TAC214
發表回覆
Close