Author Archives: 發財橘子

定存股該不該波段操作?

定存股怎麼操作比較好? 我的建議是buy and hold!!

why?   有數字為證

首先我們先來定義什麼是定存股,我設了四個條件

1.年營收要大於十億元。有一定的經營規模比較不會受到單一客戶或特殊事件的影響。

2.連續五年營收每年就算衰退也不會超過5%。代表本業穩固

3.連績五年每年EPS超過兩元。

4.毛利率沒有掉的很兇。

其中第四項用條列式挑不出來,所以我寫成腳本如下

value1=GetField("營業毛利率","Q");
input:ratio(10,"毛利率單季衰退幅度上限");
input:period(10,"計算的期間,單位是季");

if trueall(value1>value1[1]*(1-ratio/100),period)
then ret=1;

台股中符合這四項的股票共有83檔

062102

 

 

如果在三年前買進這八十三檔,然後不除權息,其中63檔賺錢,20檔賠錢,平均報酬率是42.63%。

同時期加權指數是漲了8.05%

當然這種買下去就一直抱的操作方式不見得大家會接受,所以我也試著用波段的方式來操作,波段操作有三種方法,一種是大盤週線突破月線時買定存股,另一種則是不管大盤,個股週線突破月線時進場,最後一種則是大盤週線大於月線且個股週線突破月線時進場

第一種的回測報告如下:

062101

這個回測報告是以進場後持有70天為計算基礎

第二種的回測報告如下

062103

第三種的回測報告如下:

062104

我們從這三種不同的回測報告可以發現,如果我們把定存股拿來作市場時機操作,在大盤多翻空時出場,在大盤空翻多時進場,確實可以降低系統風險,但不會讓報酬率比buy and hold的操作方式高到那裡去,但交易次數會多上很多。

如果我們把定存股再作篩選,只留下那些護城河很高的股票(如下圖),

062105那麼不管用上面的那一種方法,風險會降低,但報酬率及每一筆的平均報酬不會更好,勝率也沒有比用83檔時高。

總的來說,

1.定存股如果條件寬鬆一點,且用buy and hold,長期下來,勝率最高,平均報酬率也最高,但在空頭市場跌起來也夠嚇人。

2.如果把條件定嚴一點,然後用buy and hold,長期下來,勝率OK,風險最低,總報酬也夠 迷人。

3.Play market timing時,在大盤空翻多時才進場,可以降低風險,但報酬率會拉低。

以上大約是我把定存股拿來回測時觀察到的現象,或許未來我如果有找到適合定存股的交易策略時,再來跟大家報告

 

 

 

找大碗底型態的大型股

每次都用有量的中小型股當投資標的,生性保守的朋友說能不能介一些適合大型股的交易策略,最好是進出次數不要太多的。我試了幾種方法,發現大股票在多頭市場出現大碗底型態時,績效不錯,推荐給大家。

 

所謂的大碗底,就是類似像下面這種型態的股票

061602

上圖在紅色箭頭處附近呈現了一個碗狀的底部區。

為了尋找這類型的股票,我寫了一個腳本如下:

value1=lowestbar(low,100);
value2=lowest(low,100);
value3=highestbar(high,100);
value4=highest(high,100);
 
if value4>value2*1.2
and value3-value1>15

then begin
if value1>15
and value2*1.05>close[1]
and average(volume[1],15)<5000
and close>close[1]*1.02
and volume>average(volume[1],15)*1.2
and GetSymbolField("tse.tw","收盤價")>
average(GetSymbolField("tse.tw","收盤價"),20)


then ret=1;
end;

我用這個腳本去跑大型股,回測報告如下:

061601

兩年的時間總交易次數是43次,其中23次賺錢,但賺錢時賺10%,虧錢時虧5%,手氣最差的時候是連續虧了17.56%,意思是在權值股及中型100成份股中,如果出現這樣的碗型底,站在買方是值得一試的交易

不過如果拿去跑小型股,出來的數字就不優了。

