Author Archives: 發財橘子

預估漲跌幅%!

這裡很重要的一件事: 這種預估方法是利用歷史資料統計出來的結果,有點像是天氣預報一樣,不可能出現今天收盤就是會漲個幾%的這種情況!
呈現的概念會是: 降雨0 mm 機率是 80%, 降雨100mm以內機率是20%,這樣我們就能推斷出來說:喔~ 今天很有可能會是個大晴天,如果有雨,也只是飄一點點!
這樣一來至少我們就知道說應該是不用帶雨傘出門!但是,絕對不是說,今天不會下雨ㄟ! 這就是預測原理,各位看官要能理解這點才好往下看下去耶!
有了這樣的概念,我們可以拿一個最初步的方法來統計,就是把昨天的漲跌和今天的漲跌統計一下! 看昨天漲跌了N%的時候,今天會漲跌M%? 先把漲跌分門別類一下,跌超過6%為一個Level,然後跌5~6%每1%往上推就一個Level,一直到上漲超過6% ,一共14個Level,分別給編號!
好了 那我們就可以用昨天的漲跌幅去找Level,再看看今天的Level落在哪!! 全部統計起來以後,我們就有一個歷史資料庫囉! 當然,這個資料如果找越久,採樣越多,資料就越客觀,用個5年資料來看的話,資料讀取要設定1300,最大引用設定1,接下來就可以看腳本畫出來的圖囉!

array:Run[15,15](0);
var: xLevel(0),i(0),sumx(0),qLevel(0),MaxCount(0);
if C[0]/C[1]-1 < -0.06 then xLevel = 0 else
if C[0]/C[1]-1 < -0.05 then xLevel = 1 else
if C[0]/C[1]-1 < -0.04 then xLevel = 2 else
if C[0]/C[1]-1 < -0.03 then xLevel = 3 else
if C[0]/C[1]-1 < -0.02 then xLevel = 4 else
if C[0]/C[1]-1 < -0.01 then xLevel = 5 else
if C[0]/C[1]-1 < 0.00 then xLevel = 6 else
if C[0]/C[1]-1 < 0.01 then xLevel = 7 else
if C[0]/C[1]-1 < 0.02 then xLevel = 8 else
if C[0]/C[1]-1 < 0.03 then xLevel = 9 else
if C[0]/C[1]-1 < 0.04 then xLevel = 10 else
if C[0]/C[1]-1 < 0.05 then xLevel = 11 else
if C[0]/C[1]-1 < 0.06 then xLevel = 12 else xLevel =13;
Run[xLevel[1],xLevel]+=1;
sumx=0; MaxCount=0; qLevel=-1;
for i = 0 to 13
begin
sumx+=Run[xLevel[1],i];
MaxCount =MaxList(Run[xLevel[1],i],MaxCount);
if MaxCount = Run[xLevel[1],i] then qLevel =i;
end;
Plot1 (100*Run[xLevel[1], 0 ]/sumx,"下跌超過 6%機率");
Plot2 (100*Run[xLevel[1], 1 ]/sumx,"下跌5~ 6%機率");
Plot3 (100*Run[xLevel[1], 2 ]/sumx,"下跌4~ 5%機率");
Plot4 (100*Run[xLevel[1], 3 ]/sumx,"下跌3~ 4%機率");
Plot5 (100*Run[xLevel[1], 4 ]/sumx,"下跌2~ 3%機率");
Plot6 (100*Run[xLevel[1], 5 ]/sumx,"下跌1~ 2%機率");
Plot7 (100*Run[xLevel[1], 6 ]/sumx,"下跌0~ 1%機率");
Plot8 (100*Run[xLevel[1], 7 ]/sumx,"上漲0~ 1%機率");
Plot9 (100*Run[xLevel[1], 8 ]/sumx,"上漲1~ 2%機率");
Plot10 (100*Run[xLevel[1], 9 ]/sumx,"上漲2~ 3%機率");
Plot11 (100*Run[xLevel[1], 10 ]/sumx,"上漲3~ 4%機率");
Plot12 (100*Run[xLevel[1], 11 ]/sumx,"上漲4~ 5%機率");
Plot13 (100*Run[xLevel[1], 12 ]/sumx,"上漲5~ 6%機率");
Plot14 (100*Run[xLevel[1], 13 ]/sumx,"上漲6~ 以上機率");

