Author Archives: 發財橘子

找出市場上每股現金最多的公司

選股的時候,有的時候會想找出某個條件排名前N名的公司,但如果系統不支援這個條件的排名時該怎麼辦? 例如我想找每股流動資產跟股價最接近的公司前20名,要怎麼做呢? 今天就是來跟大家分享這種自訂排行榜的寫法。

首先,得先把想要合排行的數值的演算規則寫成函數

2017062101

這裡用中文的函數名稱,目的是讓user可以很快的找到這個函數。

接下來就是撰寫這個函數的腳本

value1=GetField("現金及約當現金","Q");//百萬
value2=GetField("短期投資","Q");
value3=GetField("短期借款","Q");
value4=GetField("總市值","D");
value5=(value1+value2+value3)/(value4*100);
if value4<>0 then 
value6=value5/value4;
ret=value6;

這個函數腳本跟英文腳本的差別就在於用ret來代替英文的函數名稱作為賦值的敘述。

從上述的腳本中,可以理解,我想找的是現金與短期投資合計後減去短期借款後,跟總市值的比值,這個數字如果大於一,代表光公司馬上處理後的現金就高過公司目前的市值,通常這種公司就算是超跌了。

寫完函數後,接下來就是把這個函數拿來當作排行榜的條件,設定的流程如下

2017062102

2017062103

這樣就可以完成自訂的排行條件了。

這個功能是XQ6.2版之後才支援,透過這個方法,就可以自己來設計要排行的數字的演算方法了。

 

雞蛋水餃股的反彈行情

在指數站穩萬點之後,我最常聽到的一句話就是:” 指數都萬點了,股票還能買嗎?”

其實大家都清楚,這次的萬點指數,台積電佔了多重的角色

我寫了一個腳本專門在計算近N個月總市值增加超過M億的股票

value1=GetField("總市值","M");//單位:億
input:N1(24,"計算月份數");
input: addvalue(100,"總市值增加金額(單位:億");
if value1-value1[n1-1]>addvalue
then ret=1;
outputfield(1,value1-value1[n1-1],0,"市場增加金額(億)");

我拿這腳本去找過去兩年總市值增加超過五百億的公司,結果如下圖

2017060501

台積電的市值增加了1.8兆,這才是台股指數上萬點的真正原因,其餘的股票,其實不少的市值都還在七千到八千點指數的位置。

所以千萬別讓大盤的指數成了投資的心魔,以前怎麼挑股票,接下來還是怎麼挑股票,這是一個任意射擊,個股表現的時期,我預計這個時期會一直延續到全球利率水準被拉回到一定程度之後才會沙喲拉那。

任意射擊

接下來的階段,應該是屬於看好就買,看壞就空的自由射擊時期。

今天跟大家介紹的這個選股機器人上面的策略,就是衝著雞蛋水餃股而設計的交易策略

先看腳本

//雞蛋水餃股
settotalbar(1600);
value1=GetField("總市值");
input:period(1500,"計算天數");
input:ratio(5,"距離低點幅度");

if value1<lowest(value1,period)*(1+ratio/100)
//總市值回到過去一段時間最低點
then begin

if close=highest(close,20)
//創20日新高
and close<close[19]*1.07
//距離20日前沒有漲太兇
and GetSymbolField("tse.tw","收盤價")
>average(GetSymbolField("tse.tw","收盤價"),20)
//大盤多頭
and close <20
//股價低於20
then ret=1;

end;

這個腳本的概念是股價低於20元的股票

1.總市值回到過去一段時間最低點之下

2.股價創近20日來新高

3.但離20之前也沒有漲太兇

4.目前大盤是多頭格局

根據上述的原則,去跑過去三年的所有股票,進場後持有 20個交易日,回測報告如下:

2017060401

 

各位可以看到勝率雖然是六成,不算非常高,但是是屬於那種賺時賺的多,輸時輸的有限的策略。

符合條件的股票如下面這兩個例子

2017060402

 

2017060403

因為指數上萬點大家危機意識都很高,所以我跟大家介紹這個適合低價股的交易策略。

 

突破繼續型態選股策略

在攻擊型選股機器人裡有一個策略叫突破繼續型態,它的概念是去尋找一段時間裡高低震盪後,再創新高的公司,我試過不少的寫法,以下這個腳本的寫法回測的結果最好。

之前我在試著寫突破繼續型態的腳本時,太在意整理型態的樣式,後來發現,其實只要把握幾個原則