之所以這個腳本比較適合大型股,原因在於大型股的籌碼比較凌亂,需要比較長的時間來整理及換手,所以比較容易出現較長時間的落底打底過程。

 

 

周線,日線跟60分鐘線兼顧的交易策略

以前老師父教我們用週線抓波段,用日線抓進場日期,用60分鐘線抓交易時機,他們總是要我們週線日線及60分鐘線要同時看,所以我們看盤的螢幕就愈來愈大,愈來愈多,做為後生小輩,師父的話都有聽,但坦白說,知其然,不知其所以然,後來讀到一本書,Alexander Elder的著作: “Trading for a living”,這是一本同時使用不同頻率來制定交易策略的著作,我試著參照書裡的思考邏輯,寫出對應的交易策略,回測的效果還不錯,跟大家分享這個策略,各位不妨以此為基礎,進一步調整成勝率更高的私房策略。

在這本書裡,Alexander 提出了一個觀念: 叫作三重濾網交易系統(Triple Screen Trading System),它的概念是把股價波動的趨勢分成三種,一是主趨勢,二是中期趨勢,三是短期趨勢,他用Tide(潮汐),波浪(Wave)與小漣漪(Ripple)三種海浪的變化來代表這三種不同的趨勢,顧名思義,潮汐是長線的主要趨勢,漲潮時,海水會愈來愈逼近海岸,退潮時則海水會離海岸愈來愈遠。在漲潮退潮的過程中,海浪則是一波波打向岸邊,不斷地往前衝然後後退,漣漪則是海浪踫到不同地形地物時所激起的浪花,雖然漂亮而惹人注目,但對於大方向無關緊要。

Alexander的三重濾網交易系統的概念就是

1.掌握主要趨勢。(週線)

2.在短期超買超賣後尋找進場時機(日線)

3.從股價的波動中確認進場點(盤中)

這樣的觀念,等於在一個交易系統中,同時使用了週線,日線及盤中洗價(例如60分鐘線)這樣的概念,這是一個跨三種頻率的交易策略,這樣的策略該怎麼建構呢?

首先是挑選週,日及60分鐘所用的指標及觸發條件

第一重看長線,可以用趨勢型的指標,所以我挑選MA移動平均線

第二重是要找在長線上昇趨勢中的回檔相對低點,所以我選擇動能指標MTM

第三重則是用突破型交易策略,當60分鐘線創20小時來新高。

這三者合在一起,就可以找出在對的趨勢裡,短期整理後又重新往趨勢前進的股票。

根據上述的邏輯,對應的腳本如下:

//週線多頭排列
if GetField("收盤價","W")
>=average(GetField("收盤價","W"),4)
and 
average(GetField("收盤價","W"),4)
>=average(getfield("收盤價","w"),15)
and 
//日線動能小於0
GetField("收盤價","d")-GetField("收盤價","d")[10]
<0
then begin
//60分鐘線創20小時來新高
if close=highest(high,20)
then ret=1;
end;

用這個腳本去作六個月期及三年期回測,跑有量的中小型股,回測報告如下圖

061901

 

061902

其實我也試著把大型拿來用這個策略跑過,雖然總報酬率還是有300多%,但勝率只有39%,效果還是遠不如有量的中小型股票好

 

在寫這種跨頻率腳本時,要特別留意資料對齊的問題,所以非基準頻率的欄位,最好不要透過宣告變數來使用。直接用引號[x]來代表前x期的該欄位數據,才能精準的取得前x期的數據。

跨頻率的交易策略我覺得確實值得一試,推薦給大家。

 

從OTC與加權指數表現落差觀察大盤轉折點

 入行27年,用新台幣,學到了不少經驗,其中一個是,”當大家都不好的時候,代表大環境讓公司派偏空,這樣的大環境如果無法改善,連原本還可以的公司,也會不如預期”。

因為這樣的經驗,我一直相信一個原則,那就是”行情要落底,OTC的股票要先抗跌 ,行情要作頭,OTC的股票先回頭”。

