跨頻

  •   209 
  • 最後發表   tung tung  2023 二月 14
tung tung 發文於   2023/02/13

大戶頻率用-週,ADX頻率用-日,所以跨頻,發現大戶增減比例ok

value1ADX不對,是settotalBar錯誤或其他問題,

煩請解惑,謝謝

 

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2023/02/14

Hello tung tung,

 

小幫手不確定您在選股中心設定的頻率是什麼,不過需注意 xf 和 xfmin 開頭的跨頻率函數只能夠從小頻率跨到大頻率。

所以若您使用的是週頻率的話計算出來的值會是錯誤的。

主頻率使用日的話,那麼就可以直接使用 DirectionMovement 函數即可。

變數的執行頻率是跟著主頻率,所以如果是使用週頻率的話,value1[1] 取得的會是上一根Bar (上週) 的資訊而不是前一天的資訊。

 

如果還是有問題的話,麻煩更詳細描述是如何操作,以及告知錯誤的商品和日期資訊。

tung tung 發文於   2023/02/14

我選股目的想抓取週大戶數+日adx符合條件之股票

以附件跨頻1所抓取1203味全來說,

日的adx2/13正確為30.07;2/14為29.43

但跑出來adx為上週數值31.67及上上週29.26

 

以附件跨頻2所抓取2065世豐來說,本次adx為31.17;前次為31.9

更糟糕完全不知那來的

想請您解惑,謝謝

 

 

附加文件

XQ小幫手 發文於   2023/02/14

Hello tung tung,

 

就您的描述,小幫手推測您的執行頻率是選成週頻率,所以算出來的數值才會出錯,因為如同之前所說, xf 和 xfmin 開頭的跨頻率函數只能夠從小頻率跨到大頻率。

您選擇週頻率算出的數值會是錯誤的,要使用日頻率才行。

 

另外,大戶持股比例是當週結束的時候才更新,所以除非等週五更新資料後執行,不然出來的會是前一週的資料。

最簡單的方法是直接取用前期資料避免錯誤。

若要在腳本中判斷使用當週還是前週的資料,可以使用 GetFieldDate 來判斷資料對應的日期。

舉例來說:

if getfielddate("大戶持股比例","W",param:=1000) <> getfielddate("Date", "W") then begin

    value1 = getfielddate("大戶持股比例","W",param:=1000)[1];

    value2 = getfielddate("大戶持股比例","W",param:=1000)[2];

    end

else begin

    value1 = getfielddate("大戶持股比例","W",param:=1000);

    value2 = getfielddate("大戶持股比例","W",param:=1000)[1];

    end;

 

附上匯出的選股策略以及附圖供您參考。

附加文件

發表回覆
Close