我們在設定個股的買進策略時,有時候會踫到假的訊號,例如震盪型指標踫到盤整時,就容易出現假訊號,就算嚴格執行停損,還是會因為過度交易,浪費交易成本而必影響獲利,今天來跟大家考論一個概念,如果我在寫一個股性轉變的濾網,當策略出現買進訊號時,透過這個濾網來觀察股性是否真的有明顯改變,只有真的有明顯改變時才觸發訊號,這麼做應該可以避免過度交易的情況
我曾經跟大家分享過我有十二個衡量股性的標準
我試著用計分卡的方式寫了一個衡量股性的腳本如下:
input:day(20); input:ratio(10); var:count(0),x(0); value1=GetField("總成交次數","D"); value2=average(value1,day); value3=GetField("強弱指標"); value5=GetField("外盤均量"); value6=average(value5,day); value7=GetField("主動買力"); value8=average(value7,day); value9=GetField("開盤委買"); value10=average(value9,day); value11=GetField("資金流向"); value13=countif(value3>1,day); value14=average(value13,day);//比大盤強天數 value16=GetField("法人買張"); count=0; if value1>value2*(1+ratio/100) then count=count+1; if value13>value14*(1+ratio/100)//比大盤強的天數 then count=count+1; if value5>value6*(1+ratio/100) then count=count+1; if value7>value8*(1+ratio/100) then count=count+1; if value9>value10*(1+ratio/100) then count=count+1; if truerange> average(truerange,20)//真實波動區間 then count=count+1; if truerange<>0 then begin if close<=open then value15=(close-low)/truerange*100 else value15=(open-low)/truerange*100;//計算承接的力道 end; if value15>average(value15,day)*(1+ratio/100) then count=count+1; if volume<>0 then value17=value16/volume*100;//法人買張佔成交量比例 if value17>average(value17,10)*(1+ratio/100) then count=count+1; if value11>average(value11,10)*(1+ratio/100) then count=count+1; x=0; value18=summationif(close>=close[1]*1.02,x,5); if value18>=2 then count=count+1;//N日來漲幅較大的天數 value19=GetField("融資買進張數"); value20=GetField("融券買進張數"); value21=(value19+value20); value22=average(value21,day); if value21<value22*0.9 //散戶作多指標 then count=count+1; plot1(average(count,3),"股性綜合分數指標"); plot2(average(count,day),"移動平均");
從以下幾檔這個月逆勢上漲的股票,我們可以發現,股票有大行情時,股性會有明顯的變化
各位不妨以這個例子為基礎,發展各自不同的股性過濾腳本,這樣就可以減少過度交易及盤整時出現假訊號的機率