這樣的經驗來自民國84年,前一年是大多頭,隔年call公司時,我發現大部份的公司都說的很保守,特別是那些股本不大的公司,受景氣影響波動會比較大的公司,好不容易看到一家表現還比83年好的,二話不說,我就全押在這一檔身上,不只自己押,我還敲鑼打鼓叫親朋好友也都押,一開始大部份的股票在下跌時,這檔還很抗跌,甚至還逆市上漲,但隨著大環境的持續惡化,這家公司開出來的數字跟原先的預期還是有些落差,最後還是跌了下來,那一次對我是很大的打撃,我有位很要好的朋友因為這一檔,把原本要買房子的錢都賠光了,從此,我很留意中小型公司對於未來業績的看法,因為我發現,當一整片都悲觀的時候,樂觀的,後來會被證明太樂觀。

最近XS支援跨商品時,我試著想把這樣的觀察用數據來印證,我試著用一個指標來印證我的觀察, 底下的腳本就是這個指標,我稱之為小型股表現指標。

這個指標的腳本如下:

input:period(5,"移動平均天期");
value1=GetSymbolField("otc.tw","收盤價");
value2=rateofchange(value1,2);
value3=rateofchange(close,2);
if value2>=0 
then value4=value2-value3
else
if value2<0 and value2>=value3
then value4= absvalue(value3)-absvalue(value2)
else
value4=absvalue(value2)-absvalue(value3);
value5=average(value4,5);
plot1(value5);

這個指標是把OTC指數的漲幅減加權指數的漲幅相減,在把這數字作移動平均,畫出來的圖如下:

061402
一直以來,我有觀察到一個現象,那就是OTC的股票,公司派表態的情況比較普遍 ,所以指數落底前,OTC會先抗跌,相反的,OTC漲不動,加權指數再漲的話 ,反轉的機率會昇高。

這些年,我之所以還能存活在市場上,我自己覺得有兩個重要因素,一個是我會控制持股比例,不再重押全梭,另一個則是,透過一些指標及數據,我站對邊的機率變高了,特別是在反轉的過程中,我會更警覺,會更小心。

這可能也是我漸漸從消息面操作者,變成數據派操作者的關係吧,我想。

有量的中小型股才是操作者的核心標的

是不是盤好的時候買什麼都一樣?我寫了一個腳本如下,就是當大盤週線在月線之上時,個股不需要其他條件就直接進場。

if average(GetSymbolField("tse.tw","收盤價"),5)>
average(GetSymbolField("tse.tw","收盤價"),20)
then ret=1;

首先我拿這腳本來跑所有股票

060904

看這回測報告就知道,就算大盤很好,亂槍打鳥還是會輸的很慘。

接下來我用同樣的腳本跑權值股及中型100成份股,底下是回測報告

060905

原本認為權值股及中型100會比較貼近大盤,實際上去跑回測反而輸的更慘

權值股不見得能順著大盤上漲,那麼我就不跑大型股,換作來跑股本10億以下的小型股,一共有719檔,底下是回測報告。

060906

勝率只有36.51%,總報酬雖然很好,但那是總交易次數推出來的,基本上算是隨波逐流。

 

最後還是用我最常用的有量的中小型股下去跑(五日均量超過1000張,股本小於40億),下面是回測報告。

060907

這個勝率41%,然後淨值上下波動的幅度沒有前幾種大,意思是盤如果不錯,這些股票是能漲的,但如果盤不好,這些股票還是會跌的很慘,可是我們漲的時候停利用10%,跌的時候停損用5%,也就是贏一次就可以抵掉輸了兩次,也因此三年下來才會出現5366%的總報酬率,但3年7706次的總交易次數還是太多,一年平均進場2500多次,一個月平均進場200次,一天進場10次,實在是太多了。

但從上面的實測,我們可以確定一點:” 有量的中小型股,是在大盤上漲時,最有機會展現一段多頭行情股票群體”

 

因此,我的思考的方向改成,”在大盤表現不錯的時候,透過一些方法,在這個群體中,找出真正轉強的股票”,試著濾掉那些無謂的交易次數。

例如以下的這個腳本

