Author Archives: 發財橘子

創百日新高的高勝率策略

昨天寫了創500日新高的股票能不能追? 勝率63%左右,算可以,但不算頂高,今天來跟大家介紹一個創百日新高的策略,以往勝率有七成,不過壞處是條件太嚴,出的訊號不多,大家可以把幾個創新高相關的策略都集合在一起,相互印證,把追高賣更高的理論,實踐到極致。

我之前在部落格裡有寫過一個創百日新高但距低點不遠的腳本,勝率不算太迷人,後來公司的工程師把它改良後,寫了一個同名字的腳本,放在系統內建的價量選股目錄中,這個腳本如下:

input:day(100); setinputname(1,"計算區間");
input:percents(14); setinputname(2,"距離區間最低點漲幅");

SetTotalBar(3);

value1 = lowest(close, day-1);
if high = highest(close, day-1) and value1 * (1 + percents/100) >= high
then ret=1;

我用這個腳本去回測過去五年,停損停利都設7%,回測報告如下

勝率比上面那個連結的更高,但缺點就是交易次數太多,5年出了2424個訊號,

我們同事覺得這個方向可以繼續研究,後來就寫了以下的腳本

Input:SPeriod(13),LPeriod(377);                    
// 計算       
// 條件        
// 連續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);      
// 大盤趨勢向上     
Condition5=cct_tse_trend(8)=1 ;       
    
Condition100=Condition1 and Condition2 and Condition3 and Condition4 and Condition5;    
// 篩選        
If Condition100 Then Ret=1;       

這個腳本回測條件跟上面那個一樣時,勝率高達71% ,

但缺點就是條件太嚴,導致交易次數太少,五年只有112個。

從上面兩個腳本去對比,會發現要提高勝率,可以往區間震盪幅度大小,以及計算區間去著手,基本上的概念是區間震盪幅度愈小,計算區間愈長,出現的訊號勝率就愈高

大家可以根據這樣的思維,再融合其他條件,發展自己的創新高策略。

 

上面的腳本在選股及警示中都可以使用,如果寫成警示腳本,然後在策略雷達上去跑,就像下面這一篇文章所說的,您可以設定成電腦出訊號時打到您的手機上,如果你有統一證券或群益證券的帳戶,就可以直接在XQ手機版上把單子下出去了。

 

 

統一證券開戶連結

群益金鼎證券開戶連結

XQ全球贏家下載連結

創長期新高的股票能不能追?

這陣子不少股票創長期新高,這種創長期新高的股票到底能不能追? 還是應該居高思危?我先前有寫過一個創500日新高且主力買超的腳本,用這個腳本去回測,結果不錯,今天就來跟大家介紹這個蠻好寫的腳本

首先還是先PO腳本

input:period(500,"創n日新高");
value1=GetField("主力買賣超張數")[1];
if close crosses over highest(close[1],period)
//股價創500日新高
and trueall(close>close[1],3)
//股價連續三日上漲
and trueall(value1>0,3)
//主力連三日買超
then ret=1;

接下來依慣例PO回測報告 ,這裡我停損停利點都設7%,過去七年的回測報告如下

從回測報告來看,創500日新高,且是手刀連三日上漲突破,加上主力連三日買超,後市有六成以上的機率會上漲,這個方法過去七年一共創下304%的報酬率,是一個禁得起時間考驗的交易策略。

各位可以拿這個腳本去回測,然後把回測報告中的交易分析拿出來檢視一下

我看了一下,這個策略可能需要另外搭配題材及基本面的想像空間,如果只是單純的籌碼戰,或是基本面的利多要支援股價再衝高是有些勉強,那麼就未必是好標的,不過,至少這個策略告訴我們,再有人問你創新高的股票能不能買?   不必急著搖頭喔!

新股神和她對未來的看法

昨天Moneydj編譯團隊整理了一篇文章,文章中介紹了今年表現十分搶眼的新股神Cathie Wood,以及她對未來市場的看法,有人說她是女版巴菲特,但事實上她的操作哲學是重押未來的新興科技趨勢,而不是價值投資,我覺得她的操作手法,非常值得大家參考,所以今天來跟大家介紹這位橫空出世的新股神。

伍德是1956年次,畢業於南加大,1977年開始入行當研究助理,1998年創業成立避險基金,2001年開始擔任聯博投資長,2014年成立方舟投資,專注投資在破壞性創新的科技公司,方舟目前一共有五檔主動型投資ETF,分別是旗艦型的Ark Innovation (ARKK.US),專注在新世代網路科技的ARKW.US,專注在金融科技的ARKF.US,專注在自動化生產及機器人的ARKQ.US,以及專注在基因工程的ARKG.US

方舟跟一般基金公司最大的差別在於,她的分析師都是來自產業界,而不是財經背景出身的,然後他們專注在AI,能源儲備,電動車,自動化生產,基因訂序及區塊鍊等可能帶來破壞性創新的新興科技上。

伍德剛開始創業時,前三年績效並不好,大家可以看下圖,ARKK.US是她的創業之作

但前三年績效根本就是末段班,但從2017年開始,她的績效就表現的很好,今年疫情過後,因為她重押特斯拉,所以淨值漲了四倍,成為今年美國股市的新股神。

 

之所以跟大家介紹這位女士,主要是她提出了一個我一直深信不疑的觀點: 破壞性的科技創新會帶來新的投資機會,這樣的投資哲學,貫穿了過去30年的台股市場,當年華碩的主機板,廣達的筆電,鴻海的運籌代工模式,HTC曾經一度的智慧型手機狂潮,乃至於大立光的手機鏡頭王朝,其實都是科技及商業模式創新下的受益者,伍德高舉科技創新的大旗,旗下的基金又是透明度很高的主動式投資ETF,正好讓我們這種有同樣投資哲學,卻不知道如何找到新興科技股票的投資人,有一個很好的參考對象。

如果你的XQ擁有美股權限,你打ARKG  .US,然後在右下方的頁籤點選參考商品,就會看到下面這張圖

伍德的基因工程概念股都在右下方

同樣的作法,你可以找到伍德次世代網路的核心持股

金融科技的核心持股

 

自動化生產及機器人的核心持股

如果您只想投資未來科技,那麼你也可以直接定時定額ARKK.US

伍德等於幫我們列出了各個科技創新領域裡頭,最有可能帶來破壞性創新的公司,我們可以一檔檔的去研究它,然後找出我們認定的台積電,大立光

我非常認同伍德說的,跨領域的新技術將引發「去中間化」(disintermediation)浪潮,去中間化的高風險產業包括能源業、工業、非必需性消費業、電信業、健康照護業、金融業等。

