Author Archives: 發財橘子

Larry Williams 短線交易秘訣

r1

Larry Williams的著名著作”短線交易密訣”中提到一個非常重要的概念:當收盤上漲時,價格若處於強勢波動率收斂,當股價再創短其新高時,就是非常理想的進場點, 反之則為空點!
這樣的概念可能有點抽象,讓我們來情境試想:有一檔股票正在漲,昨天的波動率假設是2,今天又上漲了,而且今天收盤價和最低價的距離只有不到1,這表示往下去的力道已經收斂掉了,當這樣的情況出現,如果股價突然衝過這兩天的高點,那就是多方要出擊了,這是個一決勝點!! 當然,這時後最好是記下這天的低點,用來當作停損使用!
我們來看一下腳本:

vars: _MarketPosition(0);
Condition1 = Close > Close[1] and (Close-Low) <= 0.5*(High[1]-Low[1]);
Condition2 = Close < Close[1] and (High-Close) <= 0.5*(High[1]-Low[1]);
{整個策略非常單純,上面兩行僅判斷波動率,下面則是部位判斷與停損點的設定}
if _MarketPosition < 1 then begin if condition1[1] and C > maxlist(H[1],H[2]) then
begin
plot4(C*1.01 ,"作多");
plot5(C*1.02);plot6(C*1.03);plot7(C*1.04);
plot8(C*1.05);plot9(C*1.06);plot10(C*1.07);
_MarketPosition=1;
value1 =minlist(L[1],L[2]);
end;
if C cross over value2 and _MarketPosition=-1 then
begin
plot4(C*1.01 ,"回補");
_MarketPosition=0;
end;
end
else if _MarketPosition >-1 then
begin
if condition2[1] and C < minlist(L[1],L[2]) then
begin
plot11(C*0.99 ,"作空");
plot12(C*0.98);plot13(C*0.97);plot14(C*0.96);
plot15(C*0.95);plot16(C*0.94);plot17(C*0.93);
_MarketPosition=-1;
value2 = maxlist(H[1],H[2]) ;
end;
if C cross under value1 and _MarketPosition=1 then
begin
plot3(C*1.01 ,"出場");
_MarketPosition=0;
end;
end;

可以從圖裡面看得到這個點容易成為決勝點!!
改成警示的話腳本會變成下面,跑出來的結果各位可以參考對照是不是有這樣的現象!!

vars: _MarketPosition(0);
Condition1 = Close > Close[1] and (Close-Low) <= 0.5*(High[1]-Low[1]);
Condition2 = Close < Close[1] and (High-Close) <= 0.5*(High[1]-Low[1]);
if _MarketPosition < 1 then
begin
if condition1[1] and C > maxlist(H[1],H[2]) then
begin
ret=1;
value1 =minlist(L[1],L[2]);
end;
if C cross over value2 and _MarketPosition=-1 then
begin
_MarketPosition=0;
end;
end
else if _MarketPosition >-1 then
begin
if condition2[1] and C < minlist(L[1],L[2]) then
begin
_MarketPosition=-1;
value2 = maxlist(H[1],H[2]) ;
end;
if C cross under value1 and _MarketPosition=1 then
begin
_MarketPosition=0;
end;
end;

r2

先進指標Zero Lag HeikinAshi

zha
這個指標為Zero Lag Heikin-Ashi,為利用Heikin-Ashi Price計算之TEMA。Heikin-Ashi為2004年由Dan Valcu所提出的新理論,藉由對原本的「開高低收」做些調整,而期望能在各種指標的操作上有更好的表現。Heikin-Ashi有著反應比EMA快,同時又比TEMA平滑之特性。利用這些特性再搭配月均線,我們可以得到更好的反應市場趨勢。 在這樣的情況下,我們就能第一時間掌握反轉的關鍵點!!

我們看一下腳本:

 