condition1 = GetField("投信持股")[1]<=1000 and getField("投信買賣超")[1]=0;

if H>H[1]
and TrueAll(condition1[1],60)
and GetField("投信買賣超")[1]*C>1000
and average(GetSymbolField("tse.tw","收盤價"),5)>
average(GetSymbolField("tse.tw","收盤價"),20)
then ret=1;

 

這個腳本就是在大盤好的時候,去尋找投信才剛剛介入的有量中小型股,

它的回測報告如下

060908

我們會發現,過去三年,才出現42次的觸發交易,淨值也不會像波浪一樣,呈現太大幅度的上下震盪,而是基本穩定往上走。

 

這樣的方法就是透過一個有效的策略,過濾雜訊,找出真正值得交易的訊號。

 

 

 

 

盤上成交是否真的是重要指標?

老師父們一向很重視一檔股票今天有多少成交量是在盤上成交,他們認為,盤上成交代表的是買盤勇於用比前一天收盤價更高的價格來買進,這是一種積極性買盤的表徵,我試著以這樣的邏輯,建構出一個勝率還不錯的交易策略。

要算盤上成交的比例,XS有內建一個欄位叫上漲量,所以我就寫了一個簡單的自訂指標腳本

value1=GetField("上漲量","D");
if volume<>0
then value2=value1/volume;
plot1(average(value2,5));

但寫完之後覺得這樣似乎完全沒有考慮到當天分時交易的多空拼搏,所以我又另外用一分鐘線最後是收在昨日收盤價之上與否,來決定是否把那一分鐘的成交量納入累積的盤上成交量,根據這個原則,寫了另一個自訂指標腳本如下

array: x[240](0);
var:i(0);

for i=1 to 240
begin
if GetField("收盤價","1")[i-1]>close[1]
then 
x[i]=GetField("成交量","1")[i-1]
else
x[i]=0;
end;
value1=array_sum(x,1,240);
if volume<>0
then 
value2=value1/volume;
value3=average(value2,5);

plot1(value3);

這個腳本我是宣告一個陣列來代表每天的240根1分鐘線我要被加計進量的成交量,如果當根1分鐘線的收盤價大於前一天日線的收盤價,那麼當根1分鐘線的成交量就被算進來,不然陣列的那一格就是0,然後我再用array_sum這個把陣列裡每個值全部都加總起來的函數來計算這240格的總和,這就是當天1分鐘線收在盤上的成交量總和。

然後再把這兩個指標跟加權指數擺在一起看,會如下圖

060903

從這張圖我們可以明顯的看到,當這個值由低檔往上走的時候,代表積極性的買盤,佔整個買盤的比重在成長,這往往是止跌回昇的前兆,而用1分鐘線來計算的盤上累計成交量,由於考慮到每一分鐘多空拼搏的角力,其數字對多空趨勢又比單純用上漲量來得敏感許多,所以我就用1分鐘線的累積盤上成交量作為策略的核心,寫了下面這個腳本

array: x[240](0);
var:i(0);

for i=1 to 240
begin
if GetField("收盤價","1")[i-1]>close[1]
then 
x[i]=GetField("成交量","1")[i-1]
else
x[i]=0;
end;
value1=array_sum(x,1,240);
if volume<>0
then 
value2=value1/volume;
value3=average(value2,5);
if value3 cross over 0.2
and GetSymbolField("tse.tw","收盤價","D")
>average(GetSymbolField("tse.tw","收盤價","D"),10)
and volume>average(volume,20)*1.2
then ret=1;

要特別說明的是,我依然只跑有量中小型股,停利用10%,停損用6%

這部份的回測蠻花時間,所以我試跑了最近三個月,回測報表如下

060909

 

各位不妨也試試看用盤上成交比例這樣的概念來開展自己的交易策略。

 

有沒有多空都能賺錢的交易策略??

“我希望有一個策略,大盤在漲的時候我會賺錢,大盤在跌的時候我也會賺錢。” 這是先前來學程式交易的某網友,許的願望。(我很想跟他說你直接叫我乾爹,我給你零用錢比較快)