s2

布林通道指標

前兩天看到了週刊上一個成功的投資故事,故事的主角先前不管透過基本面,技術面,在股票操作上一直都是虧錢,後來他覺得採取科學的精神,透過統計學常態分配的原理,用兩個標準差做為他進出的依據,他的邏輯是股價的波動也是一種常態分配,有95%的機率股價會落在平均值加減兩個標準差的區間裡,所以如果股價突破兩個標準差,就算是超漲,可以獲利了結,跌破兩個標準差,那就是超跌,應該逢低承接。他說自從他改成使用這種統計上的操作方式,長期都能獲利。
這位老兄找到的聖杯,其實就是技術分析上常有人用的布林通道(BBand)
我用XS的腳本跟大家做個說明
在XS裡頭有一個BollingerBand的函數,這個函數的腳本如下:

Input: price(numericseries), length(numericsimple), _band(numericsimple);
BollingerBand = Average(price, length) + _band * StandardDev(price, length, 1);

意思是說BolingerBand是移動平均加上N個標準差。
然後我們用以下的腳本在畫布林軌道線

input: Length(20), UpperBand(2), LowerBand(2);
variable: up(0), down(0), mid(0);
SetInputName(1, "天數");
SetInputName(2, "上");
SetInputName(3, "下");

up = bollingerband(Close, Length, UpperBand);
down = bollingerband(Close, Length, -1 * LowerBand);
mid = (up + down) / 2;

然後畫出up,down,mid三條線,這樣就可以符合這位老兄的操作心法了,我把它畫在加權指數上,其結果就如附圖
為了讓大家可以很簡單的了解投資標的目前所處的位置,我們可以根據這三條線,作出以下的定義
1.股價接近或突破up,代表過熱
2.股價接近或跌破down,代表超跌
3.股價跌破down之後,回頭穿越down,代表反彈
4.股價突破mid代表翻多
5.股價突破up後跌破up代表拉回
6.再跌破mid後代表翻空
如此一來,我們就可以很清楚的標示每一檔個股目前的狀態,以及對應的操作策略。
XS的好處就是每次在報章雜誌上看到別人的操作秘訣,我們總能寫出一個對應的腳本來變成自己的操作策略。
bb

粒子學說指標

我們都知道空氣中存在著氧分子和氮分子,這些分子其實是存在空間中的小粒子,雖然看不到,不過會因為地點,氣溫和高度的不同,使得分子中蘊含不同的能量,我們呼吸起來的感覺也就不一樣!就好像在喜馬拉雅山上呼吸起來特別困難,因為空間中的氧粒子密度低!
嘗試著把這樣的概念應用到時間序列裡,我們把最近的100根K棒拿來當做是個股最近一段時間的”狀態”表徵,然後建立起一套評估標準,看看這檔股票的”活力”是不是足夠!
1. 方向度:收盤價在K線上有三種收法,1.C>C[1] 上漲 2.C=C[1] 平盤 3. C C[1] 的個數 CountIf(C>C[1],100) 看看得了幾分
2.熱絡度:成交量也是相當重要的一環,我們用成交值當基底,看看有幾期成交值比起來會在平均之上
countif( GetField(“成交金額”) > average(GetField(“成交金額”),100),100)
3.波動度: 股價除了要有方向,交投要熱絡,當然波動要夠也是必需關注的! 在100期中有幾期的波動大於平均波動可以這樣寫 CountIf( (H-L)> average(H-L,100),100)
上面這三個值可以看得出來多數情況下應該都會是50左右,所以我們把50當做是一個常態! 150分就是一個常態的中點,最後我們把上面三個值加起來減去常態的150,寫成下面腳本