input: Length(14);
variable: price(0), haO(0), haC(0), haMax(0), haMin(0), TEMA1(0), TEMA2(0), EMA(0), ZeroLagHA(0);

price = (close+open+high+low)/4;
haO = (haO[1]+price)/2;

haMax = maxlist(high, haO);
hamin = minlist(low, haO);

haC = (price+haO+haMax+haMin)/4;

EMA = xaverage(haC, Length);
TEMA1 = 3*EMA-3*xaverage(EMA, Length)+xaverage(xaverage(EMA, Length), Length);
EMA = xaverage(TEMA1, Length);
TEMA2 = 3*EMA-3*xaverage(EMA, Length)+xaverage(xaverage(EMA, Length), Length);

ZeroLagHA = 2*TEMA1-TEMA2;

plot1(ZeroLagHA, "Zero Lag HeikinAshi");
plot2(average(C,20),"Average");

Mass index

anne_0901_001
Mass Index,這是一個由Donald Dorsey所研發的指標,這指標使用高低範圍的波動性來判斷趨勢是否逆轉! 就這樣的定義來說,Mass Index是一個不包含方向性的波動率指標,而是利用特定波動率範圍的穿越與跌破來預測價格可能反轉的折點!!

這個Mass Index的公式是使用高低範圍的兩次加權平均來平滑高低範圍的變化,然後去累計一段時間的的範圍加權平均變化率,當我們取得這個值以後,還要在圖上標上兩段水平線,用來做為波動率擴張的上限與下限,這兩條線代表的意義有點像當股票緩漲後開始噴出,噴到一定”波動率”的時後,表示反轉風險上升,這是第一條線,而股價噴發後,股票盤整活性降低,波動率會下降,而降到一定程度下,看做是高檔盤整收殮,一則可能失去了動力而造成股價高檔盤整跌破,二則亦可休息完畢再次攻堅,這是第二條線!

當然這兩條線對於每檔股票可能值不儘相同,我們可以用常見的值先設定,再看股性調整!

腳本如下:

inputs: SLength( 9 ), SigmaLen( 25 ), vThreshold( 27 ),InverseThre( 26.5 ) ;
variables: MI1(0),MI2(0),MIR(0),MIV(0);

MI1 = XAverage( Range, SLength ) ;
MI2 = XAverage( MI1, SLength ) ;
if MI2 > 0 then MIR =MI1/MI2 else MIR=0;
if SigmaLen > CurrentBar then MIV += MIR else MIV = MIV + MIR -MIR[SigmaLen];

Plot1( MIV, "Mass Index" ) ;
Plot2( vThreshold, "擴張警戒" ) ;
Plot3( InverseThre, "盤整反轉" ) ;

anne_0901_002

主力法人成本價格的判斷

g1

在外資或是主要控盤者的操作方法裡,有個相當重要的下單法,叫做冰山單!
意思是,雖然你看到了小小一塊,其實隱藏了非常大的一個部位在裡面!
這要怎麼做到呢? 其實就是把單子拆的很散,讓一般人著實看不出來! 如果今天某大券商要買1000張台積電,使用了這個方法,在盤中每10秒都掛2張買進,不僅不容易被發現,如果間隔時間和單量都會小幅變動,那真的是很難猜得出來是不是有大戶在收,特別在這種大單很容易被狙擊的行情下,這種單真的是已經變成必備的工具!

那我們要怎麼知道大戶最終的行為呢?當然可以做的就是在盤後看一下交易所公佈的券商買賣報告書,統計一下特定券商是不是有特別的行為!
其實還有另外一個方法,比較容易被忽略,但是是非常實在,就是價格法! 不論是外資或是大戶,買股票的目的就是為了要賺錢,在這樣的假設下,就有空間可以運作!!

剛剛提到,當外資要買股票時,為了不讓人發現所使用的方法,最後總結出來的部位,還是會有一個成本價!! 如果單子的下法是非常分散在不特定時間,那最後得到的這個成本價,就會非常接近當日均價!!