不過正所謂需求創造供給,這陣子有空就在想如何建構一個多空都要能賺錢的交易策略,搭捷運時想,走路時想,有時候連睡覺前都在想,想來想去,想到了一招,我寫了一個小程式,似乎可行,今天就來跟大家分享這個嚐試。

請大家先看下面這張圖

0050 and 00632r

TSE,0050及00632R擺在一起看,TSE漲時,0050會漲,TSE跌時,00632R會漲,所以我們如果有個策略,可以抓到多空轉折點(不用太精準,大勢看對有接對就行),那麼應該可以實現一個策略多空都賺的願望。

於是,我寫了一個腳本如下: 用0050及00632R這兩檔ETF去跑

if symbol="0050.TW"
then begin
if average(GetSymbolField("tse.TW","收盤價"),5)
crosses over average(GetSymbolField("tse.TW","收盤價"),20)
then ret=1;
end;

if symbol="00632R.TW"
then begin
if average(GetSymbolField("tse.TW","收盤價"),5)
crosses under average(GetSymbolField("tse.TW","收盤價"),20)
then ret=1;
end;

今年以來,回測的報告真的不錯

060701

如果從00632R上市的時候2014年11月起跑回測,也還OK

060702

這個腳本的概念就是當加權指數週線突破月線時進場買0050,當週線跌破月線時,進場買00632R

用這個方法,會輸錢都是輸在均線假突破跟假跌破,至於怎麼濾掉假突破跟假跌破,先賣個關子,下次有機會再來討論

在腳本中有用到symbol這個函數,它的用法是

symbol=”商品代碼”

不過這邊有個小陷阱,商品代碼的英文字母記得一定要用大寫,小寫電腦不認識。

 

 

 

從大盤上漲下跌家數的變化來預測大盤未來方向

對於台股後市,我一直使用上漲下跌家數差這個指標來當作溫度計,這個指標有幾種不同的計算方式,不同的方式,背後有著不同的思維邏輯,那種方式比較值得採用,就視大家不同的操作理念而定,但我把常用的計算方式全部列出來,讓各位自行覺得那麼計算方式跟您最投緣了。

當我們把上市所有個股的上漲家數及下跌家數拿來設成指標時,最直接的計算方式就是把每天上漲家數與下跌家數的差值相減,計算一段區間的總和,然後把它畫成一條指標,如果要寫成腳本,我的寫法如下

input:period(10,"RSI計算天數");
value1=GetField("上漲家數");
value2=getfield("下跌家數");
value3=value1-value2;
value4=summation(value3,period);
plot1(value4,"上漲下跌家數差區間總和");

畫成指標,跟加權指數的對照就像下圖

060401

從這張圖我們可以發現兩件事

1.當上漲下跌家數差的十天總和超過2000且與指數呈現背離時,是大盤多頭力氣竭盡的前兆,同樣的,這個數字跌破-2000時,往往指數會開始打底準備反彈,這時候就不宜再追空了。

2.這個數字從-2000底下反彈而上時,是指數的買進訊號。我自己在操作上通常是當這訊號出現時就翻多,當然很多時候這只是大盤空頭走勢中的小反彈,所以我會以指數跌破五日線作為短線停損停利的標準。

 

單純使用這個時間序列是可以,但忽上忽下的數字還是比較無法很直覺的catch到多空的方向,這時候我們可以透過一些方法,來讓一個時間序列所呈現的買進賣出訊號更明確。

方法一: 用移動平均線把時間序列平滑化

處理一個每天波動較大的時間序列,要更清晰地看出他的趨勢方向,最直接的方法就是用移動平均線來作平滑,所以我們可以把上漲下跌家數差十日總和作移動平均,我寫的腳本如下:

input:period(10,"RSI計算天數");
value1=GetField("上漲家數");
value2=getfield("下跌家數");
value3=value1-value2;
value4=summation(value3,period);
value5=average(value4,5);
plot1(value5,"上漲下跌家數差區間總和移動平均");

把它畫成跟加權指數的對照圖如下:

060402

在沒有平滑之前,很容易出現假訊號,我把上漲下跌家數差總和突破-2000當作加權指數買進訊號去回測一年就出現九個買進訊號,但其中只有兩個賺錢,勝率只有22.2%,但如果用5日加權平均值來回測三年,回測圖如下:

060403三年出12個買進訊號,其中一半後來漲幅超過7%,勝率剛好五成。

方法二: 拿兩條長短天期不同的均線來看交叉

這個方法是取兩條不同天期的移動平均線,來看不同天期趨勢是否都已經進入到反轉的階段,畫圖的腳本如下:

input:period(10,"RSI計算天數");
value1=GetField("上漲家數");
value2=getfield("下跌家數");
value3=value1-value2;
value4=summation(value3,period);
value5=average(value4,5);
value6=average(value4,20);
plot1(value5,"上漲下跌家數差區間總和短期移動平均");
plot2(value6,"上漲下跌家數差區間總和長期移動平均");

畫出來的圖像下方這樣

060404

這兩條線,分別代表這個時間序列不同天期的趨勢,通常當這兩條線都在低檔區翻揚,而且出現黃金交叉,大盤反轉向上的機率就很高,但也有幾次是長天期趨勢還在跌,短天期趨勢已翻轉,如果要等到長天期趨勢也轉正,進場的時機就會晚了一點。

有另一個方法可以來運用這兩條均線,那就是方法三所有的,把這兩條均線相減看兩條線的差值

方法三: 計算兩條均線的差額

把不同天期均線相減,可以得出一個在0上下波動的柱狀圖,這樣的指標,可以更清楚的呈現短期與長期均線的差值,對於那些要尋找兩者之間差距是在擴大還是縮小的使用者,這是一個自訂指標的好用法

以上面的例子,我們可以把腳本改成下面的寫法

input:period(10,"RSI計算天數");
value1=GetField("上漲家數");
value2=getfield("下跌家數");
value3=value1-value2;
value4=summation(value3,period);
value5=average(value4,5);
value6=average(value4,20);
value7=value5-value6;
plot1(value7,"上漲下跌家數差區間總和長短天均線差");

再把呈現的方式改成柱狀,畫出來的圖就會如下圖

060405

除了用均線及其衍生的計算方法之外,也可以借用古老技術分析在計算技術指標時的一些傳統的計算方法

方法四: 透過RSI的運算來計算超買與超賣的情況

任何一個時間序列,不需要開高低,只需要收盤價,就可以計算RSI,RSI的概念是一個數列N日來上漲的部份除以每日波動的部份(包括上漲跟下跌),所以如果N日來都是上漲,那麼RSI會是100,N日來都是下跌,RSI會是0,RSI是一個在0到100之間波動的數字

我們可以運用這個數字,來觀察一個時間序列在一段期間內是否連續上漲或連續下跌,這樣也是觀察一個時間序列的方式

以上面的序列來說,我們也可以改寫成以下的腳本

input:period(10,"RSI計算天數");
value1=GetField("上漲家數");
value2=getfield("下跌家數");
value3=value1-value2;
value4=summation(value3,period);
value5=rsi(value4,period); 
plot1(value5,"上漲下跌家數差區間總和RSI");

然後畫成的圖就會如下圖

060406

 方法五:透過MTM來計算動能

動能也是一種關注時間序列的指標,計算的方法很單純,就是用最新的價格減去N日前的價格,用MTM來看上述序列的圖如下

060407

除了上述的方法之外,也可以用KD來計算擺盪,用乖離來計算價位跟平均線的距離,也可以用統計學上的方法來計算目前的價位是否跳出常態分配的範圍

060408要畫出上圖的腳本則如下

input:period(10,"RSI計算天數");
value1=GetField("上漲家數");
value2=getfield("下跌家數");
value3=value1-value2;
value4=summation(value3,period);
value5=bollingerband(value4,20,2);
value6=bollingerband(value4,20,-2);
plot1(value4,"上漲下跌家數差區間總和BBand");
plot2(value5);
plot3(value6);