var:Dirt(0); Dirt = CountIf(C>C[1],100);
var:Heat(0); Heat = countif( GetField("成交金額") > average(GetField("成交金額"),100),100);
var:Vola(0); Vola = CountIf( (H-L)> average(H-L,100),100);
var:Eng(0); Eng = Dirt+Heat+Vola-150;
//指標
plot1(Dirt,"方向度");
plot2(Heat,"熱絡度");
plot3(Vola,"波動度");
plot4( Eng,"能量");
//警示
if Eng >0 and Eng[1] =< 0 then ret=1;

我們知道開車要往反方向走的時候一定要先停車,調頭,再加速,粒子也是相同,都會有持續期,所以我們可以看到圖上的能量分數都會比較穩定不會變來變去! 所以我們可以拿來當警示條件設到策略雷答達中! 看台積電昨天就是剛剛好能量轉正呢! 今天走勢就很容易可以猜得出來!! 是不是很簡單呢?

原子激態法找即將爆發個股

幾天前交易所宣布新制,放寬台灣普通股漲跌幅限制,大家該不該因此對行情有所期待呢? 答案很明顯!
我們知道加權指數成份股中1成的股票經常佔全部8成的成交量,而這1成的股票,大多都是大型股,一整年都不知道會不會看到一次漲停板或跌停板? 而其它冷門的股票漲跌停出現時相對的風險也會大大提高!
對於一個投資者而言,獲利是來自股價波動,而不是股價限制,不然的話,去做美股就好了,因為如果照這個理論,只要沒有漲跌停限制的股票大家都會賺翻了!
而股價波動的來源,其動力主因當然是公司營運狀況,或說財報表現!不過今天我們要提供另外一種預測方法,讓我們找到會出現波動的股票!
先解釋一下原理:我們知道原子是由一個核心和許多電子所組成,一般狀態下,原子會是一個穩定狀態,電子會繞著核心轉呀轉! 有些正旋有些逆旋,就像股票一樣,股價很穩定,有時候出現漲,有時後出現跌!
科學家看這樣很沒搞頭.想弄點事來做!有個方法,我們稱之為”激態”,是把一個電子往這個原子打,這個時候有趣的事就發生了,因為原本的轉的好好的,多了一個電子後整個原子就”激”起來了! 哇! 有點像是吃了大補帖一樣生龍活虎想做些啥事! 這時後科學家就能從後面偷笑了!
股價也是,原本一檔價格平穩的個股,要怎麼樣讓它達到”激態”呢? 就是打個電子下去啊! (砸錢) 那要多少錢才夠呢? 當然跟個股的大小有關囉!
我們利用下面的警示腳本在策略雷達中洗所有普通股的Tick資料

variable:Dv(0),;
if date Date[1] then begin Dv=v; end else begin
if date = currentdate and time 0.05 and
(dv+v)*1000/q_CurrentShareCapital > 2/1000 and
v*1000/ q_CurrentShareCapital > 2/10000 then ret=1;
dv+=v;
end;

會看到有趣的事喔! 我們找到我們要的波動了!!
昨天跑出來個股,平均振幅高達3.5%!! 上漲者平均漲幅 3.1%!~ 下跌者平均跌幅2%!! 真是太神奇了,加權指數幾乎沒波動ㄟ!! 快來試試吧! 不要告訴別人喔!!

多方強力發動首選‬

我們都知道開盤價是一個很好的多空力參考價! 而要怎麼利用的方法我們之前也提過很多不同類型!今天要介紹的是一個短期多方強力發動的典型,屬於快速賺到價差的短進短出法,使用上最好是能搭配XQTrade讓訊號跳出來以後能快速下單,這樣才比較能迎刃有餘的抓到每個機會!
這個警示腳本如下 請搭配日線