XS裡提供了每日成交金額的資料,只要使用

var:DayAvgPrice(0);DayAvgPrice = GetField("成交金額")/v/1000;

就可以得到這個價格!!

而又每天的價格都上上下下,怎麼樣的才能看出大戶的動作方向的?
是的,如果是大戶,你可能不會在乎單一天的收盤價是不是比成本進價低了一點點,可是如果你買了一個星期,兩個星期,一個月,最後加起來的成本價,比收盤價還高,那就心情很鬱悶了!!

所以我們把收盤價和日均價的價差算出來,做個幾天的加總,這邊是20日,可視為月成本:

plot1(summation( c-DayAvgPrice,20),"月成本分界");

畫出圖來就一目了然了!!

典型反轉訊號

keyday rev

當指數或股價處在高檔時,跑得快是一個很重要的反射機制,跑得對則是一種藝術!
我們今天把市場上常用的底部V型反轉拉高,看看高檔倒V型反轉要怎麼做?!
如果要成為倒V, 那中間那天的高點勢必要高於左右兩邊,再來就是強度要夠的話,中間那天的高點,至少要比左右低點大上一定幅度,這邊就設定為5%
腳本可以這樣表達

condition1= H[1] > H[2] and H[1] > H and H[1] > L[2]*1.05 and H[1] > L*1.05;

//當這樣的情況發生的時候,我們把左右兩邊的最低價平均一下,當做是一個關鍵價
if condition1 then value1 = (L+L[2])/2;
//當股價跌破這個價格的時候,就是反轉的訊號! 這是標準型策略的作法!
{警示} if Close cross under value1 then ret=1;

這樣我們就完成一個型態辨識型的策略了!
如果要畫在圖上就可以改成:

{指標} plot1(Value1,"高檔反轉線");

這樣一來就可以在盤中即時知道哪些股票有面臨反轉向下的危機喔! 使用XS做即時型態辨試一點都不難!

突破投信成本線

對於一般投資人來說,當行情難以預料或是真的看不懂盤勢的時候,只要出掉部位,趁空偶爾看看盤瞭解一下,靜待適宜時機再來進場就好了!

可是對於法人來說,可就不是這樣了,尤其是投信!! 基本上投信可以看作是一個基金公司,這個公司呢,就是用募來的錢賺錢,績效好,才能越做越大! 如果績效不好,或是不夠好(大家都賺但是你賺的特別少)的情況下,那就麻煩了! 這樣不僅僅可能影響公司商譽,經理人的飯碗也是有可能不保的!

這時候身為一個基金經理人,就得使出渾身解數來創造績效了!

要賺到績效,第一件事就是…要會買股票! 沒錯,如果基金投信想從某檔股票上賺到錢,基本上在正常的情況下,這些動作是無所遁行的! 每個經理人操作方法可能不儘相同,不過重點都是一樣,買進以後快點拉抬,趁量還大,快出一出獲利了結!故事真是太完美了!

那我們這些小散戶怎麼從中獲利呢? 當然要從最簡單的方法下手,之前有提到過策略的標準作法: 找到一個關鍵價, 等市價突破這個價的時候,買進!! 就這樣,我們要先找到投信的短期進場成本價當關鍵價,盤中有突破就來通知一下,我們就可以很開心的搭順風車了!!

input: pastDays(3); setinputname(1,"計算天數");
input: _BuyRatio(10); setinputname(2,"買超佔比例(%)");

variable: SumAm(0),SumForce(0), SumTotalVolume(0),APrice(0),AVGP(0),Kprice(0),QDate(0);

APrice = GetField("成交金額")[1] / V[1]/1000;

SumAm = Summation(GetField("投信買賣超")[1]*APrice, pastDays);
SumForce = Summation(GetField("投信買賣超")[1], pastDays);

sumTotalVolume = Summation(Volume[1], pastDays);