當年數位相機打掛傳統照片沖印店,而智慧型手機又打掛數位相機產業的故事,會在各行各業不斷重覆發生,作為一個投資人,我們必須站在破壞性創新趨勢潮流的那一邊,也要留意自己的持股是不是會被新興競爭者給淘汰,伍德跟她的ETF帶給我們一些進一步研究的蛛絲馬跡,剩下的就是天道酬勤了。

 

 

盤中窺探今日的大戶動向

XQ付費版到底有那些功能,是值得使用者一個月付300元的?我來跟大家分享我最常用的一個自訂頁面,我都是拿這個頁面來找主力大戶可能開始進場的股票,先前我有在影音上跟大家介紹過這一頁,最近在使用上有更多的心得,所以寫成文字來跟大家分享

首先先請大家下載這個自訂頁面 

這個頁面下載完成後請大家打開XQ後,開啟檔案選單,如下圖,點選匯入頁面,

點選後請到下載目錄中,選擇戰鬥室這個檔案後按開啟即可完成匯入的動作

匯入後,請在最上層選單裡點撃 檔案後按開啟舊頁,戰鬥室這個檔案就會出現在裡面

按開啟後就可以打開這個頁面,頁面的樣子長的像下面這畫面,左邊在盤中可以按上面的欄位排序,點選任一檔個股,右邊上面會呈現個股分時走勢,下面則是K線及法人買賣超

我通常都是按特大單金額差來排序,我會參考外盤特大單%及量比這兩欄,然後挑出排序在前面的股票點下去

接著參考右邊的大戶買賣力及法人情況再決定要不要直接下單短Trade

以昨天為例,我昨天早盤在特大單買超排序中,就有強茂及聯茂這兩檔股本不大的股票排在前面,通常股本不大的公司排在前面我會特別感興趣,通常這種開盤就排在特大單買超排行前面的,一般都會開高

 

接下來我會觀察他們過去這幾天法人是不是站在買方,這兩檔的法人都是站在買方,接著我會看大戶買賣力是不是一開盤就持續買超,因為這代表過去幾天站在買方的法人,今天還是站在買方,接下來我會看一下量比及外盤特大單%。

最後再看一下K線型態,如果是打底後的第一天上漲,或是創波段新高,我就會更有興趣,因為這代表今天沖上去的賣壓可能不會那麼重

 

早盤我挑標的大約就是看這幾項

接下來到盤中我就會留意個股股價跟大戶買賣力的連動關係,我主要會挑大盤或個股下跌時,主力買賣力不減反增的股票,舉幾個例子

昨天的茂迪在開高後股價就拉回,但大戶買賣力一直都維持在買超的情況,接著在拉升的過程中,股價就算拉回,大戶買賣力還是維持向上積累,這代表主力大戶是持續在收集中


 

那大家一定會問,如果有個主力往上拉,但踫到另一個主力往下殺,會發生什麼事?

大家可以看一下台光電昨天的走勢,這種法人多日都賣超的股票,一拉上來,大戶買賣力累積到一定高點之後,就開始跟股價同步往下,那代表有大咖的在趁拉高後出貨。

以上是我應用這一頁的經驗之談,至於要把所有的普通股全拿進來看,還是設一組自選股把覺得股性比較好,基本面展望較佳的,才拿進來排序,我的建議是後者,因為這種即時運算的,商品太多真的電腦會算比較久,另外基本面比較有故事的,主力大戶拉上去時,也比較多人跟。

這一頁的操作手法其實就是用盤中每筆成交單的張數及內外盤價,去快速找到今天大戶可能持續站在買方的股票,然後再搭配前幾天的法人進出情況及股價走勢,來研判今天有那幾檔股票會有堅定的買盤持續推昇股價。

當然大部份的股票會隨著大盤的變動而波動,所以那些堅定不移的大戶持續買超的股票,才會更值得關注。

以上是在桌機版上的應用方式

我也有把這樣的思維寫成交易策略,盤中出訊號後,如果您是收費會員,在手機上是可以 檢視個股的大戶買賣力的

這個我留待下一次再跟大家說明

 

統一證券開戶連結

群益金鼎證券開戶連結

XQ全球贏家下載連結

XQ手機版今日財經的功能介紹

 

昨天跟大家介紹如何在XQ手機版設定各種策略訊號的通知,但我們在尋找投資標的時,除了策略訊號之外,有的時候也可能是一篇文字內容,今天就來舉例跟大家介紹,如何在XQ手機版中,透過今日財經的文字內容,找到值得進一步作研究的標的。

有用過XQ桌機版的朋友,可能對今日財經不陌生,在XQ手機版裡,也是可以使用今日財經的內容,沒有用過的朋友,有兩篇文章可以參考

介紹一

介紹二

雖然因為改版的關係,畫面跟現在不大一樣,但操作流程及功能都還是沒有變

我們的目標,就是取得台灣各大財經內容供應商的授權,讓大家在XQ手機版裡,可以直接看到最新,最廣泛,您最關心的投資相關內容,並且讓大家可以點選個股後,切到個股分析頁面或直接帶到下單頁面,再結合目前的合作券商,讓使用者可以從看新聞看報告到直接下單都在XQ手機版一次完成。

我想舉一個昨天的實例。

昨天我在XQ手機版的今日財經上,看到宏致的新聞,我仔細查看相關的新聞,發現中央社在12/17日有發佈宏致合併Genesis的消息

於是我就點選新聞下方的基本資料,去看看宏致這家公司的基本資料

然後就發現宏致的股價跟淨值差不了多少,所以我就進一步想要研究這家公司,於是我先點選新聞下面的K線圖icon,先看一下法人有沒有在買

結果發現法人在持續賣超後,開始轉為買超,於是我按了右上角那個走勢圖的按鈕,到分時圖的畫面,然後點選資料項目,找到損益表,來去看一下它過去的表現

結果發現它過去四年的營收都有在穩定成長,所以我在開盤前就把它放到自選股中,開盤後我覺得有主力大戶在持續買進,所以我也就跟著進場。


 

 

以上是我昨天透過XQ手機版今日財經的功能,從中央社與Moneydj的新聞中,找到的短線交易標的,今日財經的推荐內容是根據不同的使用者 ,推播不同的新聞內容,像我都只關心產業及個股的新聞,我打開今日財經按推荐,系統會給我滿滿的個股相關新聞,這樣我就可以從中間找到值得進一步研究的標的。

以上舉了實例跟大家分享 XQ手機版的今日財經內容推播服務,這個服務也開始跟微股力合作推播達人文章,之後還會有新的功能,到時候再來跟大家報告。

統一證券開戶連結

群益金鼎證券開戶連結

XQ全球贏家下載連結

 

XQ手機版與桌機版的應用實例之訊號推播功能

先前有跟大家介紹,XQ手機版可以直接下單了,今天要跟大家介紹的是,如何在桌機版XQ撰寫或選擇交易策略,然後在手機版上收到交易訊號並且直接帶到下單介面來執行交易。