var:High3(0),High5(0);
High3 = highest(high[1],3);
High5 = highest(high[1],5);
condition1= Close > Open and Open > High3 and Close >High5;
if condition1 =true and condition1[1] =false and volume >100 then ret=1;

第一步 var:High3(0),High5(0); 先設兩個變數分別記3天和5天的高點
High3 = highest(high[1],3); 就是把過去3天 昨天 前天 大前天 這三天的最高點存到我們剛剛設定的變數裡!
同樣的High5再做一次 把昨天到五天前的最高點記錄到High5裡!
接下來就可以開始判斷!
condition1是一個是非變數,如果後面的判斷式全部都是成立,那就會是True(是)!
第一個判斷點是今天的 Close > Open (現在的收盤價(現價)要大於開盤價)
第二個判斷點是今天開盤價要大於前三天最高點 Open > High3
第三個判斷點是現在的收盤價(就是現價)要大於前5天最高點 Close > High5
這三個式子都成立的時候condition1就是為TRUE, 因為我們要找的是剛剛發動的個股,
所以昨天一定沒有這個情況,要加上condition1 =true and condition1[1] =false 即今天發生了,可是昨天沒發生! 加個量至少要100張就可以回ret=1; 表示馬上提醒我!!
這可以找到什麼樣的個股呢?我們先看一下華新科是哪一天跳出來的!再來看看今天跳出了什麼個股!大家可以追蹤驗證一下喔!!

119

歷史沈降法

歷史沈降法

有的時候就是需要等待! 但是聰明的人不會讓等待成為空白!
以前在實驗室常常會有這樣的需求,做液態層析時,得把原始的樣本品倒入一個管柱裡面,然後開始漫常的等待!這個樣品會從管柱的頂端慢慢往下流,最下面拿個杯子接我們要的東西! 通常做完一輪都要好幾個小時!
這時候如果就在管子前面等待,真的很悶! 所以通常都會找點事情做,譬如說再開一個管子來做,這樣事情就會變得有效率一些!!
這有點像買股票,看好了某一檔個股,買進以後可能就得面對漫長的等待,等到結果出來,也不知道是什麼時候了!! 如果看盤只能一直觀察著少數幾檔股票,等待著行情發動! 那消耗掉的時間真的是在消磨生命!
所以做XS策略是非常有必要的! 研究好了一個策略讓它每天自動跑! 然後就可以做下一個策略! 把時間可以有最大的運用!
因為知道在股票發動前的等待很痛苦,所以我們研究了一個方法,讓股價在沉澱一段時間後瞬間發動時,可以馬上抓到快速正要起漲的價位,當然最好也是要配何XQTrade直接點擊下單,這樣才能最有效率!!
今天我們把等待當做是一個門坎,因為大部份的人都沒辦法等待,所以可以利用XS去等待,那已經贏過一大票人了!! 我們先把這個方法稱為粒子沉降法,這有點像是我們在河水裡要抓魚的時候一樣,當我們踩進水裡,整個溪底的淤泥都會攪成一團,讓河水變得混濁,這時候要抓魚就很困難了,因為我們根本不知道魚在哪!? 所以得靜靜等候,等到泥巴都沉到底水面恢復能見度的時候再準備下手!
等待河水恢復清徹就是等水中的大顆粒子沉降到底,我們寫成腳本:
第一步我們先來倒裝一下,要創新高的股票才會入選,這樣資源可以節省一點!

variable:NewHigh(false); Newhigh= C >highest(h[1],20);

再來就是當創新高後我們才去算看看是不是粒子沉降了! 這裡我們把每天的平均高低點差當做是沉降的標準,差很大就是還浮很高,差越小就是沉很低了! 加上第一步的條件和成交量至少一百張:

if newhigh and volume>100 and
average(h[1]-L[1],3) < average(h[1]-L[1],5) and
average(h[1]-L[1],5) < average(h[1]-L[1],10) and
average(h[1]-L[1],10) < average(h[1]-L[1],20) then ret=1;

這樣就可以了! 用日線搭配全市場個股票! 當這樣的條件發生時,有個好處是即便是很大的股票也會適用,看一下統一實! 股本一百五十億的股票照樣漲停板ㄟ! 快點試試吧!!

積極勁道指標

如何判斷是一日行情還是來真的?
有些長期不大動的冷門股,動起來一開始會讓我們很糾結,因為這種股票常常不動則已,一動就是一大段,但當我們發現它開始動的時候,往往又追不下手,因為我們又怕這只是一日行情,去追的時候又會愛到最高點。所以我們常常在尋找一些方法,看看能不能在開始發動的第一時間,就知道這不是一日行情。
朋友介紹我用勁道指標來解決這個問題

勁道指標是由知名交易專家、心理醫生 亞歷山大·艾爾德(Alexander Elder) 研發的一種技術指標。它最大的特色在於同時結合了價格變動的方向、幅度以及成交量,旨在衡量市場中「多頭(買方)」或「空頭(賣方)」推動價格前進的真實力量。

Force Index = (Current  Close – Previous  Close) * Volume

  • 方向(Direction): 如果收盤價高於昨日,數值為正;反之為負。
  • 幅度(Extent): 價差越大,代表推動力越強。
  • 成交量(Volume): 成交量就像「燃料」,成交量越大,代表該方向的共識越高,力量也就越大。

2. 平滑化指標

為了過濾雜訊,通常會對原始值取 指數移動平均(EMA)

  • 短期(通常為 2 日): 用於捕捉極短期的超買/超賣與入市機會。
  • 長期(通常為 13 日): 用於確認中期趨勢的延續性。

強力指數的三大支柱

  1. 價格方向: 決定了力量是來自買方(正數)還是賣方(負數)。
  2. 變動幅度: 衡量推動的深度。如果價格大漲但成交量小,強力指數不會上升太多;反之,若價漲量增,則代表強勁的買力。
  3. 成交量: 檢驗市場參與者的誠意。只有帶量的突破,其強力指數才會爆發。

如何解讀與應用

1. 趨勢確認(13 日 EMA)

  • 13 日 EFI 位於 0 軸上方:代表多頭主導市場,上升趨勢健康。
  • 13 日 EFI 位於 0 軸下方:代表空頭佔優,處於下降趨勢中。
  • 穿越 0 軸: 是趨勢改變的潛在訊號。

艾爾德認為,單看價格變動是不夠的,必須觀察有多少成交量支持這股動能,才能判斷趨勢的強弱。

 

我照著這個想法寫了一個腳本如下:

input:days(13);
value1=GetField("外盤量");
value6=getfield("內盤量");
value2=volume*(close-close[1]);
if value6<>0
then value7=(value1/value6)*volume*(close-close[1]);
value4=average(value2,days);
value5=average(value7,days);
plot1(value4,"勁道指標");
plot2(value5,"積極勁道指標");

勁道指標的概念是把當天的成交量乘以今天收盤跟昨天收盤的價差,然後取13日移動平均。
我又創了一個積極勁道指標,是用外盤與內盤比來作成交量的加權因子。
然後我們會發現一旦個股載浮載沈時,這兩個指標會在零附近幾乎成一直線,一旦行情真的來了,兩條線都會開始往上衝,然後積極勁道指標還衝的比勁道指標快。
各位不妨用這樣的概念再進一步創造自己的獨家秘技,我自己使用起來,覺得這一招用在中小型冷門股,在盤中洗價,是真的可以在第一時間找到衝出去的股票。

xslope速度指標