if SumAm > 30000 and SumForce > SumTotalVolume * _BuyRatio/100 then
begin
Kprice =highest(avgprice,pastDays);
QDate=Date;
end;

if DateDiff(Date,QDate) < pastDays+5 and C > Kprice and C[1] < Kprice then ret=1;

凱特納通道

anne_0711_001

今天我們利用凱特納通道和成交量振盪來追蹤分析突破交易的趨勢穩定性!

這個指標分析稱為TMV(Trend.Momentum.Volatility&Volume),即趨勢動量,波動率與成交量的綜合指標。

一直以來,市場老手前輩在講解多頭盤勢的時候,都會提到一點:價格在上揚時,量要溫和放大,走勢才能持久,一但量失控,可能就意謂著行情的尾聲!

我們今天就來看一下怎麼樣把這樣的概念實現在可以具體表徵的K線圖上!

首先,我們做出凱特納通道,圖上三條線的地方就是這個通道,一般情況下,當價格超過這個通道的高點,就是多頭趨勢的發動,稱為通道突破,而這個通道的中線,即價格均線,做為出場點!

我們設計一個多方訊號標記在K線圖上,是綠色的向上三角形,然後將量的振蕩,用黃色長條框搭配著看。在前面的假設中,多方走勢就是有出現綠色三角的區間,而量的穩定放大,我們可以看做這個區間下的量振盪變小了!

加權指數中可以看到 在五月底到六月底的這段期間,量的振盪是有在往下收的趨勢,而在七月初的爆量,將振盪拉開相當大,這時後在看盤時就得時時注意是不是量有”回穩”的情況,如果能夠回穩,攻勢持續的機會也才能比較高!!

腳本如下: 請記得把plot3設到第2座標軸,而plot1,plot2設為點

var:Periods(13);
var:Price(0); Price = (C+H+l)/3;

var:Center(0);Center = average(Price,Periods);
var:KTop(0); Ktop = Center + average(H-L,Periods);
var:KBot(0); KBot = Center - average(H-L,Periods);

variable: Length(10),pdi(0), ndi(0), adx_value(0);
DirectionMovement(Length, pdi, ndi, adx_value);

if adx_value > adx_value[1] and C > average(C,8) then plot1(C,"ADX Rising");
if adx_value > adx_value[1] and C < average(C,8) then plot2(C,"ADX Falling");

var:VolumeOsc(0);
VolumeOsc = (average(v,1)-average(V,20))/average(V,20);

plot3(VolumeOsc,"VolumeOsc");
plot4(Center,"Center");
plot5(KTop,"KTop");
plot6(KBot,"KBot");

尋找具有領先預測性的交易策略

我們總是想在個股行情發動前,就先上車,但大部份的技術指標都總是在價量齊揚之後,才會出現買進訊號。

但有的時候,可能受限於大盤的下跌,雖然股價沒有太大的上揚,成交量也沒有明顯的回升,但如果成交量佔大盤比種持續變大,股價穩定的比大盤強,往往等到大盤一回穩,股價就開始有明顯的回升。

XS裡有兩個欄位,一個叫資金流向,一個叫強弱指標,前者是成交值跟大盤成交值的比值,後者則是個股漲跌幅與大盤漲跌幅的相對闗係,我們可以透過這個兩個欄位,找到盤不好但個股表現相對穩定且資金在流入的股票。

我們常說要找價量齊揚的股票,但如果考慮到相對的概念,我們要找的其實是成交量佔大盤的比重在增加,而且股價跟大盤對應的強度在增強。

運用這樣的概念,我寫了一個指標,這指標在計算十天之內有多少天成交值佔大盤比重在增加且比大盤強,然後取五日平均
我發現當這數字從一以下向上而股價還在橫向整理時,後市出現長紅的機率頗高(如附圖一)
這個指標的腳本如下:

input:sp(10);
setinputname(1,"短計算區間");
value1=GetField("資金流向");
value2=GetField("強弱指標");
var:count1(0) ;
count1=countif(value2>0and value1>value1[1],sp);
value3=average(count1,5);
plot1(value3,"短期價量齊揚天數");

這樣的概念,代表個股的強度跟佔大盤成交值都在轉強,但股價受大盤壓抑,一旦大盤好轉,股價表現就可能很亮眼。

這樣的概念,我們可以改寫成策略雷達的腳本

input:sp(10);
setinputname(1,"短計算區間");
value1=GetField("資金流向");
value2=GetField("強弱指標");
var:count1(0) ;
count1=countif(value2>0and value1>value1[1],sp);
value3=average(count1/SP*100,5);
if (highest(close,5)-lowest(close,5))<close*1.07
and value3 cross over 35
then ret=1;

運用這個策略,記得兩件事
1.選大盤不是很好的時候
2.別挑太沒有量的股票,不然資金流向稍為增加一點成交量就會暴增

我自己使用上發現,這個策略出現的股票不是天天都有,但後市有行情的機率比起其他策略,還頗不錯。

主動買力指標

在操作上,每個人都有影響自己最深刻的體會,我自己的最深刻體會就是”反常必有妖”。 這句話是師父教我的,這些年來,在挑股票時,在決定是不是出場時,這句話影響我非常深。

什麼是常? 什麼是反常?

我自己的定義是,跟以往一樣叫常,跟以往不一樣叫反常。
所以我總是訂定一些指標,去衡量一檔股票的交易情況,從中找出個股的常,與反常。

今天要跟大家介的主動性買力比重指標,就是這樣的概念。

這個指標的計算,需要先來定義一些名詞

XQ把每天公佈的券商分公司進出資料作計算,定義了一些名詞如下:

控盤者買進:券商分公司單一價格買進成交值>=100萬者張數合計

控盤者賣出:券商分公司單一價格賣出成交值>=100萬者張數合計

拉高買盤:
開盤價>昨收價 & P≧開盤價,或
開盤價=昨收價 & P>開盤價,或
開盤價<昨收價 & P≧昨收價,在此P買進之張數 作多買盤 開盤價>昨收價 & (昨收價<P≦開盤價),或
開盤價<昨收價 & (昨收價≧P>開盤價),在此P買進之張數

控盤者主動買盤
控盤者拉高買盤+控盤者作多買盤

主動性交易比重
(控盤者主動買盤+控盤者主動賣盤)/(成交-當沖)

控盤者主動買力

控盤者主動買盤/(成交-當沖)

根據這樣的定義

如果把主動買盤除以主動性交易比重
其實就是算出
控盤者主動買盤/(控盤者主動買盤+控盤者主動賣盤)

它的意義就是找出每檔股票,每天在開盤後,願意往上買的大單,佔所有主動性交易的比重。

這樣的數字在成交量夠大的時候,是衡量一檔股票的常與反常的重要指標。

以附圖為例,這指標的移動平均線會在0.5上下波動,但如果成交量變大(第一個反常),而且這指標數字從0.5以下往上衝(第二個反常),那就代表有異於過往的買力進到這檔股票

特別是那些一直沒有成交量的股票,一旦出現這種情況,往往都是值得留意的標的。

這個指標的腳本很單純,我附在下面

input:PS(5);
setinputname(1,"計算區間");
value1=GetField("主動買力");
value2=GetField("主動性交易比重");
if value2 <> 0
then value3=value1/value2;
value4=average(value3,ps);
plot1(value4,"主動買力比重短期移動平均");

我們可以把這個腳本改成警示策略
只要加個警示的條件
例如

if value4 crossover 50
and volume>3000
and volume>average(volume,5)
then ret=1;

這樣應該就可以從每天分公司的進出明細中,找到開始有特定買力加持的股票了。

波動率通道

今天要來介紹的是一個可以當做進出場訊號的指標:波動率通道。