1。有一陣子沒有破底了。

2。今天之前一直有一陣子沒有創新高。

3。今天創了新高。

根據這三個原則寫的腳本如下

variable:iHigh(0); iHigh=maxlist(iHigh,H);
variable:iLow(100000); iLow=minlist(iLow,L);
variable:hitlow(0),hitlowdate(0);
if iLow = Low then //觸低次數與最後一次觸低日期
begin
hitlow+=1;
hitlowdate =date;
end;

if DateAdd(hitlowdate,"M",1) < Date and//如果自觸低點那天1個月後都沒有再觸低
iHigh/iLow < 1.3 and //波動在三成以內
barslast(iHigh = High)=0
and barslast(ihigh=high)[1]>10
//超過十天沒有創新高
and average(volume,100)>500
//來到設定日期以來最高點
and GetSymbolField("tse.tw","收盤價")
>average(GetSymbolField("tse.tw","收盤價"),20)
then ret =1;

我有加上多頭市場才啟動的濾網

如果設出場點為十天之後,把所有的股票都下去回測,回測的數字不錯,像下圖這樣的股票,就會符合這樣的腳本

2017060102

教科書上教繼續型態的時候,根據型態不同的樣子,把繼續型態分成很多類,但實際用腳本去描述這些型態的時候,要描述的很精確,不是很容易,關鍵在於型態的形塑,需要的天期不一,上切線與下切線的斜率也不一,我試著寫了幾個,能普遍應用到所有股票的不多,這次的寫法就乾脆不理會是那一種繼續型態,只取其核心概念:

1。一陣子沒有破底

2。區間高低震盪

3。且有些日子未創新高

4。然後今日再創新高。

這樣就不用計較中間的整理型態是什麼樣子,也不用管整理了多少天。

這次在選股機器人裡,我把這個策略放了上去,選出的股票,值得大家再仔細研究其基本面是否具備值得市場追高的因素。

 

金牌定存股選股策略

在價值型機器人裡,金牌定存股這個策略是在尋找每年獲利都超過五億,且近五年獲利獲利都還算穩定的公司,然後在這樣的公司移動平均線出現翻多的情況時,通知使用者。

金牌定存股這個 選股策略是由兩個腳本組成,第一個是找出金牌定存股的腳本

input:lowlimit(5,"年度獲利下限(億)");

value1=GetField("本期稅後淨利","Y");//單位:百萬
value2=lowest(value1,5);//五年獲利低點
value3=average(value1,5);//五年來平均獲利
if value1/100> lowlimit//獲利超過年度獲利下限
and value1/100<50//獲利沒有超過五十億元
and 
value1>value1[1]*0.9
and value1[1]>value1[2]*0.9//年度獲利連續兩年未衰退超過一成
and value2*1.3>value3
//五年來獲利最差的時候比平均值沒有掉超過三成

then ret=1;

outputfield(1, value1/100, 1, "稅後淨利(億)");

第二個腳本則是用月線及季線來定義目前股價處在什麼位置

variable:m20(0),m60(0),message("0") ;
m20=average(close,20);
m60=average(close,60);
if close > m20 and c< m60 and m20<m60
then message="復甦期"
else 
if close > m20 and c> m60 and m20<m60
then message="收集期" 
else 
if close > m20 and c> m60 and m20 > m60
then message="多頭"
else 
if close < m20 and c>m60 and m20>m60
then message="警示期"
else 
if close < m20 and c<m60 and m20>m60
then message="發散期"
else 
if close < m20 and c<m60 and m20<m60
then message="空頭";

 

if message<>message[1]
and message="多頭"
and message[1]="收集期"
and message[2]="收集期"
and volume>500 and close>10
then ret=1;
outputfield1(message);
setoutputname1("今日訊號");
outputfield2(message[1]);
setoutputname2("昨日訊號");
outputfield3(message[2]);
setoutputname3("前日訊號");

這個腳本的概念是從下面這張圖來的

101205

腳本的概念是不管之前是什麼階段,第一天回頭多頭時就觸發通知訊號。

把這兩個腳本結合起來,就是當獲利穩定的公司,股價重返多頭的第一天,就請機器人發出警訊。

以上是金牌定存股的說明

 

 

 

現金總市值比高的公司

