運用趨勢性指標時,透過股性做確認趨勢是否成形

By | 2016-02-19

當趨勢指標(如MA,MACD出現買進訊號時,我們最忐忑的是,這把下去不知道會不會又踫到盤整盤所出現的假訊號,偏偏老手們常說一年裡頭三個月漲,三個月跌,六個月盤,所以摃龜的機率還蠻大的。我試著在趨勢指標出現買進訊號時,再加上一個濾網,看看是否當上昇趨勢成形時,股性是否也明顯變好,如果兩者同步,代表脫離盤整的機會比較高。

基於上述的精神,我寫了一個腳本如下:

1//先預計兩個前提假設都不存在
2condition1=false;
3condition2=false;
4
5//定義趨勢明確的條件
6
7// MACD 黃金交叉 (dif向上穿越macd)
8//
9input: FastLength(12, "DIF短期期數"), SlowLength(26, "DIF長期期數"), MACDLength(9, "MACD期數");
10variable: difValue(0), macdValue(0), oscValue(0);
11
12SetBarBack(maxlist(FastLength,SlowLength,6) + MACDLength);
13SetTotalBar((maxlist(FastLength,SlowLength,6) + MACDLength) * 4);
14
15
16MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);
17
18if difValue Crosses Above macdValue
19then condition1=true;
20
21//定義有足夠的證據顯示股性出現轉變
22
23
24input:day(66,"股性指標的移動平均天數");
25input:ratio(10,"股性指標超出均值比率");
26variable:count(0);
27
28
29value1=q_TotalTicks;//總成交次數
30value2=average(value1,day);
31value3=GetField("強弱指標");
32value4=average(value3,day);
33value5=GetField("外盤均量");
34value6=average(value5,day);
35value7=GetField("主動買力");
36value8=average(value7,day);
37value9=GetField("開盤委買");
38value10=average(value9,day);
39count=0;
40if value1>=value2*(1+ratio/100)
41then count=count+1;
42if value3>=value4*(1+ratio/100)
43then count=count+1;
44if value5>=value6*(1+ratio/100)
45then count=count+1;
46if value7>=value8*(1+ratio/100)
47then count=count+1;
48if value9=value10*(1+ratio/100)
49then count=count+1;
50
51if count >=3 then condition2=true;
52
53//當上昇趨勢成形且股性明顯轉變時
54
55if condition1 and condition2
56then ret=1;

這個腳本就是使用了強弱指標,外盤均量,主動買力,總成交次數及開盤委買張數等五個指標做為衡量股性的工具,任何MACD出現黃金交叉的股票,都必須在上述五個股性指標中,有三個以上能夠出現比平均值高出一成以上的表現。

我試著用這樣的方法,來避開趨勢性指標出現太多假訊號,造成過多停損的後果。

當然也有朋友會透過選股的方式,先找出原本就認為比較有上漲機會的股票,這也是一種方式。

找形成上昇趨勢的股票,並且努力濾掉那些假訊號,是一個值得長期Study的topic