有許多方法會被用來衡量波動率,常見的像是ATR(平均真實區間),如果波動率高,ATR就會變大。今天我們使用的觀念則是用典型價,即最高價,最低價,收盤價這三個價位的平均,拿來和最低點比較,如果典型價上漲,就用今天典型價減去昨低,反之則用昨天典型價減今低。使用這個差值,來繪製一個波動率通道,然後用這個通到的上下緣來當做買賣訊號。

腳本如下:

variable: avg(8),vperiod(13),devfact(3.55),LbandAdj(0.9);
variable:DevHigh(0),DevLow(0);
variable:aTypical(0),dev(0),medianavg(0),typ(0),XMA(0);

if currentbar>=2 then begin{必需要2根K 才能開始}
typ = typicalprice;
{典型價}
aTypical = iff(typ >typ[1],typ-Low[1],typ[1]-Low);
{IFF 第1個是判斷式,如果成立了,用第1個算式的結果,不然就用第2個算式的結果}
dev = devfact*average(atypical,vperiod);
{計算平均值的3.55倍做為通道基值}
DevHigh =Xaverage(dev,avg);
DevLow =DevHigh *LbandAdj;
{計算通道上緣與下緣的邊界}
medianavg = Xaverage(typ,avg);
XMA = Xaverage(medianavg,avg);
{用指數平均兩次平滑典型價}
plot1(XMA+DevHigh,"多方線");
plot2(XMA-DevLow,"空方線");
plot3(XMA,"中線");
{畫出通道圖}
end;

{如果需要在圖上標記買賣訊號,可以加下列}

if C cross over XMA + DevHigh then
begin {以下繪點}
plot4(C*1.01,"多");plot5(C*1.02,"多");plot6(C*1.03,"多");
plot7(C*1.04,"多");plot8(C*1.05,"多");plot9(C*1.06,"多");
plot10(C*1.07,"多");
end;

if C cross under XMA -DevLow then
begin {以下繪點}
plot11(C*0.99,"空");plot12(C*0.98,"空");plot13(C*0.97,"空");
plot14(C*0.96,"空");plot15(C*0.95,"空");plot16(C*0.94,"空");
plot17(C*0.93,"空");
end;

如果價格突破了通道上緣,可以標示出做多訊號,跌破通道下緣,則為做空訊號!

這個通道還有另一個觀察點:如果股價從跌破下緣後往下探低一段,接著準備上漲突破通道下緣時,是相對低點或底部區的機會就很高了,反之則可能是頭部區的形成!

我們找了幾檔指標股來看,2317,圖上用多色垂直柱線標註了多方點,綠色柱線則是空點,從2012年12月跌破通道以來,一直都是空方格局,直到2013年11月29日出現了第1個多方點,之後一直都是多方訊號,這樣就表示了是一個很強力的多頭走勢,多方的波動率一直在放大,股價也從79元一路上漲到110元!

這樣的波動率判別不會受到公司股本市值大小的影響而有所不同,唯一的差別就是漲升的幅度而已!

各位可以試看看,如果要做成即時的警示,可以用下面的版本

variable: avg(8),vperiod(13),devfact(3.55),LbandAdj(0.9);
variable:DevHigh(0),DevLow(0);
variable:aTypical(0),dev(0),medianavg(0),typ(0),XMA(0);
if currentbar typ = typicalprice();
aTypical = iff(typ >typ[1],typ-Low[1],typ[1]-Low);
dev = devfact*average(atypical,vperiod);
DevHigh =Xaverage(dev,avg);
DevLow =DevHigh *LbandAdj;
medianavg = Xaverage(typ,avg);
XMA = Xaverage(medianavg,avg);
if C cross over XMA + DevHigh then ret=1; {多方}

pd4

pd3

pd2


pd1

上面的那個XQ頁面,有興趣的朋友可以在下面的連結中打開:
檔案連結