在價值型投資當中,最保守最保守的價值型投資者,會想要尋找那些手上的現金比總市值還高的公司,因為公司最慘的情況就是被清算,被清算時最容易變現的是現金,如果市值跌到比公司持有的現金還低,那就很容易吸引大股東或其他的蒼蠅蚊子聞香而來,這時候如果成交量出現跟以往不一樣的熱絡景況,那就可能公司股價過低的情況已經被市場有心人士發現了,現金總市值比高的這個選股機器人,就是在挑這樣的公司。

要挑這樣的公司,一共是用了兩個選股腳本

第一個是找現金總市值比高過0.7的公司

value1=GetField("現金及約當現金","Q");//單位百萬
value2=GetField("短期投資","Q");//單位百萬
value3=(value1+value2)/100;//單位億之現金及短期投資合計金額
value4=GetField("總市值","D");//單位:億
if value4<>0
then value5=value3/value4;
//現金總市值比;
if value5>0.7 and value3>3
 //現金總市值比大於0.7且現金及短投合計超過3億
then ret=1;

outputfield(1, value5, 1, "現金總市值比");

第二個則是常見的無量變有量

input:v1(1000,"前一根bar成交量");
input:v2(1500,"這根bar成交量");
if trueall(volume[1]<=v1,10) and volume>v2 
then ret=1;

這兩個腳本合在一起,就是來挑這種股價低於價值且開始出量的股票。

舉個例子,2363矽統這檔股票,

236301

帳上現金有12億,長期投資裡有備供出售的聯電315380張,帳面價值是38億,光這兩者的合計就是50億,但矽統的股本是56億,股價只要跌到6.5元左右,總市值只有36億,這是標準的現金價值比市值高的股票。

各位可以發現,這檔股票跌到6.5元以下時,如果出量就會彈回七元以上,然後再跌下來,這就是很典型的無量變有量就是買點的例子

236302

這種股票會跌的這麼慘,通常是前景堪憂,但如果帳上現金多,就好像一個小朋友抱著大量的現金在街上走,難保不會被有心人士看上,這個選股法就是在尋找這樣的公司。

 

低PB股轉強

 

在價值型選股機器人裡,有一個策略是低PB股轉強,這個策略我是尋找股價低於15元但每股淨值超過9 元的股票,然後股價創二十日新高且股價尚未大漲的,過去三年回測的數據還不錯。

S__20414477

這個選股策略,是從一個警示策略改良而來,這個警示策略的腳本如下

// 選股法: 普通股全部
// 作多, 持有期別=20期
//
if GetSymbolField("tse.tw","收盤價") > average(GetSymbolField("tse.tw","收盤價"),10)
then begin
 if close<15
 and H = highest(H,20)
 and close<lowest(low,20)*1.07
 and highest(h,40)>close*1.1
 then
 ret=1;
end;

這是在多頭市場下,找先前股價下跌後的低價股

 

這策略在多頭市場蠻有效,但因為挑到的股票體質不佳,如果是進到空頭市場,就不合適用這個策略

這個腳本的概念是,在多頭市場的時候,尋找那些先前有下跌的低價股,然後當這些股票創二十日新高,但股價尚未大漲時進場,因為這代表股價在這陣子是處於打底的情況,這個策略就是找那些下跌後打底轉強的低價股,例如這個策略選到的富強鑫就是具有這樣的特 色。

2017052302

我自己使用這個選股策略的心得是,如果創新高的這兩天不是被大盤帶上來,股價有比大盤強勢,而且有放量,勝率會更高,另外,千萬記得空頭市場的訊號千萬別當真,這些低價股如果原來的主力放手,跌起來超可怕的。

 

選股機器人下載點

選股機器人APP介紹

每次介紹語法,總被我那些豬朋狗友虧說,啊咱這麼熟了,直接告訴我答案就好啦, 幹嘛叫我學寫程式; 那些晚上回家做功課,要瀏覽大量資料挑股票的朋友們也常建議我們,直接把他每天要做的事情,想辦法讓電腦去做,回家最好就可以有一組股票名單可以進一步深入研究。挪雞鴨說科技始終來自於人性,各位的聲音我們聽到了,今天就來跟大家介紹咱們家最新的產品: 機器人選股APP,透過這個APP,每天晚上您要作功課才挑得出來股票,現在直在出現在您的手機裡,接下來您只要從這些股票中再去作進一步的研究就可以,這個機器人可以省下各位做功課挑股票的時間。

 