XQ跟其他軟體最大的差異之一,是盤中會送出一些符合特定條件的訊號,這些訊號有幾個來源

一,雲端策略

在XQ手機版及桌機版都可以進至雲端策略中心直接訂閱系統內建的各種交易策略,這些策略都是目前市場比較耳熟能詳的, 如果要了解這些策略的精神,可以進xstrade打關鍵字”雲端策略”,就會找到其中大家常用策略的解說及應用說明

二,個股警示

在XQ手機版可以設定的個股警示非常有彈性,除了一般量價之外,也有一些常用的出場條件可供選擇

以下的文章是來介紹XQ個股警示的功能,大家的庫存股票,如果盤中不能看盤,可以利用這個功能來提醒您出場點位。

PC版及APP版的警示功能

 

三,策略雷達

在XQ桌機版裡,策略雷達的功能,擁有XQ量化交易權限者,可以由桌機每日自動執行各種自行設計的交易策略,然後把出現的訊號,打到手機上。,至於策略雷達如何使用,大家可以參考這個連結

設定的畫面如下,在策略名稱點撃滑鼠右鍵,會出現如下圖的選單,選擇開啟手機傳送即可

四,勝率GO

這是嘉實投顧會員獨有的選項,這裡面的交易策略,是投顧開發出來的,針對不同的股票,是跑對這些個股勝率較高的策略,這些策略出現的訊號,只有投顧會員才會看到。如果對這個服務有興趣的朋友,請參考以下這個連結的介紹

 

了解四種不同來源的通知訊息之後,接下來大家可以透過XQ手機版的通知中心設定頁,來決定那幾種訊息要推播給您,設定的畫面如下

透過訂閱及設定這四種不同的訊號,XQ手機版的通知中心每天盤中會把符合特定條件的個股推播到使用者的手機,如下圖

 

使用者看到訊號後,可以利用XQ手機版的個股分析頁面去了解這檔個股的基本面,籌碼面,技術面及財務面的各方面數據,然後如果有統一證券或是群益證券的帳號,就可以透過XQ手機版直接去下單。

 

以上是透過XQ手機版與PC版,讓使用者隨時都可以收到來自PC運算及雲端運算所發出來的交易訊號,現在收到訊號後也可以直接把單子下到XQ手機版合作的券商。

 

統一證券開戶連結

群益金鼎證券開戶連結

XQ全球贏家下載連結

 

 

 

要如何避免自己的持股變成處份股票?

這一波不少股票急漲急跌,甚至不是漲停就是跌停,很多原本氣勢如虹的股票,在交易所宣佈成為處置股票之後,多頭氣竭,反轉直下,為了避免手中的持股可能變成處置股票,我們同事根據相關法規,寫了一個選股腳本,每天找出可能被宣佈成為處置股票的高危險群,如果大家手中的持股名列其中,那就要很小心,因為如果今天盤中又符合相關條件,那今天收盤後被宣佈成為處置股票的機率就急遽升高。

這個選股腳本很長,我先把腳本po在下面

SETBARFREQ("AD");
setbarback(100);
Input:Len(90);
Var:TSEClose(0),TSEVolume(0),StockChangeRatio(0),TSEChangeRatio(0);
Var:AlertCount41(0),AlertCount42(0),AlertCount43(0),AlertCount44(0),AlertCount47(0),AlertCount48(0),AlertCount49(0),AlertCount410(0),AlertCount411(0),AlertCount412(0);
Var:AlertCount61(0),AlertCount21(0);

// 計算
// TSE成交價
TSEClose=GetSymbolField("TSE.TW","收盤價","D");
// TSE成交量
TSEVolume=GetSymbolField("TSE.TW","成交量","D");
// TSE漲跌幅
TSEChangeRatio=GetSymbolField("TSE.TW","漲跌幅","D");
// 個股漲跌幅
StockChangeRatio=GetField("漲跌幅","D");

// 【上市】
{===============================================================================================================================================================
Condition50
第四條第一項第一款
4.1. 最近一段期間累積之收盤價漲跌百分比異常者。
本要點第四條第一項第一款「有價證券最近一段期間累積之收盤價漲跌百分比異常者」,係指有價證券當日達下列各款情事【之一】者:
Condition1
一、最近六個營業日(含當日)累積之收盤價漲跌百分比超過百分之三十二,且其漲跌百分比與全體有價證券及同類有價證券依本項規定計算之平均值的差幅均在百分之二十以上者。
Condition2
二、最近六個營業日(含當日)累積之收盤價漲跌百分比超過百分之二十五,且其漲跌百分比與全體有價證券及同類有價證券依本項規定計算之平均值的差幅均在百分之二十以上,
及最近六個營業日(含當日)起迄兩個營業日之收盤價價差達新臺幣五十元以上者。

前項除外情形如下:
一、初次上市普通股採無升降幅度限制期間之收盤價漲跌百分比,不納入前項標準之計算。
二、有價證券或指數在計算前項標準期間內,如有因非交易之原因(如除權、除息等)造成價格變動者,則於計算收盤價或收盤指數漲跌百分比時,排除此項變動因素。
Condition3
三、有價證券(不含認購(售)權證)當日收盤價未滿新臺幣五元者不適用前項標準。
四、同類有價證券未達五種者不適用前項有關類股之規定。
Condition4
五、有價證券本益比為負值或達六十倍以上者不適用前項有關類股之規定。
六、公開資訊觀測站公告有價證券當日之前一個營業日溢(折)價百分比達下列情事之一者,不適用前項標準:
(一)未超過百分之十。
(二)與前項所達標準漲(跌)之方向相反。
}
// 基本條件
Condition1=100*(C-C[5])/C[5]>32 and 100*(C-C[5])/C[5]-100*(TSEClose-TSEClose[5])/TSEClose[5]>=20;
Condition2=100*(C-C[5])/C[5]>25 and 100*(C-C[5])/C[5]-100*(TSEClose-TSEClose[5])/TSEClose[5]>=20 and C-C[5]>=50;
// 除外條件 
Condition3=C<5;
Condition4=GetField("本益比","D")<0 or GetField("本益比","D")>=60 ;
// 條件整合
Condition50=Condition1 or Condition2 and (Not Condition3 or Not Condition4);

// 篩選
If Condition50 Then Begin 
AlertCount41=1;
End;