綜合上述的內容,我試著一步步地利用大盤漲跌家數差總和這個數值,透過自訂指標的方式,從數值的不同運算,找出運用這個數值的一些規則,再把這些規則改寫成交易策略,然後經過不斷的回測,找到真的可以上戰場的交易策略。

希望在全世界只有我們開盤的這一天,能夠帶給大家一些開發私房交易策略的靈感

 

 

一個觀察大戶在進貨還是出貨的指標

透過成交金額除以總成交筆數,我們可以算出當天的平均每筆成交金額,長期觀察這個數字,我發現搭配當天的價格走勢,可以判斷主力大戶是在出貨還是進貨。

計算每筆成交金額的腳本可以像下面這麼寫

var:cp(0);
var:count(0);
count=0;
value1=GetField("總成交次數","D");
value2=GetField("成交金額");

if value1<>0
then value3=value2/value1
else
value3=0;

plot1(average(value3,5));

以聯電為例,我們來看以下這個指標跟股價的對照圖

060303

我們會發現,當每筆成交金額異於平常且股價表現也異於平常時,往往是大戶進場的癥兆,為了抓到這樣的機會,我寫了一個腳本如下:

input:length(20);
variable:up1(0),down1(0),mid1(0),bbandwidth(0);
up1 = bollingerband(Close, Length, 1);

var:cp(0);
var:count(0);
count=0;
value1=GetField("總成交次數","D");
value2=GetField("成交金額");

if value1<>0
then value3=value2/value1
else
value3=0;
value4=close-open;
value5=average(value3,3)*average(value4,3);
value6=bollingerband(value5,20,2);
if getsymbolfield("tse.tw","收盤價")
>average(getsymbolfield("tse.tw","收盤價"),10)
then begin
if close cross over up1
and value5 cross over value6
and close<close[10]*1.1

then ret=1;
end;

 

拿這個腳本去回測,我用那些有成交量的中小型股票來跑,一年期及三年期的回測報告如下:

06031y

 

06033y

 

各位老大可以自己試試在每筆平均成交金額這樣的數據上,尋找私房的交易策略

 

開高後不拉回的中小型股

市場老手有一些看盤密技,其中有一項是大盤不錯時,開盤尋找那些開高(但也沒有非常高),前幾天股價漲幅不大,然後盤中拉回幅度有限的股票,他們喜歡把這種股票拉上去,從實證的回測來看,這樣的股票做隔日沖,贏的機率還真的很大。

我寫了一個日線的腳本來尋找有上述情況的股票

 

input:sp(2,"回檔最大幅度");
input:opl(2,"開高最小幅度");
input:oph(4,"開高最大幅度");
 
if open>=close[1]*(1+opl/100)
 and close<=close[1]*(1+oph/100)
 and low>open*(1-sp/100)
 and close=high
 and close[1]<close[3]*1.04//前三天漲幅不到4%
and GetSymbolField("tse.tw","收盤價","D")
>average(GetSymbolField("tse.tw","收盤價","D"),10)
and volume>average(volume,20)*1.2
then ret=1 ;

 

這個腳本的邏輯如下:

1。開的比昨天高出2%但不超過4%

2.  當天最低點跟開盤價相比,沒有跌超過2%。

3。前三天漲幅不到4%

4。成交量超過20日均量兩成

5。當天收最高。

6。加權指數在其十日均線之上

這個股本用中小型有量的股票去回測,一年期及三年期的回測報告如下:

 

06010102

 

 

 

060103

從這個回測報告來看,在上述那六點當中,除了第四點及第五點之外,其他的四點一開盤我們大約就知道有那些股票符合條件,剩下的就是如何從這些符合條件的股票中去找到那些抗跌的,有量的中小型股,然後進場等看看會不會當天收最高,如果真的收上去了,那麼短線賺錢的機率就很高。

透過這個實證,我們可以 確認一件事,那就是市場知名短線大戶x氏兄弟這招:“拉開小高先前未大漲盤中抗跌中小型股”還真的是一個賺多 賠少的好生意。