這一波的下跌來勢不善,陸續被問到大跌後踫到什麼情況可以進場買股票? 今天我從K線型態出發,來看看股價如果跌三成後,出現的幾種K線組合,那一種回昇的機率較高。
首先我寫了一個函數叫BKPatterm,把幾個常見的多頭反轉K 線組合都包含在這個函數裡,由於此函數回傳類型為字串型態,故新增函數腳本時記得回傳類型勾選”字串”
我寫的腳本如下:
settotalbar(5); condition2 = (minlist(open,close)-Low) > absvalue(open-close)*3; condition3 = minlist(open, close) > low* (100 + 2)/100; if trueall( condition2 and condition3, 3) then bkpatterm="三長下影線"; {[檔名:] 紅三兵 [說明:] 連續三根上漲實體K棒 } condition1= ( close - open ) >(high -low) * 0.75; //狀況1:實體上漲K棒 condition4= ( close[1] - open[1] ) >(high[1] -low[1]) * 0.75; //狀況2:前一根也是實體上漲K棒 condition5= ( close[2] - open[2] ) >(high[2] -low[2]) * 0.75; //狀況3:前前根也是實體上漲K棒 condition6= close > close[1]; //狀況4: 上漲 condition7= close[1] > close[2];//狀況5:上漲 {結果判斷} IF condition1 and condition4 and condition5 and condition6 and condition7 THEN bkpatterm="紅三兵"; condition8= ( open[2] - close[2] ) >(high[2] -low[2]) * 0.75; //狀況1:實體下跌K棒 condition9= ( close[1] - open[1] ) >(high[1] -low[1]) * 0.75; //狀況2:實體上漲K棒 condition10= high[1] < high[2] and low[1] > low[2]; //狀況3:前期內包於前前期 condition11=( close - open ) > 0.75 *(high -low); //狀況4:當期實體上漲K棒 condition12=close > open[2]; //狀況5:現價突破前前期開盤價 IF condition8 and condition9 and condition10 and condition11 and condition12 THEN bkpatterm="內困三日翻紅"; condition13=open = High and close < open ;//狀況1: 開高收低留黑棒 condition14=(high -low) > 2 *(high[1]-low[1]) ;//狀況2: 波動倍增 condition15=(close-low)> (open-close) *2 ;//狀況3: 下影線為實體兩倍以上 IF condition13 and condition14 and condition15 THEN bkpatterm="吊人線"; condition16=(open[1] - close[1] ) >(high[1] -low[1])*0.75; //狀況1:前期出黑K棒 condition17=( close - open ) >(high -low) * 0.75; //狀況2:當期紅棒 condition18=high > high[1]; //狀況3:高過昨高 condition19=open<low[1]; //狀況4:開低破昨低 IF condition16 and condition17 and condition18 and condition19 THEN bkpatterm="多頭吞噬"; { [檔名:] 多頭執帶 [說明:] 開在最低點一路走高收在最高點附近的K棒 } condition20=close>open; condition21=(Close-Open)>(high-low)*0.9; condition22=Close>Close[1]+high[1]-low[1]; IF condition20 and condition21 and condition22 THEN bkpatterm="多頭執帶"; { [檔名:] 多頭母子 [說明:] 前期收長黑K棒 今期開高小幅收紅不過昨高 } condition23=( open[1] - close[1] ) >(high[1] -low[1])*0.75; //狀況1:前期出長黑K棒 condition24=close[3]-close[2]<close[2]-close[1]; //狀況2:前期呈波動放大下跌 condition25=( close - open ) >(high -low) * 0.75; //狀況3:當期紅棒 condition26=high < high[1]; //狀況4:高不過昨高 condition27=low>low[1]; //狀況5:低不破昨低 IF condition23 and condition24 and condition25 and condition26 and condition27 THEN bkpatterm="多頭母子"; { [檔名:] 多頭遭遇 [說明:] 前期收黑K棒 當期開低走高紅棒嘗試反攻昨收 } condition28= (open[1] - close[1] ) >(high[1] -low[1]) * 0.75; //狀況1:前期出黑K棒 condition29= close[1] < close[2]; //狀況2:前期收跌 condition30= ( close - open ) >(high -low) * 0.75; //狀況3:當期收紅K棒 condition31= open < close[1] and close < close[1]; //狀況4:開低且收跌 condition32= low < low[1];//狀況5:破前期低點 {結果判斷} IF condition28 and condition29 and condition30 and condition31 and condition32 THEN bkpatterm="多頭遭遇";
有了這個腳本,接下來的策略腳本就變的很簡單寫,例如我如果要找大跌三成後出現紅三兵的股票,就可以像下面這樣寫
if close*1.3<close[30] and bkpatterm="紅三兵" then ret=1;
如果想找跌三成後出現吊人線的股票,就把腳本中的紅三兵改成吊人線就可以了。
在這個腳本裡,我一共把八種多頭K線型態包含到BKPatterm這個函數中,分別是
三長下影線
紅三兵
內困三日翻紅
吊人線
多頭吞噬
多頭執帶
多頭母子
多頭遭遇
接下來就用上面的腳本分別回測這些型態在個股大跌三成後出現該型態後的二十天後股價是上漲還是下跌,以下是過去三年的回測數字
從這些數字來看,多頭遭遇出現的次數多,勝率高且平均報酬率也高,是最具實戰意義的K線型態。