開盤輛

  •   124 
  • 最後發表   Johnny  2022 二月 10
Johnny 發文於   2022/01/30

請問警示或交易模組有辦法直接把開盤的第一筆量抓出來嗎?第一個tick

排序方式: 標準 | 最新
GaryChiang 發文於   2022/02/06

if Date<>Date[1] then condition1=true;      //開盤開始跑

// 為了避免延開的問題所以要判斷到 getfield("成交量", "Tick")<>0 為止

//這樣應該可以解決8成的情況!

 

    if getfield("成交量", "Tick")<>0 and condition1 then begin

            value1 = getfield("成交量", "Tick");    

            condition1 = false;    //結束取值

     end;

 

 

Johnny 發文於   2022/02/08

如果是警示的話呢

XQ小幫手 發文於   2022/02/10

 Hello Johnny,

 

您可以參考 開盤第一筆成交量 此篇文章。

舉例來說:

if barfreq <> "Min" and barinterval <> 1 then raiseRunTimeError("請使用1分鐘頻率");

var: first_v(0), IntrabarPersist _once(0);

 

if getfielddate("Date") <> getfielddate("Date")[1] then _once = 0;

 

if _once = 0 then begin

    value1 = 0;

    while getfield("Date", "Tick")[value1] = getfield("Date", "Tick")[value1 + 1] begin

value1 += 1;

end;

    first_v = getfield("Volume", "Tick")[value1];

    _once = 1;

    end;

這樣的話 first_v 就會是第一筆的成交量。

這個可以用在警示腳本裡,但要警示的話需要有條件觸發才行。

網站上有教學區,裡面有XS語法的基礎和運用可以閱覽。

 

感謝 GaryChiang 的熱心回覆。

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