首先,我需要理解什么是“集合競價無量一字漲停”。集合競價階段是指股票交易開始前的時段,投資者可以提交買賣訂單,但此時尚未正式交易。無量可能指的是成交量非常低,或者幾乎沒有成交量。一字漲停則是指開盤價直接封漲停板,即開盤價等于漲停價,并且全天保持這個價格,形成“一字”形的K線。
接下來,我要確定這個選股公式需要滿足的條件:
- 在集合競價階段,開盤價即為漲停價。也就是說,開盤價等于前一交易日收盤價乘以漲停系數(通常為1.10,因為A股漲停是10%)。
- 成交量在集合競價階段非常低,可能是指幾乎無成交,或者成交量低于某個閾值。
- 可能還需要考慮其他因素,比如股票是否為ST股(這類股票漲停幅度不同,可能5%),或者是否處于停牌狀態等。
然后,我需要將這些條件轉化為具體的指標,并編寫相應的代碼。不同的股票交易平臺可能有不同的公式語法,比如通達信、同花順等。假設用戶需要的是通用偽代碼,或者特定平臺的代碼。
可能的步驟包括:
- 計算漲停價:前一日收盤價的1.1倍(排除ST股的情況)。
- 判斷開盤價是否等于漲停價。
- 檢查集合競價階段的成交量是否接近零,或者極低。
- 可能需要排除ST股,因為它們的漲停幅度不同。
- 可能需要確保股票在當日沒有停牌,可以正常交易。
需要注意的問題:
- 不同平臺的函數名稱可能不同,比如獲取開盤價的函數可能是OPEN,前收盤價可能是CLOSE或REF(CLOSE,1)。
- 成交量在集合競價階段可能屬于當日的成交量,所以需要確認如何獲取集合競價期間的成交量數據。有些平臺可能沒有單獨的集合競價成交量指標,可能需要使用當日開盤后的成交量,但如果是選股公式在開盤時運行,可能需要特殊處理。
- 無量可能指的是在集合競價階段沒有成交,或者成交量極小,比如小于100手或者某個閾值。
假設使用通達信的公式語言,可能的代碼結構如下:
漲停價 = REF(CLOSE, 1) * 1.1
開盤價等于漲停價:OPEN = 漲停價
成交量在集合競價階段為0或極低:VOL = 0 或者 VOL < 某個值
排除ST股:通過股票名稱判斷,比如是否含有“ST”字樣
但通達信可能沒有直接判斷ST股的函數,可能需要手動維護名單,這在公式中可能無法實現。因此,可能無法完全自動排除ST股,需要用戶自行注意。
所以,可能的源碼如下:
漲停價:=REF(CLOSE,1)*1.1;
開盤價等于漲停價:OPEN=漲停價;
集合競價無量:VOL=0;
選股條件:開盤價等于漲停價 AND 集合競價無量;
但是這里的問題在于,VOL通常是當日成交量,而集合競價階段的成交量是否包含在VOL中?可能實際交易中,集合競價的成交量會被計入當日的VOL,但如果在開盤瞬間執行選股公式,此時VOL可能還沒有數據,或者只有集合競價階段的成交量。需要確認平臺如何處理。
另外,有些平臺可能有專門針對集合競價階段的函數,比如開盤前的成交量或價格。例如,可能用PREVOL(假設存在)表示集合競價成交量。如果沒有這樣的函數,可能需要其他方法。
如果無法獲取集合競價階段的獨立成交量,可能需要使用當日開盤后的第一個時間段的數據,但這樣可能不符合用戶的需求。因此,可能需要調整條件,比如當日開盤價等于漲停價,并且當日成交量極低(可能在開盤后短時間內成交量也很低)。
此外,一字漲停還要求當日最高價等于最低價等于開盤價等于漲停價,即全天沒有波動,直接封漲停。因此,還需要判斷當日最高價(HIGH)和最低價(LOW)是否等于開盤價。
綜合以上,修正后的條件可能包括:
- 開盤價等于漲停價。
- 最高價等于最低價等于開盤價,即HIGH = LOW = OPEN。
- 成交量極低,比如VOL小于100手或者某個閾值。
- 排除ST股(如果可能)。
因此,通達信的公式可能如下:
漲停價:=REF(CLOSE,1)*1.1;
條件1:=OPEN=漲停價;
條件2:=HIGH=OPEN AND LOW=OPEN;
條件3:=VOL<100;
選股條件:條件1 AND 條件2 AND 條件3;
但這里的問題在于,VOL在開盤后可能隨著交易進行而變化,如果選股公式在盤中運行,可能會不符合集合競價的無量條件。因此,可能需要該公式在開盤時立即執行,或者在特定時間點。
此外,用戶可能需要的是在集合競價階段就能識別這種情況,但實際在開盤前,很多數據可能還未更新,因此可能需要使用歷史數據或實時數據的不同處理方式。
總結,最終的公式可能需要包括開盤價等于漲停價,全天價格無波動,且成交量極低。但具體實現需要根據平臺的支持情況調整。
以下是基于通達信公式語言的集合競價無量一字漲停選股公式源碼,主要包含開盤價漲停、全天無波動及成交量極低的條件:
// 集合競價無量一字漲停選股公式
漲停價 := REF(CLOSE, 1) * 1.10; // 計算前收盤價的漲停價(10%漲幅)
開盤漲停 := OPEN = 漲停價; // 開盤價等于漲停價
一字形態 := HIGH = LOW AND HIGH = OPEN; // 全天最高價=最低價=開盤價(一字線)
成交量低 := VOL < 100; // 當日成交量小于100手(可根據實際情況調整閾值)
選股條件 := 開盤漲停 AND 一字形態 AND 成交量低;
// 排除ST股(需手動維護,公式無法直接識別)
// 實際使用時需結合ST股名單過濾
SELECT 選股條件;
說明:
- 漲停價計算:使用前一日收盤價的1.1倍(適用于非ST股的10%漲停)。
- 開盤漲停:開盤價直接達到漲停價。
- 一字形態:全天價格無波動,最高價=最低價=開盤價。
- 成交量低:當日成交量小于100手(可調整閾值,如VOL=0或VOL<50)。
- 排除ST股:需手動處理,因公式無法自動識別ST標識。
注意事項:
- 執行時間:建議在收盤后或次日開盤前使用,盤中運行可能因成交量變化影響結果。
- 平臺差異:不同炒股軟件函數可能略有差異,需調整語法。
- ST股處理:ST股漲停幅度為5%,需單獨處理或手動排除。
此公式通過結合價格形態與成交量篩選符合“無量一字漲停”特征的股票,實際應用中需根據市場具體情況調整參數。