各位從iPhone或Google phone的Store 打關鍵字“選股機器人”,就可以找到這個app,這個版本的app是免費的,如果您是中華電信的hami包會員,裡頭會有一些會員獨享的選股法。

下載完這個app,打開後像下圖

IMG_5072

 

按下一步之後會出現以下的畫面

IMG_5073

按了開始測驗之後,接下來按電腦的問題問答,

IMG_5067 IMG_5068 IMG_5069 IMG_5070 IMG_5071

 

電腦就會自動找出適合您的機器人,這邊合適您的機器人可能不只一隻

IMG_5063

之後每天按下”我的訊號“這個bottom,就可以找到符合您需求的選股策略,每天跑出來的股票清單

IMG_5064

這些股票你如果有覺得值得進一步作功課的,按一下旁邊的心號,就可以加入觀察名單,然後按下”觀察名單”的bottom,就可以看到這些股票的名單

IMG_5065

目前共提供了七個機器人,每個機器人設計理念都有簡短的說明

IMG_5074

所附的這些選股策略,都是回測過有一定勝率的,設計的理念也會在每個策略的最上方加以說明

IMG_5075

這個APP接下來會跟XQ全球贏家整合在一起,讓各位看到股票名稱後可以直接在手機上看盤,查資料,看線圖及下單。

這是敝公司呼應大家的需求最新的產品,請大家使用後多給我們批評指教

 

那些股票外資買超的隔天上漲的機會比較大??

兩年來,介紹了不少的交易策略,有客戶問我,能不能找出某策略對某一檔股票特別管用? 這陣子我正在學習如何把人工智慧用到交易策略裡,這當中有用到一個很有名的機率理論: 貝氏定理,這個理論正好可以拿來計算某策略對某股票的勝率,今天我就舉外資買超超過兩百張作為一個例子,運用貝氏定理,計算那一檔股票在外資買超的隔天,上漲的機率較大。

在學貝氏定理的時候,教科書教我們,如果有夠多的樣本,可以統計出人們得感冒的機率,人們咳嗽的機率,人們咳嗽且感冒的機率,那就可以算出人們如果咳嗽的話,得到感冒的機率有多大?

我以外資前一日買超跟隔天股價收高作例子,來呈現貝氏定理的概念

 

貝氏定理

 

當我們可以算出近N日來有那些天收高,算出近N日有那天的前一天外資買超,也算出近N日那些收高的日子裡有多少天的前一天外資買超,那麼根據貝氏定理,就可以算出如果前一天外資買超,那麼當天收高的機率有多高?

於是我寫了以下的腳本

 input:n(500,"樣本數");
settotalbar(n);
value1=GetField("外資買賣超","D");
variable:x1(0),y(0),c1(0),c2(0),c3(0);
if value1[1]>200 
then begin
x1=1;
c1=c1+1;
//外資買超的次數
end
else x1=0;

if close>open
then begin
y=1;
c2=c2+1;
//上漲的次數
end
else y=0;

if value1[1]>200
and close>open
then c3=c3+1;
//上漲且外資買超的次數

value2=c1/n; //外資買超的機率
value3=c2/n; //上漲的機率
value4=c3/c2;//收紅且外資買超的機率
value5=value4*value3/value2;
if countif(value1[1]>200,n)>20
then ret=1;
outputfield(1,value5*100,0,"外資前一日買超隔天收高的機率");
outputfield(2,c1,0,"上漲次數");
outputfield(3,c2,"外資買超次數");
outputfield(4,c3,0,"上漲且外資買超");

拿這個腳本去跑那些有一定的天數外資曾買超過的股票(我這裡是設20 天),然後根據其收高的機率排序,有如下圖:

2018050901

接下來我們就來印證看看這十檔股票是不是真的在外資買超的隔天會收高

我寫了一個警示腳本如下:

value1=GetField("外資買賣超","D");
if value1[1]>200 
then ret=1;

拿這個腳本去回測,用上面這十檔跑過去一年,一天就出場,交易成本設成0,回測的結果如下:

2017050902

回測報告顯示,如果只拿這十檔股票,在外資買超後進場,確實會賺錢,但其實這樣的結果不會太意外,因為我們用了過去500根當樣本去算機率,這500根也包括了回測時用的最近這一年的200多根。

所以如果要透過貝氏定理來找出某策略很適用的個股標的,有三個數字要很要求

  1. 樣本數一定要夠長
  2. 符合策略條件的次數要夠多
  3. 貝氏理論算出來的預測機率要夠高

 