開車這件是對許多人來說是一件在自然不過的事了! 上車,發動,踩油門,加速,踩剎車,停止,倒車…當我們開在一條筆直的馬路上時,一定會有加速減速的動作,如果是要倒車,則是一定要速度減到0停下來了以後,才能進R倒退檔往後退!
這些基本動作其實都是很基礎的物理學原理,在股票市場上也可以利用這樣的原理來判斷者檔股票現在的”狀態”在哪? 有一點很重要的是:減速和反向不是同一件事喔!開車的時後踩了剎車,車子還是會繼續往前進的,只是前進的速度慢了點,方向並沒有改變!!
再來我們必需很明確定義出每個狀態的計算基礎,譬如說現在是往南或往北(漲或跌),速度快或慢,加速或者是減速!?
有了XS以後要算出這些東西可以說相當簡單,用下面一行

 

var:Xslope(0); Xslope = linearregslope((H+L)/(H+L)[20],20);




 

就可以找出現在股價的速度了!! Xslope 正的就是上漲,負的就是下跌 這個linearregslope 就是讓我們找出這一段期間的股價變化趨勢 第一個輸入是 資料 .用(H+L)/(H+L)[20] ,是現在高低點平均除上20期前的高低點平均,這樣所有股票都會被標準化而不會有難以判斷的情況 第二個輸入是期數,我們利用最近20期(日)來看! 我們先利用指標來作圖

plot1(Xslope,"方向速度" );
plot2(Xslope-Xslope[1],"速度變化");

從東貝可以明顯看到,這檔股票在前幾天就已經轉向往上,且速度持續增加,大喇喇的表明就是要衝了!!
寫成警示的話,可以這樣寫:
{警示腳本}

if Xslope cross over 0 and Xslope-Xslope[1] > 0 then ret=1;

可以看到下面這些股票都是才正要開動的喔!
speed

F-Score選股法

在價值投資界,有位叫Joseph D. Piotroski 的老兄,他寫過一篇文章,文章的題目叫作Value Investing: The Use of Historical Financial Statement Information to Separate Winners from Losers
中文我是翻成”價值投資之透過財報分辨出贏家及輸家”。
在這篇文章中他用財報的一些指標,採取計分卡的方式,發明了一個叫作F_Score的評分標準,然後找出F_Score分數高的公司,組合一個投資組合,然後去作回測,然後他發現這樣的公司如果股價淨值比低於一定水準後就進場,投資組合的年化報酬率可以達到13.4%,比單純用股價淨值比作為投資標準,要高出7.5%,如果用同樣的邏輯也建構一個高股價淨值比且低F_Score的投資組合,然後合成一個多空雙向操作的組合,年化報酬率達到23%。
F_Score的計算方式很簡單,它列了九個財報的條件,符合的就得一分,不符合的就得零分,所以全部符合F_Score就是得九分,全部不符合就是得零分。
這九個條件如下:
1.資產報酬率(ROA) 大於零
2.今年的ROA大於去年的ROA
3.營運活動的現金流量 大於零
4.當期淨利大於營運現金流量
5.今年的負債比率小於去年的負債比率
6.今年的流動比率大於去年的流動比率
7.今年沒有辦現金增資
8.今年毛利率大於去年的毛利率
9.今年資產週轉率大於去年的資產週轉率
我試著用這樣的精神用xs的選股平台去設定選股條件,條件如附圖,但九大條件中的第四點跟第七點無法用選的,所以我用寫了一個選股腳本如下:

value1=GetField("資產報酬率","Q");
value2=GetField("來自營運之現金流量","Q");//單位百萬
value3=GetField("本期稅後淨利","Q");//單位百萬
value5=GetField("負債比率","Q");
value6=GetField("流動比率","Q");
value7=GetField("現金增資佔股本比重","y");
value8=GetField("營業毛利率","Q");
value9=GetField("總資產週轉率(次)","Q");
var:score(0);
score=0;
if value1>0 then score=score+1;
if value1-value1[3]>0 then score=score+1;
if value2>0 then score=score+1;
if value3>value2 then score=score+1;
if value5value6[3] then score=score+1;
if value7value8[3] then score=score+1;
if value9>value9[3] then score=score+1;
if score>=8
then ret=1;

