當趨勢指標(如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