{===============================================================================================================================================================
Condition100
4.2. 第四條第一項第二款
本要點第四條第一項第二款「有價證券最近一段期間起迄兩個營業日之收盤價漲跌百分比異常者」,係指有價證券當日達下列各款情事【之一】者:
Condition51
一、有價證券最近三十個營業日(含當日)起迄兩個營業日之收盤價漲跌百分比超過百分之一百,且符合下列二項條件【之一】:
(一)其漲幅百分比與全體有價證券及同類有價證券依本款規定計算之平均值的差幅均在百分之八十五以上,及當日收盤價須高於當日開盤參考價者。
(二)其跌幅百分比與全體有價證券及同類有價證券依本款規定計算之平均值的差幅均在百分之八十五以上,及當日收盤價須低於當日開盤參考價者。
Condition52
二、有價證券最近六十個營業日(含當日)起迄兩個營業日之收盤價漲跌百分比超過百分之一百三十,且符合下列二項條件【之一】:
(一)其漲幅百分比與全體有價證券及同類有價證券依本款規定計算之平均值的差幅均在百分之一百一十以上,及當日收盤價須高於當日開盤參考價者。
(二)其跌幅百分比與全體有價證券及同類有價證券依本款規定計算之平均值的差幅均在百分之一百一十以上,及當日收盤價須低於當日開盤參考價者。
Condition53
三、有價證券最近九十個營業日(含當日)起迄兩個營業日之收盤價漲跌百分比超過百分之一百六十,且符合下列二項條件【之一】:
(一)其漲幅百分比與全體有價證券及同類有價證券依本款規定計算之平均值的差幅均在百分之一百三十五以上,及當日收盤價須高於當日開盤參考價者。
(二)其跌幅百分比與全體有價證券及同類有價證券依本款規定計算之平均值的差幅均在百分之一百三十五以上,及當日收盤價須低於當日開盤參考價者。

前項除外情形如下:
一、初次上市普通股採無升降幅度限制期間之收盤價漲跌百分比,不納入前項標準之計算。
二、非分離型附認股權公司債、非分離型附認股權特別股、認購(售)權證、認股權憑證不適用前項標準。
Condition54
三、有價證券最近三十個營業日(含當日)內,已依本要點第四條第一項第一款公布注意交易資訊,
且其最近六個營業日(含當日)累積之收盤價漲跌百分比達下列情事之一者,不適用前項標準:
Condition55
(一)未超過百分之二十五。
Condition56
(二)超過百分之二十五,且其漲跌百分比與全體有價證券及同類有價證券依最近六個營業日(含當日)累積之收盤價漲跌百分比計算之平均值的差幅均未達百分之二十以上。
(三)與前項各款所達標準漲跌之方向相反。

四、有價證券最近六十個營業日(含當日)內,最近一次經依本要點第六條第二項或第三項規定發布處置,其處置原因僅有前項標準情事,
且其最近六個營業日(含當日)累積之收盤價漲跌百分比達下列情事之一者,不適用前項標準:
Condition58
(一)未超過百分之十。
Condition59
(二)超過百分之十,且其漲跌百分比與全體有價證券及同類有價證券依最近六個營業日(含當日)累積之收盤價漲跌百分比計算之平均值的差幅均未達百分之五以上。
(三)與前項各款所達標準漲跌之方向相反。
五、有價證券在計算前項標準期間內,如有因非交易之原因(如除權、除息等)造成價格變動者,則於計算收盤價漲跌百分比時,排除此項變動因素。
六、同類有價證券未達五種者不適用前項有關類股之規定。
Condition60
七、有價證券本益比為負值或達六十倍以上者不適用前項有關類股之規定。
八、公開資訊觀測站公告有價證券當日之前一個營業日溢(折)價百分比達下列情事之一者,不適用前項標準:
(一)未超過百分之十。
(二)與前項所達標準漲(跌)之方向相反。
}
// 基本條件
Condition51=100*(C-C[29])/C[29]>100 and 100*(C-C[29])/C[29]-100*(TSEClose-TSEClose[29])/TSEClose[29]>=85 and C<>O;
Condition52=100*(C-C[59])/C[59]>130 and 100*(C-C[59])/C[59]-100*(TSEClose-TSEClose[59])/TSEClose[59]>=110 and C<>O;
Condition53=100*(C-C[89])/C[89]>160 and 100*(C-C[89])/C[89]-100*(TSEClose-TSEClose[89])/TSEClose[89]>=135 and C<>O;
// 除外條件 
Condition54=trueany(Condition50,30);
Condition55=Condition54 and 100*(C-C[5])/C[5]<=25;
Condition56=Condition54 and 100*(C-C[5])/C[5]>25 and 100*(C-C[5])/C[5]-100*(TSEClose-TSEClose[5])/TSEClose[5]<20;

Condition58=100*(C-C[5])/C[5]<=10;
Condition59=Condition54 and 100*(C-C[5])/C[5]>10 and 100*(C-C[5])/C[5]-100*(TSEClose-TSEClose[5])/TSEClose[5]<5;
Condition60=GetField("本益比","D")<0 or GetField("本益比","D")>=60 ;
// 條件整合
Condition100=Condition51 or Condition52 or Condition53 and (Not Condition55 or Not Condition56 or Not Condition58 or Not Condition59 or Not Condition60);

// 篩選
If Condition100 Then Begin 
AlertCount42=1;
End;

{===============================================================================================================================================================
Condition150
4.3. 第四條第一項第三款
本要點第四條第一項第三款「有價證券最近一段期間累積之收盤價漲跌百分比異常,且其當日之成交量較最近一段期間之日平均成交量異常放大者」,係指有價證券當日【同時】達下列各款情事者:
Condition101
一、最近六個營業日(含當日)累積之收盤價漲跌百分比超過百分之二十五,且其漲跌百分比與全體有價證券及同類有價證券依本款規定計算之平均值的差幅,均在百分之二十以上。
Condition102
二、當日之成交量較最近六十個營業日(含當日)之日平均成交量放大為五倍以上,且其放大倍數與全體有價證券依本款規定計算之平均值相差四倍以上。

前項除外情形如下:
一、初次上市普通股採無升降幅度限制期間之收盤價漲跌百分比、日成交量,不納入前項標準之計算。
二、轉換公司債、非分離型附認股權公司債、非分離型附認股權特別股、債券換股權利證書、認購(售)權證、認股權憑證、指數股票型基金受益憑證、指數投資證券不適用前項標準。
三、有價證券在計算前項標準期間內,如有因非交易之原因(如除權、除息等)造成價格變動者,則於計算收盤價漲跌百分比時,排除此項變動因素。
Condition103
四、有價證券當日週轉率未達千分之一以上,或成交量未達五百交易單位以上者,不適用前項標準。
五、同類有價證券未達五種者,不適用前項有關類股之規定。
Condition104
六、有價證券本益比為負值或達六十倍以上者,不適用前項有關類股之規定。
七、公開資訊觀測站公告有價證券當日之前一個營業日溢(折)價百分比達下列情事之一者,不適用前項標準:
(一)未超過百分之十。
(二)與前項所達標準漲(跌)之方向相反。
}
// 基本條件
Condition101=100*(C-C[5])/C[5]>25 and 100*(C-C[5])/C[5]-100*(TSEClose-TSEClose[5])/TSEClose[5]>=20;
Condition102=V/Average(V,60)>=5 and V/Average(V,60)>=4*TSEVolume/Average(TSEVolume,60);
// 除外條件 
Condition103=GetField("週轉率","D")<0.1 or V<500;
Condition104=GetField("本益比","D")<0 or GetField("本益比","D")>=60 ;
// 條件整合
Condition150=Condition101 and Condition102 and (Not Condition103 or Not Condition104);

