SetBarFreq(“小時”)??

  •   101 
  • 最後發表   philinck   2026 七月 29
philinck 發文於   2026/07/27

請問大大:

我想在選股時用小時為單位,找出
5ma>10ma>20ma,且macd二條線要在0軸之上,

用gemini寫了半天,似乎都會出錯,選股中心似乎不能用小時,只能日、週、月......,

SetBarFreq怎麼用?

請問大大,語法怎麼弄?謝謝

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

setBarFreq是選股腳本專用的指令,可用來指定選股的資料頻率。由於選股腳本只能使用日(含)以上的頻率,因此setBarFreq只能設定日(含)以上的頻率,無法設定使用小時頻率。

若要使用小時頻率選股,只能使用警示腳本或交易腳本,但它們不能使用setBarFreq,只能用以下的防呆機制限制使用者選擇小時頻率:

if barfreq<>"Min" or Barinterval<>60 then raiseruntimeerror("限用小時資料");

philinck 發文於   2026/07/28

謝謝 許教授,

好像還是不能選股,盤後也不行,看來內設就不行。

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

盤中選股要用警示腳本或交易腳本。符合條件的股票,會跳出警示視窗(警示腳本的ret=1,交易腳本的Alert)。它並不會像盤後選股會顯示選股結果清單。

若你還是無法滿足需求,請清楚說明你使用的情境及希望達到的效果。

philinck 發文於   2026/07/29

謝謝  許教授,

我想在盤後,找出「上市櫃所有股票」中,符合條件的股票(頻率是小時),

大概需求是這樣,但是似乎有所限制,不能像選股一樣,能在所有股票中搜尋,

謝謝指導

 

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

你可以撰寫以下的交易腳本,啟動策略之後,就可以在「執行紀錄」分頁的「列印」分頁看到結果。

if isLastBar then
    begin
        value1 = 100 * (c / GetField("參考價", "D") - 1);
        if value1 < -5 then 
        print(symbol, value1);
    end;

philinck 發文於   2026/07/29

謝謝  許教授,

真的非常感謝,

我會嘗試看看,再跟大家分享......

發表回覆
Close