這樣的方法還蠻適合用來找出那些股票適合那些常出訊號的交易策略,對於那些買進訊號不常出現的策略,因為可以用來計算的樣本不夠多,可能就不合用了。

在實際應用上,建議再放到模擬交易裡去跑一跑,看看是不是像回測的數字這麼好。

 

 

打造個股儀表板

 

前幾天介紹了大盤儀表板,然後聰明的朋友就舉一反三的問我,那有沒有個股儀表板? 我試寫了幾天,總算寫出一個自己覺得還不錯的腳本,今天就來野人獻曝一下,大家對於尋找個股的買點,都有各自的獨門絕活,可以使用類似的寫法,建構自己的進場儀表板。

大盤儀表板的概念,是在K線圖上,標示出各種不同大盤指標的進場點,使用者每天打開這個儀表板,就知道有那些條件出現了買進訊號,如果近幾日不同的條件都出現買進的訊號,那就代表後市上漲的機率上昇。

個股儀表板也是類似的概念,我是使用彼此沒有相關性的資料,來建構不同的買進訊號,並且濾掉近期重覆出現的訊號,我使用的資料分別有以下十個指標或欄位

1.KD

2.內外盤量

3.淨力指標(計算開高低收之間的差距)

4.分公司買進賣出家數

5.三大法人買賣超

6.MACD

7.資金流向

8.總成交次數

9.強弱指標

10.主力買張

我在K線圖上,標出利用這十個數據所建構的進場點,就如下圖般

個股儀表板

每天把觀察名單拿來一檔一檔的用這個儀表板看一遍,就可以找出自己想要買的股票,進場點到了沒?

要畫出像上面的這張圖,對應腳本如下:

condition1=false;
condition2=false;
condition3=false;
condition4=false;
condition5=false;
condition6=false;
condition7=false;
condition8=false;
condition9=false;
condition10=false;
switch(close)
begin
case >150: value5=low*0.9;
case <50 : value5=low*0.98;
default: value5=low*0.95;
end;
//==========日KD黃金交叉================

input: Length_D(9, "日KD期間");
input: Length_M(5, "周KD期間");
variable:rsv_d(0),kk_d(0),dd_d(0),c5(0);
 
stochastic(Length_D, 3, 3, rsv_d, kk_d, dd_d);
 
c5=barslast(kk_d crosses over dd_d);
if c5=0 and c5[1]>20
then condition1=true; 
if condition1
then plot1(value5,"月KD高檔鈍化且日KD黃金交叉");
//============內外盤量比差====================
var:c3(0);
value6=GetField("內盤量");//單位:元
value7=GetField("外盤量");//單位:元
if volume<>0 then begin
value8=value7/volume*100;//外盤量比
value9=value6/volume*100;//內盤量比
end;
value10=average(value8,5);
value11=average(value9,5);
value7=value10-value11+5;
c3=barslast(value7 crosses over 0);
if c3=0 and c3[1]>20
then condition2=true;
if condition2
then 
plot2(value5,"內外盤量比差");

//===========淨力指標==============
var:c4(0);
input:period2(10,"長期參數");

value12=summation(high-close,period2);//上檔賣壓
value13=summation(close-open,period2); //多空實績
value14=summation(close-low,period2);//下檔支撐
value15=summation(open-close[1],period2);//隔夜力道
if close<>0
then
value16=(value13+value14+value15-value12)/close*100;
 
c4=barslast( value16 crosses over -4);
if c4=0 and c4[1]>20
then condition3=true;
if condition3
then 
plot3(value5,"淨力指標");

//===========多頭起漲前的籌碼收集================
var:c2(0);
value1=GetField("分公司買進家數");
value2=GetField("分公司賣出家數");
value3=value2-value1;
value4=countif(value3>20,10);
c2=barslast(value4>6 );
if c2=0 and c2[1]>20
then condition4=true;
if condition4=true
then
plot4(value5,"籌碼收集");

//===========法人同步買超====================
variable: v1(0),v2(0),v3(0),c1(0);
v1=Getfield("外資買賣超");
v2=Getfield("投信買賣超");
v3=Getfield("自營商買賣超");

c1= barslast(maxlist2(v1,v2,v3)>100);
if c1=0 and c1[1]>20
then condition5=true;
if condition5=true
then plot5(value5,"法人同步買超");