// 篩選
If Condition150 Then Begin 
AlertCount43=1;
End;

{===============================================================================================================================================================
Condition200
4.4. 第四條第一項第四款
本要點第四條第一項第四款「有價證券最近一段期間累積之收盤價漲跌百分比異常,且其當日之週轉率過高者」,係指有價證券當日【同時】達下列各款情事者:
Condition151
一、最近六個營業日(含當日)累積之收盤價漲跌百分比超過百分之二十五,且其漲跌百分比與全體有價證券及同類有價證券依本款規定計算之平均值的差幅,均在百分之二十以上。
Condition152
二、當日週轉率百分之十以上,且其週轉率與全體有價證券依本款規定計算之平均值的差幅在百分之五以上。

前項除外情形如下:
一、初次上市普通股採無升降幅度限制期間之收盤價漲跌百分比,不納入前項標準之計算。
二、轉換公司債、非分離型附認股權公司債、非分離型附認股權特別股、債券換股權利證書、認購(售)權證、認股權憑證、指數股票型基金受益憑證、指數投資證券不適用前項標準。
三、有價證券在計算前項標準期間內,如有因非交易之原因(如除權、除息等)造成價格變動者,則於計算收盤價漲跌百分比時,排除此項變動因素。
四、同類有價證券未達五種者,不適用前項有關類股之規定。
Condition153
五、有價證券本益比為負值或達六十倍以上者,不適用前項有關類股之規定。
六、公開資訊觀測站公告有價證券當日之前一個營業日溢(折)價百分比達下列情事之一者,不適用前項標準:
(一)未超過百分之十。
(二)與前項所達標準漲(跌)之方向相反。
}
// 基本條件
Condition151=100*(C-C[5])/C[5]>25 and 100*(C-C[5])/C[5]-100*(TSEClose-TSEClose[5])/TSEClose[5]>=20;
Condition152=GetField("週轉率","D")>=10 and GetField("週轉率","D")-GetSymbolField("TSE.TW","週轉率","D")>=5;
// 除外條件 
Condition153=GetField("本益比","D")<0 or GetField("本益比","D")>=60 ;
// 條件整合
Condition200=Condition151 and Condition152 and (Not Condition153);

// 篩選
If Condition200 Then Begin 
AlertCount44=1;
End;

{===============================================================================================================================================================
Condition250
4.7. 第四條第一項第七款
本要點第四條第一項第七款「有價證券最近一段期間累積之收盤價漲跌百分比異常,且券資比明顯放大者」,係指有價證券當日【同時】達下列各款情事者:
Condition201
一、最近六個營業日(含當日)累積之收盤價漲跌百分比超過百分之二十五,且其漲跌百分比與全體有價證券及同類有價證券依本款規定計算之平均值的差幅,均在百分之二十以上。
Condition202
二、當日之前一個營業日之券資比百分之二十以上,且【同時】符合下列二項條件:
(一)融資使用率百分之二十五以上。
(二)融券使用率百分之十五以上。
Condition203
三、當日之前一個營業日之券資比較最近六個營業日(從當日之前一個營業日起)之最低券資比放大四倍以上。

前項除外情形如下:
一、初次上市普通股採無升降幅度限制期間之收盤價漲跌百分比,不納入前項標準之計算。
二、有價證券在計算前項標準期間內,如有因非交易之原因(如除權、除息等)造成價格變動者,則於計算收盤價或收盤指數漲跌百分比時,排除此項變動因素。
三、同類有價證券未達五種者,不適用前項有關類股之規定。
Condition204
四、有價證券本益比為負值或達六十倍以上者,不適用前項有關類股之規定。
Condition205
五、當日之前一個營業日券資比低於當日之前二個營業日之券資比。
六、公開資訊觀測站公告有價證券當日之前一個營業日溢(折)價百分比達下列情事之一者,不適用前項標準:
(一)未超過百分之十。
(二)與前項所達標準漲(跌)之方向相反。
}
// 基本條件
Condition201=100*(C-C[5])/C[5]>25 and 100*(C-C[5])/C[5]-100*(TSEClose-TSEClose[5])/TSEClose[5]>=20;
Condition202=GetField("券資比","D")[1]>=20 and GetField("融資使用率","D")>=25 and GetField("融券使用率","D")>=15;
Condition203=GetField("券資比","D")[1]>=4*Lowest(GetField("券資比","D")[1],6);
// 除外條件 
Condition204=GetField("本益比","D")<0 or GetField("本益比","D")>=60 ;
Condition205=GetField("券資比","D")[1]<GetField("券資比","D")[2];
// 條件整合
Condition250=Condition201 and Condition202 and Condition203 and (Not Condition204 or Not Condition205);

// 篩選
If Condition250 Then Begin 
AlertCount47=1;
End;

{===============================================================================================================================================================
Condition300
4.9. 第四條第一項第九款
本要點第四條第一項第九款「有價證券當日及最近數日之日平均成交量較最近一段期間之日平均成交量明顯放大者」,係指有價證券當日【同時】達下列各款情事者:
Condition251
一、最近六個營業日(含當日)之日平均成交量較最近六十個營業日(含當日)之日平均成交量放大為五倍以上,且其放大倍數與全體有價證券依本款規定計算之平均值相差四倍以上。
Condition252
二、當日之成交量較最近六十個營業日(含當日)之日平均成交量放大為五倍以上,且其放大倍數與全體有價證券依本款規定計算之平均值相差四倍以上。

前項除外情形如下:
一、初次上市普通股採無升降幅度限制期間之日成交量,不納入前項標準之計算。
二、轉換公司債、非分離型附認股權公司債、非分離型附認股權特別股、債券換股權利證書、認購(售)權證、認股權憑證、指數股票型基金受益憑證、指數投資證券不適用前項標準。
Condition253
三、在最近六個營業日(含當日)內,已依本要點第四條第一項第三款公布注意交易資訊之有價證券,不適用前項標準。
Condition254
四、有價證券當日週轉率未達千分之一以上,或成交量未達五百交易單位以上者,不適用前項標準。
}
// 基本條件
Condition251=Average(V,6)/Average(V,60)>=5 and Average(V,6)/Average(V,60)>=4*Average(TSEVolume,6)/Average(TSEVolume,60);
Condition252=V/Average(V,60)>=5 and V/Average(V,60)>=4*TSEVolume/Average(TSEVolume,60);
// 除外條件 
Condition253=trueany(Condition150,6);
Condition254=GetField("週轉率","D")<0.1 or V<500;
// 條件整合
Condition300=Condition251 and Condition252 and (Not Condition253 or Not Condition254);

