盤中成交價超過4% 給警示

  •   493 
  • 最後發表   sl55ianhuang  2025 二月 25
sl55ianhuang 發文於   2025/02/13

我想寫一個開盤價及盤中成交價 超過4% 且成交量超過昨日的10分之一。
如下

IF ( (open >= close[1] * 1.04) OR (high >= close[1] * 1.04) )  // 使用high來取盤中價格

AND (volume >= (volume[1] / 10))  

THEN

    ret = 1;  // 觸發警示

盤中有股票有超過4%且量也有超過10分之一,沒有給警示 是不是在觸發設定上還是編碼上有問題?

感謝您的協助

附加文件

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/02/13

(1)請確認你使用的頻率是日頻率。

(2)改寫成以下的程式碼比較妥當:

IF (getField("open","D")>=getField("參考價","D")*1.04 
    OR getField("high","D")>=getField("參考價","D")*1.04)
    AND getField("volume","D")>=getField("volume","D")[1]*0.1
THEN ret = 1;

sl55ianhuang 發文於   2025/02/13

感謝教授 不好意思 我是XQ小白。我有2個問題 我需要的是當日的盤中價,跟當日的盤中量。看的是分鐘KD,為何頻率是日頻率? 是因為XQ就是這樣設定的嗎? 還有像這種警示的Xscript 一定要等開盤,才能測試嗎? 還是有另外的方式,在晚上的時候也可以測試? 助順心!

虎科大許教授 發文於   2025/02/13

若你的主頻率是分K,則你原本寫法的open是當下分K的開盤價,而非今天的開盤價,high是當下分K的最高價,而非今天盤中的最高價。

主頻率不論是日或分K,用我的寫法,才能符合你的需求。在盤中,getField("high","D")是盤中的最高價,getField("volume","D")是盤中的累積量。

測試有回測及模擬交易兩種。回測可以在任何時候測試,模擬交易就只能等開盤才能測試。

  • 按讚來自於
  • SL55IANHUANG
sl55ianhuang 發文於   2025/02/17

教授 再請教一個問題,假如我要用分鐘量跟昨天成交量的10分之1去比。 應該要怎麼寫? 因為getField("volume","D")的頻率是依照策略雷達的指定頻率,假如我用的頻率是分鐘就無法取得昨天成交量。謝謝您

虎科大許教授 發文於   2025/02/17

(1)分鐘頻率之下,抓昨天成交量就用getField("volume","D")[1]。

(2)分鐘量比昨天成交量的10分之1大的條件如下:

condition1=v>getField("volume","D")[1]*0.1;

sl55ianhuang 發文於   2025/02/17

教授 我寫完 這樣可以嗎 設定頻率為分鐘

value1 = getField("volume","D")[1]*0.1; //昨天成交量的1/10

value2 =  getField("volume","1")[0]; //分鐘的量

 

IF (getField("open","D")>=getField("參考價","D")*1.04 

    OR getField("high","1")>=getField("參考價","D")*1.04)

    AND value1 >= value2

 

THEN ret = 1;

 

虎科大許教授 發文於   2025/02/18

getField("high","1")代表目前這根1分K的最高價。

你目前的寫法是(今天開盤上漲超過4%或目前1分K的最高價漲超過4%)且目前1分K的量小於等於昨量的10%。若需求是這樣,則程式OK。

由於判斷式有AND有OR,要小心邏輯錯誤。

  • 按讚來自於
  • SL55IANHUANG
sl55ianhuang 發文於   2025/02/19

教授 請教您。假如我要1:25時,將庫存當沖先賣的股票,以漲停價買回平倉,並在自動交易中心執行,應該如何寫?

 

虎科大許教授 發文於   2025/02/19

設定自動洗價,洗價期間為收盤前5分鐘。if currentTime>=132500 and position<0 then setposition(0,getField("漲停價","D"));

sl55ianhuang 發文於   2025/02/20

教授 沒有清倉,還留著。 也沒看到有委托單。已將自動洗價打開, 應該如何改呢? 謝謝教授 

顯示更多回應 發表回覆
Close