//========DIF-MACD翻正=============
input: FastLength(12), SlowLength(26), MACDLength(9);
variable: difValue(0), macdValue(0), oscValue(0);
MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);
var:c6(0);
c6=barslast(oscValue Crosses Above 0);
if c6=0 and c6[1]>20
then condition6=true;
if condition6
then plot6(value5,"DIF-MACD翻正");
//========資金流向======================

var: m1(0),ma1(0),c7(0);
m1=GetField("資金流向");
ma1=average(m1,20)*1.5;
c7=barslast(m1 cross over ma1 and close>close[1]);
if c7=0 and c7[1]>20
then condition7=true;
if condition7
then plot7(value5,"資金流向");
//=========總成交次數================
var: t1(0),mat1(0),c8(0);
t1=GetField("總成交次數","D");
mat1=average(t1,20)*1.5;
c8=barslast(t1 cross over mat1 and close>close[1]);
if c8=0 and c8[1]>20
then condition8=true;
if condition8
then plot8(value5,"成交次數");
//=========強弱指標==================
var:s1(0),c9(0);
s1=GetField("強弱指標","D");

c9=barslast(trueall(s1>0,3));
if c9=0 and c9[1]>20
then condition9=true;
if condition9
then plot9(value5,"強弱指標");
//============主力買張================
var:b1(0),mab1(0),c10(0);
b1=GetField("主力買張");
mab1=average(b1,10);
c10=barslast(b1 cross over mab1);
if c10=0 and c10[1]>10
then condition10=true;
if condition10
then plot10(value5,"主力買張");

裡頭有用了barslast這個函數,目的是濾掉那些近期重覆出現的買進訊號,函數的說明如以下的連結

barslast

 

寫完腳本後必須設定好繪圖的格式,在技術分析設定中的主圖疊圖頁籤中選個股儀表板之後,調整繪圖的型式,樣式,顏色及座標軸,如下圖,即可完成個股儀表板的制作了。

20170504

每個人對於進場點的選擇,可能有很多種方法,透過這個寫法,可以清楚的看到不同方法的進場點,也可以更進一步的,把出場點也標示出來,這麼一來,操作上就可以更進退有據了。

 

當沖腳本2之多頭市場開盤暴量一分鐘K三連紅

這次要介紹的當沖腳本概念很簡單,那就是開盤一分鐘K連續三根上漲,成交量暴且收在最高點,這種股票如果是在多頭市場,去跑市值適中的股票,勝率有接近七成。

早先股票只有四,五百檔的時候,市場老手們慣用的手法之一是,早上一開盤就找那些有一定的市值與交易量,然後開盤的時候直接跳空上去,而且三分鐘內都是一路往上沒有拉回,成交量比之前放大不少,一分鐘線並且收在最高點,這樣的股票往往是當天盤中最強的股票。

不過用這一招的市場老手,我有觀察到他們都是多頭市場才入市的,只要覺得這盤不能玩了,就縮手旅遊去,不會逆市硬做,至於什麼時候是多頭,什麼時候是空頭?  有位市場老手說的很傳神,如果你進去追高後都虧錢就是空頭,如果進去後賺多輸少就是多頭。

我把這樣的精神寫成用一分鐘K在跑的腳本

if barfreq <> "Min" or Barinterval <>1 then
 RaiseRuntimeError("請設定頻率為1分鐘");
variable:BarNumberOfToday(0); 
if Date <> Date[1] then BarNumberOfToday=1 
else BarNumberOfToday+=1;{記錄今天的Bar數} 

if barnumberoftoday=3
//今天第三根1分鐘K,也就是開盤第三分鐘
then begin
if trueall(close>=close[1],3)
//連三根K棒都是紅棒
and volume>average(volume[1],3)*2
//成交量是過去三根量平均量的兩倍以上
and close=highd(0)
//收最高
then ret=1;
end;

如果挑那些市值適中的股票,跑最近的多頭市場,停損停利都是用4%,回測報告如下

多頭市場的開盤三紅k

但如果是在空頭市場用這個腳本,回測報告如下

20170502

真的是沖的愈多,死的愈慘。

我那天看了一個數字,說當沖的人目前在台灣只有兩萬人,但卻佔了一成的成交量,表示當沖的族群雖然不多,但卻很活躍,從這個腳本來看,當沖的輸贏關鍵就在於有沒有順勢操作,多頭市場先買後賣,空頭市場先責後買,千萬不要一條路走到黑。