// 篩選
If Condition300 Then Begin 
AlertCount49=1;
End;

{===============================================================================================================================================================
Condition350
4.10. 第四條第一項第十款
本要點第四條第一項第十款「有價證券最近一段期間之累積週轉率明顯過高者」,係指有價證券當日【同時】達下列各款情事者:
Condition301
一、最近六個營業日(含當日)之累積週轉率超過百分之五十,且其累積週轉率與全體有價證券依本款規定計算之平均值的差幅在百分之四十以上。
Condition302
二、當日週轉率百分之十以上,且其週轉率與全體有價證券依本款規定計算之平均值的差幅在百分之五以上。

前項除外情形如下:
一、初次上市普通股採無升降幅度限制期間之日週轉率,不納入前項標準之計算。
二、轉換公司債、非分離型附認股權公司債、非分離型附認股權特別股、債券換股權利證書、認購(售)權證、認股權憑證、指數股票型基金受益憑證、指數投資證券不適用前項標準。
Condition303
三、在最近六個營業日(含當日)內,已依本要點第四條第一項第四款公布注意交易資訊之有價證券,不適用前項標準。
Condition304
四、有價證券當日成交金額未滿新臺幣五億元以上者,不適用前項標準。
}
// 基本條件 
Condition301=Summation(GetField("週轉率","D"),6)>50 and Summation(GetField("週轉率","D"),6)-Summation(GetSymbolField("TSE.TW","週轉率","D"),6)>=40;
Condition302=GetField("週轉率","D")>=10 and GetField("週轉率","D")-GetSymbolField("TSE.TW","週轉率","D")>=5;
// 除外條件 
Condition303=trueany(Condition200,6);
Condition304=GetField("成交金額(億)","D")<5;
// 條件整合
Condition350=Condition301 and Condition302 and (Not Condition303 or Not Condition304);

// 篩選
If Condition350 Then Begin 
AlertCount410=1;
End;


{===============================================================================================================================================================
Condition400
4.11. 第四條第一項第十一款
本要點第四條第一項第十一款「有價證券最近一段期間起迄兩個營業日之收盤價價差異常者」,係指有價證券當日達下列各款情事【之一】者:
Condition351
一、有價證券最近六個營業日(含當日)起迄兩個營業日之收盤價價差達新臺幣一百元以上,且有價證券當日收盤價須為最近六個營業日(含當日)收盤價最高者。
但最近五個營業日(不含當日)無收盤價時,則當日收盤價須高於開盤參考價。
Condition352
二、有價證券最近六個營業日(含當日)起迄兩個營業日之收盤價價差達新臺幣一百元以上,且有價證券證當日收盤價須為最近六個營業日(含當日)收盤價最低者。
但最近五個營業日(不含當日)無收盤價時,則當日收盤價須低於開盤參考價。

前項除外情形如下:
一、初次上市普通股採無升降幅度限制期間之收盤價,不納入前項標準之計算。
二、有價證券或指數在計算前項標準期間內,如有因非交易之原因(如除權、除息等)造成價格變動者,則於計算收盤價或收盤指數時,排除此項變動因素。
Condition353
三、在最近六個營業日(含當日)內,當日之前五個營業日已依本要點第四條第一項第十一款公布注意交易資訊之有價證券,不適用前項標準。
}
// 基本條件 
Condition351=absvalue(C-C[5])>=100 and C=Highest(C,6);
Condition352=absvalue(C-C[5])>=100 and C=Lowest(C,6);
// 除外條件 
// 條件整合
Condition400=truecount(Condition351 or Condition352,6)=1;

// 篩選
If Condition400 Then Begin 
AlertCount411=1;
End;


{===============================================================================================================================================================
Condition450
4.12. 第四條第一項第十二款
本要點第四條第一項第十二款「有價證券最近一段期間之借券賣出成交量占總成交量比率明顯過高者」,係指有價證券當日之前一個營業日【同時】達下列各款情事者:
Condition401
一、最近六個營業日(從當日之前一個營業日起)之借券賣出成交量占最近六個營業日(從當日之前一個營業日起)總成交量比率在百分之十二以上。
Condition402
二、當日之前一個營業日借券賣出成交量較最近六十個營業日(從當日之前一個營業日起)之日平均借券賣出成交量放大為五倍以上。

前項除外情形如下:
一、初次上市普通股採無升降幅度限制期間之日成交量,不納入前項標準之計算。
二、指數股票型基金受益憑證不適用前項標準。
三、有價證券當日之【前一個營業日】達下列情事【之一】者,不適用前項標準:
Condition403
(一)週轉率未超過千分之三。
Condition404
(二)成交量未超過五百交易單位。
Condition405
(三)借券賣出成交量未超過一百交易單位。
}
// 基本條件 
Condition401=Summation(GetField("借券賣出張數","D")[1],6)/Summation(V[1],6)>0.12;
Condition402=GetField("借券賣出張數","D")[1]>=5*Average(GetField("借券賣出張數","D")[1],60);
// 除外條件 
Condition403=GetField("週轉率","D")[1]<=0.3;
Condition404=V[1]<=500;
Condition405=GetField("借券賣出張數","D")[1]<=100;
// 條件整合
Condition450=Condition401 and Condition402 and (Not Condition403 or Not Condition404 or Not Condition405);

// 篩選
If Condition450 Then Begin 
AlertCount412=1;
End;

{===============================================================================================================================================================
Condition500
6.1 第六條
有價證券之交易有下列情形【之一】時,本公司即發布為處置之有價證券:
Condition451
一、連續三個營業日經本公司依第四條第一項第一款發布交易資訊者。
Condition452
二、連續五個營業日或
Condition453
最近十個營業日內有六個營業日或
Condition454 
最近三十個營業日內有十二個營業日經本公司依第四條第一項第一款至第八款發布交易資訊者。
}
// 基本條件 
Condition451=Trueall(Condition50,3);
Condition452=Trueall(Condition50 or Condition100 or Condition150 or Condition200 or Condition250,3);
Condition453=Truecount(Condition50 or Condition100 or Condition150 or Condition200 or Condition250,10)>=6;
Condition454=Truecount(Condition50 or Condition100 or Condition150 or Condition200 or Condition250,30)>=12;
// 條件整合
Condition500=Condition451 or Condition452 or Condition453 or Condition454;

// 篩選
If Condition500 Then Begin 
AlertCount61=1;
End;

