
我常用的選股策略系列之3:營收大成長的低價股



Input:SPeriod(13),LPeriod(100); // 計算 // 條件 // 連續5日成交量>500 Condition1=trueall(V>500,5); // 創區間新高 Condition20=H=Highest(H,LPeriod); Condition2=Condition20 and Not Condition20[1]; // 區間壓縮 Condition3=(Highest(C,SPeriod)-Lowest(C,SPeriod))/Lowest(C,SPeriod)<0.05; // 創區間大量 Condition4=V=Highest(V,SPeriod); // 大盤趨勢向上 Condition100=Condition1 and Condition2 and Condition3 and Condition4 ; // 篩選 If Condition100 Then Ret=1;
大家可以試著回測看看
input:shortterm(5,"短期均線");
value1=GetField("上漲家數");
value2=average(value1,shortterm);
plot1(value2,"均線");
plot2(600);
plot3(300);
value1=getField("委買均", "D");
value2=getField("委賣均", "D");
value3=value1-value2;
plot1(value3,"委買委賣均張差");
plot2(value1,"委買均張");
plot3(value2,"委賣均張");
在研判大盤後市時,另一個我很常用的指標是外盤量佔比指標,這個指標的腳本如下
value1=getField("內盤量");
value2=getField("外盤量");
input:period(5,"計算區間");
value3=summation(value1,period);//區間內盤量合計
value4=summation(value2,period);//區間外盤量合計
value5=value3+value4;//區間內外盤量合計
if value5<>0 then
value6=value4/value5*100;
plot1(value6,"外盤量佔比指標");
plot2(50);
plot3(45);
我把常用的一些語法匯總在這裡給大家參考,這樣大家就可以直接取用,不用再自己另外撰寫
input:P1(1000,"暴量張數定義");
if barfreq <> "Tick" then RaiseRuntimeError("請設定頻率為TICK");
variable:BarNumberOfToday(0);
if Date <> Date[1] then BarNumberOfToday=1
else BarNumberOfToday+=1;{記錄今天的Bar數}
if currenttime < 090500 and date =currentdate {必需在9:05以前發生}
then begin {計算拉升時總張數}
variable: HighBar(NthHighestBar(1,Close,BarNumberOfToday)); {找到出現最高價那根Bar}
variable:idx(BarNumberOfToday-1),PullVolume(0),DropVolume(0);
for idx = BarNumberOfToday-1 to HighBar
{從開盤那個Bar,拉升到最高點那個Bar,上漲過程累計量}
begin
PullVolume += volume[idx]; {拉升的量}
end;
if PullVolume > P1 then ret=1;
end;
input: Length(20); setinputname(1,"計算期數"); input: VLength(10); setinputname(2,"均量期數"); input: volpercent(50); setinputname(3,"爆量增幅%"); input: Rate(5); setinputname(4,"離低點幅度%"); settotalbar(3); setbarback(maxlist(Length,VLength)); if Close > Close[1] and Volume >= average(volume,VLength) *(1+ volpercent/100) and Close <= lowest(close,Length) * (1+Rate/100) then ret=1;
input:percent(100); setinputname(1,"量增比例%");
input:Length(200); setinputname(2,"均量期數");
input:XLimit(True); setinputname(3,"限制最低觸發門檻");
input:atVolume(500); setinputname(4,"最低觸發張數");
input:TXT("建議使用分鐘線"); setinputname(5,"使用說明");
variable: AvgVolume(0);
settotalbar(Length + 3);
AvgVolume=Average(volume,Length);
if XLimit then
begin
if Volume > atVolume and volume > AvgVolume *(1+ percent/100) then ret=1;
end
else
begin
if Volume > Volume[1] and volume > AvgVolume *(1+ percent/100) then ret=1;
end;
以下腳本程式碼其中有一個 estvolume 自訂函數,在連結的文章中有做介紹,請注意要新增並編譯完成 estvolume 函數腳本後,才能取用此函數到其他腳本中。
input: VLength(20,"均量期數"); input: volpercent(60,"爆量增幅%"); input: r1(5,"區間高低差%"); input: period(30,"盤整最小期數"); if Close crosses above highest(high[1],period)//股價突破盤整區間 and estvolume > average(volume,VLength) *(1+ volpercent/100)//暴量 and highest(high,period)<=lowest(low,period)*(1+r1/100)//先前區間盤整 then ret=1;
input:period(40,"計算區間"); value1=highest(close[1],period); value2=lowest(close[1],period); if value1<value2*1.05 and close>close[2]*1.006 and close crosses over value1 and volume>average(volume[1],20)*1.3 then ret=1;
value1=truerange; value2=highest(value1,20); if value1>value2[1] and value1>value1[1] and close*1.01>high and close>close[1] and volume>1000 then ret=1;
input:r1(7); setinputname(1,"近來漲幅上限%");
SetTotalBar(8);
value1 = RateOfChange(close, 12);
value2 = lowest(low,3);
value3 = lowest(low,8);
value4 = lowest(low,13);
condition1=false;
condition2=false;
if
value1 < r1 and
value2 > value3 and
value3 > value4 and
close = highest(close,13)
then
condition1=true;
Value5=average(GetField("資金流向")[1],13);
if linearregslope(Value5,5) > 0
then condition2=true;
if condition1 and condition2
then ret=1;
input:length(20,"布林值計算天數"); variable:up1(0),down1(0),mid1(0),bbandwidth(0); up1 = bollingerband(Close, Length, 2); //以上是計算布林值的上軌值 input: day(9, "日KD期間"); variable:rsv_d(0),kk_d(0),dd_d(0); stochastic(day, 3, 3, rsv_d, kk_d, dd_d); //以上是計算KD值 if kk_d >=80 //KD鈍化 and close crosses over up1 then ret=1;
在新增「突破下降趨勢線」腳本前,請大家記得要先新增 angleprice 自訂函數,此自訂函數的腳本程式碼如下:
input:Date1(numeric),ang(numeric); variable:Date1Price(0); Date1Price =Open[Date1]; value1=tan(ang); value2=date1price*(1+value1*date1/100); angleprice=value2;
新增並編譯完成 angleprice 自訂函數後,即可撰寫「突破下降趨勢線」的腳本:
setbackbar(60); variable:keyprice(0); value1=highestbar(high,20); value2=swinghighbar(close,20,2,2,2); if value2<>-1 then begin value3=angle(date[value1],date[value2]); keyprice=angleprice(value1,value3); if value1>value2 and trueall(close >keyprice,3) and close>keyprice*1.05 and close[40]*1.1<highest(high,20) then ret=1; end;
input: BigBuy(500); setinputname(1,"大戶買單(萬)");
input: BigBuyTimes(10); setinputname(2,"大戶買進次數");
input:TXT("須逐筆洗價"); setinputname(3,"使用限制:");
variable: intrabarpersist Xtime(0);//計數器
variable: intrabarpersist Volumestamp(0);
Volumestamp =q_DailyVolume;
if Date <> currentdate or Volumestamp = Volumestamp[1] then Xtime =0; //開盤那根要歸0次數
if q_tickvolume*q_Last > BigBuy*10 and q_BidAskFlag=1 then Xtime+=1; //量夠大就加1次
if Xtime > BigBuyTimes then ret=1;
input:Length(5, "計算期數"); input:times(3, "價量背離次數"); input:Dist(20, "距離"); variable:count(0),KPrice(0),hDate(0); count = CountIf(close > close[1] and volume < volume[1], Length); if count > times then begin hDate=Date; Kprice = lowest(l,length); end; Condition1 = Close crosses below Kprice; Condition2 = DateDiff(Date,hdate) < Dist; Ret = Condition1 And Condition2;
condition1=false;
value1=GetField("分公司買進家數")[1];
value2=GetField("分公司賣出家數")[1];
value3=value2-value1;
value4=countif(value3>20,10);
value5=GetField("投信買張")[1];
value6=summation(value5,5);
if countif(value6>=1000,60)>=1
then condition1=true;
//過去60個交易日投信曾五天買超過2000張
if value4>=6
//最近十天有六天以上,籌碼是收集的
and close[30]>close*1.1
//最近三十天跌超過一成
and condition1
then ret=1;
Input: period(20, "期間(天)");
variable: avg_b(0);
value3=GetField("成交金額")/(GetField("Volume")*1000);
//當日均價
if GetField("Volume") > 0 then
Value5 = GetField("外資買張")*value3
//外資買進金額
else
Value5 = 0;
Value1 = summation(Value5, period);
Value2 = summation(GetField("外資買張"), period);
if Value2 > 0 then avg_b = Value1 / Value2;
if close crosses over avg_b then ret=1;
variable:IORatio(0),z(1);
if GetField("內盤量")[z]<>0 then
IORatio=GetField("外盤量")[z]/GetField("內盤量")[z]-1
{每天的內外盤力道比例}
else
ioratio=ioratio[1];
variable:iHigh(0),iLow(10000);
if IORatio > 0.5 then
begin
iHigh = H;
end
else if IORatio < -0.5 then
begin
iLow = L;
end;
if iHigh crosses over iLow then ret=1;
input:length(5);
value1=GetField("開盤委買");
value5=average(value1,100);
if
value1>4*value5
and value1>200
and close<close[10]
then ret=1;
最近個股多空分歧,選股功力變的很重要,今天來盤點一下XQ PC版及手機版中,各種盤後與盤中,免費及收費的選股功能,給大家作參考
如果您是免費的手機版用戶,盤後選股可以使用選股機器人這個APP,下面這篇文章有這個APP的介紹
如果你是免費PC版的使用者,下面這篇文章的第二部份有跟大家說明,要如何透過XQPC版的免費功能來選股
這裡面包括了型態選股,法人推荐股及殖利率排行榜
用上述的工具挑好標的之後,在盤中要如何拿捏好進出場點呢,在XQ PC版中的報價選單中,有一個台股精選報價的類別,在這個類別裡有一個台股特別報價,有各種不同的即時選股功能,我先前跟大家介紹的虎尾幫二代目就是運用這個功能來操作,大家可以把這些特別報價組合成一個看盤頁面,再看看自己選好的盤後標的,有沒有符合其中特定的盤中即時選股條件
以上大致是XQ免費版關於選股的相關功能
如果您擁有300元版的台股模組,就可以透過大戶買賣力等指標,進一步在盤中找到今天大戶在收集的個股,特別是如果您用上述選股工具挑出來的股票,今天有大戶在收集,那就更靠譜
至於台股模組如何支援大家觀察大戶動向,請參考下面這篇說明文,其中有提到這個模組在PC及手機上分別所支援的功能
如果您進一步擁有籌碼大數據的權限,那麼就可以透過籌碼選股的功能,來透過籌碼選股,進一步挑出特定籌碼條件的個股,下面這篇有舉例說明
下面的畫面是我自己訂的籌碼選股條件,我每天就從這裡面挑出一些我自己覺得可以深入研究的個股
例如下圖是昨天選出來的法人青睞股
接下來跟大家介紹的是XQ量化交易裡的選股中心,這個平台的選股深度及廣度就更大了,是我個人最主要的選股策略,下面是它的使用說明
這個平台的優點是各種選股策略都可以先回測看看,下面這篇有舉例說明
至於要怎麼著撰寫自己專屬的選股策略,以下這篇可以參考
以下是我自己設定的每日自動執行選股策略今天所挑出來的個股畫面
如果您有選股及策略雷達的權限,就可以把選股中心與策略雷達結合在一起,讓特定的盤後選股策略挑出股票,再用盤中策略去跑這些挑出來的股票,下面這篇有比較詳細的說明
以上是我盤點XQ平台上可以使用的選股工具,給大家作參考,祝大家今天操作順利
推荐碼@XQ8899
因著我多次跟大家介紹大戶即時指標,有不少使用者建議,可否就這個指標的應用,多舉一些實際的例子來說明,我想趁著疫情,大家比較有時間看文字說明,舉昨天盤中的一些個股為例子,來跟大家講講我自己的使用心得
一,連續上漲後的賣壓湧現
我舉之前連續兩根漲停板的長榮為例
就如果上圖所呈現,長榮昨天開盤大戶買賣力小買後馬上轉賣超,代表今天的大戶買氣沒有像前兩天那麼積極,之後大戶由賣轉買,但買超遠不如前兩日,從最高點往下殺時,股價雖都有小反彈,但大戶買賣力的賣超是一直在擴大,而且之後有兩度反彈時大戶買賣超都未見好轉,顯示今天的大戶基本上是站在賣方,結果最終收盤後的主力買賣超是賣超29784張
二,大戶全日都站在賣方
昨日的中鋼就是很好的例子,這種走勢是不管股價是漲是跌,大戶基本上就是持續的賣,愈賣愈多,從開盤就一路賣,這種通常就是有大咖的在賣股票
結果昨天收盤後公佈的法人買賣超是賣超66632張
三,大戶全日站買方
昨天的大江非常明顯,一開始大戶並沒有明顯站在買方,但之後轉買超後股價被拉高,就算股價壓回,大戶的買超都沒有減少,代表大戶一直堅定的站在買方,最終大戶就拉高作收
結果昨晚公佈的主力買賣超是主力買超1699張,連法人也是買超,這種股票如果前兩天主力及法人也都買超,且股價還沒有噴出,就代表今天的拉高且大戶買賣力持續往上走是拉高吃貨的動作
類似的情況還有漢磊及京鼎
大家可以發現,大戶站在買方,整天持續買,但未必會拉高買,這種可能就是法人在買,像這兩檔,收盤的法人買賣超都是買超
以上是昨天盤面上比較可以拿出來討論的幾個例子,因著大戶手上有比較多的錢,也有比較多多的股票,如果有幾個大戶都站在買方,或是一起站在賣方,在盤面上都會呈現出持續性的買超增加或賣超加大,這時我們必須站對邊,才能永保安康,這樣的方法最好搭配最近幾天的主力及法人買賣超及k線一起來看。
之後如果有其他的好例子,我再來跟大家分享,祝大家在疫情中身體健康,闔家平安,今天操作順利
推荐碼@XQ8899