供大家參考
跟大家介紹F_Score的想法是這樣的,國際金融情勢詭譎多變,我們有時忙著工作,又顧不上留意盤中的買賣點,如果我們可以發展出一種機制,分別挑出一組作多的投資組合,以及另外一組作空的投資組合,然後一邊作多一邊作空,然後再透過機制定期去 調整組合,maybe這是一種比較有紀律且可以避開系統風險的操作方式,以往沒有XS,這樣機械式的調整組合方式可以比較難為,現在有了XS,實務上應該變得更可行。
fscore

什麼股票? 什麼前提下漲停的股票還可以留意?

市場有一派人馬專門追漲停,我們今天來探討什麼股票漲停可以追? 在什麼情況下可以追?

我們都知道漲停是一個股價極端的表現,而這樣的表現,經常都會有偏向靠攏的趨勢!也就是說,漲停往往會帶來漲停,跌停亦然!!

利用這一點,我們可以找到一個用來猜想接下來會出現漲停的邏輯,利用這個邏輯去找尋一些股票,而這些股票在一個月內再出現漲停的機率會是偏高的!!
漲停版的要素,當然不外乎就是要有主力拉抬,無論這主力是何方神聖,股價才是關注的重點,而第二個相當重要的關鍵,是”時間”!! 怎麼說呢? 在經過了艱辛的收集籌碼過程,從第一次拉抬到漲停版,如果這樣就獲利了結出場,整體獲利可能都不到5%,真的是很不划算! 所以要拉抬,選在短時間內有一波走勢當然是最理想,不僅會聚集人氣,相對持倉壓力也不會太大!!

根據上述的假設,我們可以試著撰寫一個策略,這個策略要找的股票需要符合

1.尋找主力會進場的股票(有量的中小型股)

2.一陣子沒拉過漲停

3.最近又出現漲停

4.過去一段時間的走勢裡漲停的機會比跌停的機會多

我試著寫了一個腳本來符合上述的描述

{先列出需要用到的參數與變數}
input:Length(180);
variable:i(0),R1(0),R2(0),D1(0),D2(0);R1=0;R2=0;
{過去一段時間以來}
for i = Length downto 1
begin
{有漲停的日子就記1,記下最後漲停的日期}
if C[i-1] =uplimit(C[i]) then begin R1 +=1; D1= Date[i-1]; end;
{有跌停的日子就記1,記下最後跌停的日期}
if C[i-1] = dwlimit(C[i]) then begin R2 +=1; D2 =Date[i-1]; end;
end;
{漲停的日子要比跌停的多 }
condition1 = R1-R2 > 0;
{距離上次漲停不能太久, }
condition2 = DateDiff(Date,D1) <= 10;
{上次漲停跟上上次漲停之間隔的要夠久}
condition3=datediff(d1,d1[1])>30;
if condition1 and condition2 and condition3  
then ret=1;

我拿這個腳本,用有量的中小型股(股本小於四十億且五日均量大於1000張)來跑回測,停損我設5%,停利設10%(假設一根停板之後還有另一根停板),從回測的效果來看,勝率才剛剛好過五成,會獲利還是因為停利設10%,停損設5%,但實際應用上,還是賺錢及虧錢的機會一半一半。

但我仔細回頭去檢視輸的策略,發現很大一部份是因為在空頭市場的緣故,這樣的策略,在多頭市場,基本上勝率是不錯的。

這樣的策略,其邏輯在於主力不會只拉一根漲停就落跑,所以我們可以把第一根漲停視為主力的表態,然後主力表完態之後應該還會再往上作價,因為沒有拉到一定的價位很難出完貨,這個策略就是在尋找這樣的股票!