{===============================================================================================================================================================
Condition550
2.1 第 2 條 
本公司於每日交易時間內(下稱盤中),分析上市有價證券(不含外國債券、政府債券、普通公司債)之交易,發現其有下列情形【之一】時,即依第三條規定辦理。
Condition501
一、當日盤中成交價振幅超過百分之九,且與本公司發行量加權股價指數振幅之差幅在百分之五以上,且其成交量達三千交易單位以上者。
Condition502
二、當日盤中成交價漲跌百分比超過百分之六,且與本公司發行量加權股價指數漲跌百分比之差幅在百分之四以上,且其成交量達三千交易單位以上者。
Condition503
三、當日盤中週轉率超過百分之十,且其成交量達三千交易單位以上者。
但轉換公司債、非分離型附認股權公司債、非分離型附認股權特別股、債券換股權利證書、認購(售)權證、認股權憑證、指數股票型基金受益憑證及指數投資證券不適用之。
四、依本要點規定發布交易資訊或採取處置措施者。
五、經市場傳聞或媒體報導或經本公司電腦系統分析有異常情事並經簽報核准者。
六、其他經主管機關指定者。
有價證券升降幅度計算公式含有以標的證券或標的指數等計算因素者,以其當日盤中振幅、漲跌百分比與標的證券或標的指數之振幅、漲跌百分比
(投資組合者,取其組合標的證券或標的指數振幅、漲跌百分比之平均值)計算差幅。
第一項第一款、第二款、第三款關於「且其成交量達三千交易單位以上者」之規定,於初次上市普通股採無升降幅度限制期間之交易不適用之。
有價證券交易單位低於一千單位(股、受益權單位、存託憑證單位等,下同)者,其成交(委託)量交易單位數據標準依下列公式調整:
調整後成交(委託)量交易單位數據標準=調整前成交(委託)量交易單
位數據標準x(1000 ÷ 該有價證券交易單位)。
}
// 基本條件 
Condition501=absvalue(StockChangeRatio)>9 and absvalue(StockChangeRatio-TSEChangeRatio)>=5 and V>=3000;
Condition502=absvalue(StockChangeRatio)>6 and absvalue(StockChangeRatio-TSEChangeRatio)>=4 and V>=3000;
Condition503=GetField("週轉率","D")>10 and V>=3000;
// 條件整合
Condition550=Condition501 or Condition502 or Condition503;

// 篩選
If Condition550 Then Begin 
AlertCount21=1;
End;


首先我們先來了解一下相關的規定,一檔股票要成為處份股票,首先要多次成為注意股票,這之後如果交易所認為還是出現價量異常的情況,就會宣佈成為處份股票。

下面這個連結是交易所公佈處置股票的連結,大家可以去看一下交易所的說明,會被列為處置股票的,都是連續多日先是成為注意股票的

所以我們攻城師先模擬成為注意股票的條件,再把符合多日注意股票的個股,看看是否會符合處置股票的條件。

目前xs並沒有支援注意股票的註記,所以這麼寫也是情非得已,等到xs支援注意股票的註記,這個腳本就可以更好寫了。

撰寫高勝率交易策略的五個常用方法

愈來愈多的網友開始使用XS,試著寫出高勝率的交易策略,大家各自有不同的市場觀察心得,所以也有著五花八門的作法,蠻多這行的前輩都教我們,尋找市場裡高機率不斷重覆出現的韻律,是我們制定交易策略的基本原則,這幾年我大約也寫過2000多個交易策略,來跟大家分享一些,寫出高勝率策略的入手方法。

一,大跌就是最大的利多。

我寫過不少大跌後股價變化的腳本,像是

大跌後的低檔五連陽

大跌後的糾結均線突破

我發現,大跌真的是最大的利多,平平是糾結均線突破,大跌後的勝率就是會特別的高

二,籌碼集中發散理論

在所有股市的各種投資理論中,籌碼收集與發散是我很認同的一個理論,實證上,當籌碼一直被收集,甚至就算是當沖交易,大戶買進而散戶賣出的股票,往往也是最強的,我很少看到螞蟻搬大象的劇情真的出現。

三,ROE是很神奇的因子

我寫過很多腳本,用所有普通股去跑,績效平平,但如果只跑ROE好的股票,勝率就拉高不少,投資學上學者非常用力的尋找股價上漲背後的因子,我看過一篇論文,裡頭找出了159種因子,在台股的實證操作上,真的常帶給我驚喜的是ROE這個因子。

四,跟著大股東走

XS裡有不少欄位可以窺探大股東的動向,如關鍵券商,地緣券商,千張大戶等等,我的的確確有感受到,大股東的多空態度是影響股價長線表現的很重要參考指標。畢竟最了解公司的,應該是大股東

五,剛整理完且預估量暴增的強勢股

市場有不少短線大戶是在追逐盤面上出量且表現最強的股票,特別是那些剛整理結束的,我寫過一些腳本來印證這樣的作法到底會不會賺錢?結論是,從這樣的角度出發,在選股上做一些過濾,還真的是會賺錢,這其中最重要的眉角是,最好是挑那些不管法人,實戶,甚至一般投資人都會一擁而上的股票。

 

以上這五個方向,是我到目前為止,寫出最多高勝率腳本的基本精神,分享給大家,祝大家都能找到夠多的好策略。

 

XQ量化交易平台上的型態學相關函數

型態分析應該算是股市投資者最耳熟能詳的分析方式,M頭,W底,趨勢線等名稱,大家總能朗朗上口,如何把這些大家都很熟悉的概念,用程式語法表現出來,是本章學習的重點。

所有的型態概念,通常有三個基本元素

  1. 上昇切線
  2. 下降切線
  3. 上昇或下降的角度

透過這三個元素,可以組成各種線段,而型態就是由這些線段所組成。

例如把過去一段時間的走勢分成三個線段,就可以組成如下圖所列出來的不同行情走勢

在語法上,要描敘這些線段,使用的是一個叫作Angle的函數,透過這個函數,只要輸入計算的起始日期及結束日期,就可以算出這段區間的線段上漲或下跌的角度。

它的語法如下:

計算任意二個日期的走勢角度。

回傳數值=Angle(日期1,日期2)

傳入二個參數:
– 第一個參數是日期1。
– 第二個參數是日期2,需大於日期1。

例如要計算最近四期的走勢角度,就可以像下面這麼寫

以下是Angle這個函數的腳本

從腳本中我們可以發現,angle這個值的計算有兩個步驟

第一是先算出斜率_slope

斜率的算法是以最近一期收盤價除以計算起始期的開盤價減一當分子(也就是漲跌幅),以兩個日期的差當分母,然後乘以100。

第二是把斜率用arcTangent函數,把數值轉成角度。

由於arcTangent是利用已知直角三角形的對邊和鄰邊這兩條直角邊的比值求出其夾角大小的函數,用來算對邊與鄰邊值的角度,所以算出來的角度就是這兩個區間的線段的上漲或下跌角度值。

當回傳數值大於0時,代表趨勢向上;當回傳數值小於0時,代表趨勢向下。

回傳值的數值絕對值愈大,代表這個線段的斜率愈陡。

