開盤開始發動攻勢的主力買超股~交易時機策略的應用方式

By | 2016-08-02

每次當我們在探討選股策略時,總是會踫到一個問題: “選出來的股票到底要什麼時候進場?”  基本面操作者喜歡計算本益比及PB,尋找相對低價的進場點,技術分析操作者喜歡尋找指標黃金交叉的進場點,今天我想跟大家分享的是,從分時走勢圖上的變化,所出現的進場點。

一般來說,我們習慣於透過一些選股條件挑出一份觀察名單,然後透過自己相信的價格衡量標準,來決定是否進場,之後,當股市一開盤,最簡單的方法,就是開盤後買進,這 樣的操作手法,對於長線或波段或許可以,但對於短線操作者,最好還是考慮一下這檔股票當天盤中的表現,再來決定是否出手,或是出手的點要設在那裡?

也就是我們在設定程式交易的流程中,除了選股,交易日期之外,還要安排交易的時機。

舉個例子,我們計算籌碼,找到了主力一直在買超的股票,那麼我們是隔天開盤就跳進去嗎? 實際上,有些主力洗盤的時間會長達一兩個月,看到主力持續買超就跳進去,可能會等上好久攻勢都還沒有發動。

但如果我們把主力買超的股票選出 來之後,設為觀察名單,就可以每天用特定交易時機的策略去跑,等到出現買進訊號的時候再進場,這樣資金的應用效率就更高了。

例如以下的腳本

主力買超股

input: Length(5); setinputname(1,"計算天數");
input: limit1(20); setinputname(2,"買超佔成交量比例");

variable: r1(0), volTotal(0),ratio(0);

SetBarBack(20);
SetTotalBar(25);

r1 = summation(GetField("主力買賣超張數"), Length);
volTotal = summation(Volume, Length);

if voltotal<>0 then 
 begin
 ratio = r1 / voltotal * 100;
 if ratio >= limit1 and average(volume,20) > 500 then ret=1;
 
 setoutputname1("主力買賣超比重(%)");
 outputfield1(ratio);
 end;

我們寫了上述這個選股策略來挑出主力買超的股票

接下來我們可以用下面這個交易時機策略,每天來跑上述選股策略選出來的股票

開盤後一路走強

if barfreq <> "Min" or Barinterval <>1 then RaiseRuntimeError("請設定頻率為1分鐘");
input:n1(10,"開盤連續幾分鐘");
variable:BarNumberOfToday(0); 
if Date <> Date[1] then BarNumberOfToday=1 
else BarNumberOfToday+=1;{記錄今天的Bar數} 

if Date =currentdate then begin
variable: idx(0),tTime(0);
tTime=0;
 
for idx = 0 to n1-1
begin
if Close[idx] > Close[idx+1] then tTime+=1;
 {推升時記1}
 end; 
value1=q_DailyHigh;
if tTime >=n1*0.75
and q_PriceChangeRatio < 2 {漲幅仍在2%內}
and Timediff(Time,Time[BarNumberOfToday-1],"M") =n1{分鐘} 
 {離開盤第1個價15分鐘內}
and close=value1//目前是今日最高價
then ret=1;
end;

上述這個腳本代表開盤後一路往上走,這代表主力吃完貨,要開始拉,或是有其他的力量要進來參一腳,這時候應該就是進場的時機了

我自己在安排程式交易的時機時,使用的策略有很多種,除了這個開盤一路走高之外,常用的還有

1.突破盤中震盪區間

2.火箭後拉回

3.一分鐘線創N期以來新高

4.破底後又穿頭

5.開高後不拉回

6.開低後迅速站上平盤

以上這些交易時機的策略,可以用OR的方式串在一起,只要盤中這幾個現象出現其中之一,就是符合進場時機

 

進場時機的策略,是透過盤面的變化,來偵測多空力量是否達到一個失衡的突破口,大部份這種策略,都是用1分鐘線來跑,我建議大家寫幾個進場策略,用來提高資金的使用效率。