HighestBar 第二個參數期數只能輸入常數,不能輸入變數嗎?

  •   267 
  • 最後發表   cooper  2018 七月 02
cooper 發文於   2018/06/30

HighestBar
計算序列資料的最大值的相對位置。
回傳數值=HighestBar(數列,期數)
傳入二個參數:
- 第一個參數是數列,通常是開高低收的價格數列。
- 第二個參數是期數。

程式如下:

vars:len(0);

if date=20180629 then begin
    len=60;
   value1=HighestBar(volume,60);
   value2=HighestBar(volume,len);
    print(value1,value2);

end;

以個股1476跑出來值如下:

15.000000        0.000000 想請問有沒有辦法克服兩個值不一樣的問題?

 

 

麻煩大家了,感謝

 

 

XQ小幫手 發文於   2018/07/02

Hi cooper,

您好,當您撰寫程式碼在指定日期才計算函數,並執行此策略雷達時,

變數當天期的情況下,函數 僅會計算當期 K 的數值( 不會去計算歷史 K 的部分 );但常數當天期的狀況,會計算到歷史 K 的部分,

所以 value2 為 0,因為僅會計算當期K的數值,故當期的成交量為最大值。

 

請改成以下範例試試看,讓變數當天期的函數在資料讀取筆數範圍的地方去計算,然後跑到指定日期時,再將資料匯出,兩邊的資料應該就會一致了,以上說明,謝謝。

input:len(60);

value1=HighestBar(volume,60);
value2=HighestBar(volume,len);

if date=20180629 then print(value1,value2);

  

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