所以運用這樣的概念,可以用語法描述各種型態的轉折,例如要用語法描敘V型反轉,就可以這麼寫

上面這個腳本裡有用到一個函數叫lowestbar,這個函數是用來計算一個區間內的最低點落在第幾根Bar,在描述那些更複雜的型態時,往往需要標示出整個區間的

  1. 最高點
  2. 最高點所在的位置
  3. 最低點
  4. 最低點所在的位置
  5. 第N個高低點
  6. 第N個高低所在的位置
  7. 波段第N個高低點
  8. 波段第N個高低點所在的位置

為了標示出這些位置及價位,系統內建了以下的幾個函數,透過這些函數的應用,可以讓電腦回傳上述八種位置及價位,以利於後續的運算。例如下面這張圖

就需要標出上述的六個點,為了協助使用者能夠在腳本中描繪各種型態,系統支援了描述上述八種位置及數值的相關函數,這些函數分類如下:

函數的寫法,以nthhighest為例:

計算序列資料的第N個極大值
回傳數值=NthHighest(第幾個極大值,數列,期數)
傳入三個參數:
– 第一個參數是要計算極大值的序號。
– 第二個參數是數列,通常是開高低收的價格數列。
– 第三個參數是期數。

以最新一筆資料為基準點,輸入要計算的期數,然後計算過去期數的第N個極大值。

例如,要計算近五期的次高價,就可以這麼寫:

Value1=nthhighest(2,high,5);

這一系列的函數可以協助找出區間的各個高點及低點,以及它們在K棒上的相對位置,可以協助描繪使用者想要尋找的型態。

舉個例子,上面列出來的多頭繼績型態,有個上昇旗型

這個型態的特色是在整理期間還是一峰高過一峰,最後以更陡的漲勢來突破整理,要描述這樣的型態,可以運用上面所提到的nthhighest 及nthhighestbar這兩個函數,參考的腳本如下:

input:period(20,"計算區間");

value2=nthhighest(1,high[1],period);//最高價

value3=nthhighest(2,high[1],period);//第二高價

value4=nthhighest(3,high[1],period);//第三高價

value5=nthhighestbar(1,high[1],period);//最高價距今幾根bar

value6=nthhighestbar(2,high[1],period);//第二高價距今幾根bar

value7=nthhighestbar(3,high[1],period);//第三高價距今幾根bar

if value6-value5>3 and value7-value6>3

  //三個高點沒有連在一起,且是愈來愈高

and maxlist(value2,value3,value4)

<minlist(value2,value3,value4)*1.05

  //三個高點相差不到5%

and close crosses over value2

  //創新高

then ret=1;

這個腳本就可以選出像下面這張圖裡,符合腳本描述型態的股票。

其次,系統也支援幾個可以找出轉折的高點及相對位置,可以使用的函數有以下幾個:

舉Swinghigh為例,其語法如下:

回傳數值=SwingHigh(數列,期數,左肩期數,右肩期數,第幾個高點)

計算數列最近N個的轉折高點數值

傳入五個參數:
– 第一個參數是數列,通常是開高低收的價格數列。
– 第二個參數是要尋找轉折點的樣本期數。
– 第三個參數是高點左側要有幾筆較低的數值。
– 第四個參數是高點右側要有幾筆較低的數值。
– 第五個參數是第幾個高點,依圖表由右往左(時間新到舊),1為最近一次的高點、2為第二近的高點。

若某一筆資料的左右二側數值在指定的期數內都比該筆資料低的話,則定義為轉折高點。

當無法找到對應的轉折高點時,回傳值為-1。

例如想要找出過去20天,第二個左右兩邊都各至少有三天的高點價位,就可以寫成:

value1=swinghigh(high,20,3,3,2);

透過以上這些型態的函數,可以具體的描繪各種型態,找出符合特定型態的股票。

以下是一個多次到頂而破的例子,用到的是 highest及highestbar這兩個函數

 input:HitTimes(4,"設定觸頂次數");
input:RangeRatio(1,"設定頭部區範圍寬度%");
input:Length(40,"計算期數");

if GetSymbolField("tse.tw","收盤價")
>average(GetSymbolField("tse.tw","收盤價"),10)
then begin
variable: theHigh(0); 

//找到過去其間的最高點
theHigh = Highest(High[1],Length); 
value1=highestbar(high[1],length);

variable: HighLowerBound(0); 

// 設為瓶頸區間上界
HighLowerBound = theHigh *(100-RangeRatio)/100; 

variable: TouchRangeTimes(0); 

//回算在此區間中 進去瓶頸區的次數 
TouchRangeTimes = CountIF(High[1] > HighLowerBound, Length-value1);

Condition1 = TouchRangeTimes >= HitTimes;
Condition2 = close > theHigh;
condition3=close[length]*1.1<thehigh;


Ret = Condition1 and Condition2 and condition3 ;
end;

透過這些型態函數,可以試著描繪出各種不同的型態,程式交易語法的好處就在於,當您把您相信的型態,透過語法完整而清楚的描述之後,就不用每天辛苦地從1500多檔股票的線圖中尋找想要尋找的型態,電腦可以很快的在幾秒到幾分鐘之內挑出這些股票。

 

圖說技術指標的設計方式與背後的思維(五)

在大家常用的技術指標中,布林值算是熱門的指標,像布林值這類從統計學出發的技術指標,蠻值得我們了解背後的設計概念,可以作為我們自訂指標的設計靈感。

關於布林值這個指標的設計概念,以及像變異數,標準差,R平方這些從統計學上所衍生出來的技術指標,我先前有寫過一些文章介紹,相關連結如下

布林通道

R平方

今天要跟大家討論的是,除了把股價拿來作為統計分佈的計算標的,其實透過Getfield語法,我們也可以把其他欄位拿來試看看,今天跟大家舉個例子,我們平常看到個股的外資買賣超時,如果只看絕對值,可能不見得很有感,但如果把布林值這種常態分配的概念放進去,就可以觀察目前的數字在統計學上,是不是已進十分罕見,如果罕見,往往就可能是一個新方向的開始,基於這樣的想法,我寫了一個腳本如下

input: Length(20, "天數"), UpperBand(2, "上"), LowerBand(2, "下"), EMALength(3, "EMA");
variable: up(0), down(0), mid(0), bbandwidth(0), ema(0);
value1=GetField("外資買賣超張數");
up = bollingerband(value1, Length, UpperBand);
down = bollingerband(value1, Length, -1 * LowerBand);
Plot1(value1, "外資買超張數");
Plot2(up, "上限");
plot3(down,"下限");

把這個自訂指標畫成圖,下圖是台積電近期的對照圖

從上面那張圖,我們會發現,空轉多時,容易看到外資買超突破或貼近布林值上限,多轉空時,則是多次跌破布林值下限。

再多看幾張圖

 

有些數據,看絕對值無感,把它透過統計學作點變化,就會比較有感覺