日K收盤價數值對應分k

  •   102 
  • 最後發表   風期會  2023 二月 22
風期會 發文於   2023/02/20

小幫手請教

我設計了只要跳高,就抓前一日『日收盤價』

在日k看是ok,只是切換到了分k,日收盤價數值就會跑掉呢?

程式碼如下,另外夾帶線圖呈現結果,感謝。

array: bullgap_close[5](0);
array: bullgap_date[5](0);

var: i(0);
//=========================================紀錄區=========================================
if getsymbolField("TSE.TW","O","D") > getsymbolField("TSE.TW","C","D")[1] then
  begin
    for i= 0 to 4
      begin
        if dayOfWeek(date)=i+1 then
          begin
            bullgap_close[i] = getsymbolField("TSE.TW","C","D")[1];
            bullgap_date[i] = date[1];
          end;
      end;
  end;

附加文件

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

Hello 風期會,

 

因為日頻率下的 date[1] 會是前一日的日期,但分鐘頻率除了當日第一根Bar以外的 date[1] 都不會是前一日的日期。

且 getsymbolField("TSE.TW","O","D") > getsymbolField("TSE.TW","C","D")[1] 在日頻率下條件符合只會執行一次。

但分鐘頻率下條件符合時當天的每根Bar都會執行。

需注意的是 FITXN*1 的換日時間是日盤結束時,所以舉例來說2/21日頻率包含的時間其實是 2/20 15:00 到 2/21 13:45。

建議您可以先使用 GetSymbolFieldDate 和 getfielddate 確認在期貨日夜盤商品時取 TSE.TW 會取得什麼日期的資料,以及期貨對應的日期。

因為在日頻率不會有問題,但分鐘頻率時會因為欄位對位關係導致取得的日期資料不同。

應該要在早上09:00到13:45之間才會是您想要的對應時間。(參考附圖)

 

另外for迴圈並不一定要從0開始,您也可以從1開始到5結束。

XQ的陣列雖然0的位置也可以存取,但陣列大小並沒有將0也計算進去。

簡單來說 bullgap_close 其實是個有 0 ~ 5 的6格陣列。

附加文件

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