「XS超績創高」選的股票是在240日高點-10%~+25%之間的股票,其符合超級績效所述的第二階段技術面,同時稅後淨利年成長率必須連續三季大於20%(成長股)或當季大於100%(轉機股)。此選股法選出的股票較多(約數十檔),必須再輔以其他技術面篩選之。
本選股法「XS超績VCP」則是指創高後第二階段的第一底部~第三底部整理,大約離240日新高約+30%~+100%,同時形成VCP收縮,原理請見「VCP價格波動收縮型態」。前半段第二階段模板等大致與「XS超績創高」相同,只在後半段加入「VCP判斷」程式碼。因此腳本乃本人實際在操作,不宜公布週知,故僅公佈部分程式碼作為參考,前半段將略去。
腳本:
(前半段略)
|
{*** *判斷VCP ***} v_ShrinkTimes = 0; high1 = NthHighest(1,High[1],period); hbar1 = NthHighestBar(1,High[1],period); low1 = NthLowest(1,Low[1],hbar1-1); lbar1 = NthLowestBar(1,Low[1],hbar1-1); range1 = (1 - low1/ high1) * 100; if lbar1 >= 10 then begin v_ShrinkTimes = 1; high2 = NthHighest(1,High[1],lbar1-1); hbar2 = NthHighestBar(1,High[1],lbar1-1); low2 = NthLowest(1,Low[1],hbar2-1); lbar2 = NthLowestBar(1,Low[1],hbar2-1); range2 = (1 - low2/ high2) * 100; end; if lbar2 >= 5 then begin v_ShrinkTimes = 2; if lbar2 >=10 then begin v_ShrinkTimes = 3; high3 = NthHighest(1,High[1],lbar2-1); hbar3 = NthHighestBar(1,High[1],lbar2-1); low3 = NthLowest(1,Low[1],hbar3-1); lbar3 = NthLowestBar(1,Low[1],hbar3-1); range3 = (1 - low3/ high3) * 100; end; end; if v_ShrinkTimes < 2 then return; //*** 基本面 *** //v_QGrowth = GetField("稅後淨利成長率","Q"); value1 = GetField("稅後淨利成長率","Q"); value2 = GetField("稅後淨利成長率","Q")[1]; value3 = GetField("稅後淨利成長率","Q")[2]; if not ((value1 >= paraGrowth1 and value2 >= paraGrowth1 and value3 >= paraGrowth1) or (value1 >= paraGrowth2)) then return;
SetOutputName1("成長率1");OutputField1(value1); SetOutputName2("成長率2");OutputField2(value2); SetOutputName3("成長率3");OutputField3(value3); SetOutputName4("範圍1"); OutputField4(range1); SetOutputName5("範圍2"); OutputField5(range2); SetOutputName6("範圍3"); OutputField6(range3); SetOutputName7("第1高點"); OutputField7(high1); SetOutputName8("距離1"); OutputField8(hbar1); SetOutputName9("第2高點"); OutputField9(high2); SetOutputName10("距離2"); OutputField10(hbar2); SetOutputName11("第3高點"); OutputField11(high3); SetOutputName12("距離3"); OutputField12(hbar3); SetOutputName13("收縮次數"); OutputField13(v_ShrinkTimes); Ret=1; |
