Author Archives: 發財橘子

股價突破10年線到底算不算是個好的交易訊號?

聽從事財經雜誌工作的朋友說,這幾年,尋找民間投資高手的專題,雜誌賣的最好,顯然,大家都想知道那些靠投資致富的高手們,到底有什麼獨門絕活可以變成股市長勝軍。其中,有一位民間高手,他的獨門絕活是,找出那些股價突破十年線的公司,然後追蹤看看這些公司的基本面是不是真的改變? 我試著寫了一個腳本來尋找符合這個條件的公司,看看這樣的方法是不是真的管用?

所謂的股價突破10年線的意義在於,如果股價長期低於10年線之下,代表過去有一陣子,公司的營運可能陷入比較不理想的狀態,如今可以站回十年線,就代表這檔股票的基本面可能出現明顯的好轉,股價才可以重回榮耀。

基於這樣的考量,我在撰寫這個腳本的時候,希望挑出來的股票,可以符合以下條件

1.過去200個交易日以來,第一次股價突破十年線

2.突破的這幾天

a.法人買超

b.成交量超過一定張數

c.股價比大盤強

3.基本面長期表現不致於太差

根據這樣的條件,我寫了以下的腳本

value1=GetField("強弱指標","D");
value2=GetField("法人買賣超");

if close cross over average(GetField("收盤價","M"),120)
then begin
if barslast(close[1] cross over average(GetField("收盤價","M"),120))
>200
and countif(value1>0,5)>=3
and countif(value2>500,10)>=6
and volume>2000
then ret=1;
end;

這個腳本去跑那些ROE維持一定水準的公司,回測報告如下:

071901

在過去三年裡,ROE達到一定水準的公司(ROE大於10%且連續兩年股利都大於2元),股價突破十年線,且法人買進,股價比大盤強又有量的公司,一共出現20次,其中15次之後的漲幅都超過20%。

顯示股價突破年線的這個交易策略,把它拿來用在股東權益報酬率及股利還不錯的公司,勝率還不錯。

 

我在做這個策略的時候也試過用中小型成長股,但勝率只有四成左右,後來改成用了ROE做選股標準,勝率就明顯提昇,顯示只有那些底子不錯(ROE有兩位數)的公司,就算有一陣子陷入低潮(連續200天股價在十年線以下),一旦基本面好轉,法人青睞 ,後市比較容易有行情。

這裡我是用法人買賣超來當過濾器,各位也不妨試著用其他的條件來跑回測看看

 

 

 

step by step 打造私房投資組合

台灣開始有基金業者引進smart Beta的投資組合概念基金,這種透過特定篩選機制,建構投資組合的方式,海外有不少ETF業者樂此不疲,所以才會有高股息,動能,低本益比等等的ETF及基金,我試著follow這樣的概念,透過選股及自訂指標,step by step的打造出專屬的smart Beta投資組合。

smart Beta以前叫作Strategic beta,它的概念是,從那些股價表現打敗指數的個股中,去尋找他們的共同特性,例如低本益比,高動能,高股息之類的,然後回過頭來,找出目前符合這些特性的個股,共組成一個投資組合,並且根據篩選條件的資料頻率,定時調整投資組合,因為目標是打敗大盤,所以稱自己是比大盤聰明的Smart Beta。

我們如果要發展自己的Smart Beta投資組合,步驟大致如下:

1.設定投資組合的篩選標準

2.設定投資組合持股的分配比例

3.回測過往績效

4.決定進出場策略

 

例如我用以下的選股標準來建構我自己的Smart Beta投資組合

071205

我專門挑過去三年高毛利率,高股東權益報酬率,且營收維持成長的中小型股

結果根據這樣的篩選標準,符合的一共有22家

071206

我用以下的腳本,計算這個投資組合的最新市值,計算這個組合的總市值變化

array:x1[22](0);
 
x1[1]=GetSymbolField("1256.tw","總市值");
x1[2]=GetSymbolField("1476.tw","總市值");
x1[3]=GetSymbolField("1527.tw","總市值");
x1[4]=GetSymbolField("1707.tw","總市值");
x1[5]=GetSymbolField("2231.tw","總市值");
x1[6]=GetSymbolField("3008.tw","總市值");
x1[7]=GetSymbolField("3088.tw","總市值");
x1[8]=GetSymbolField("3529.tw","總市值");
x1[9]=GetSymbolField("3552.tw","總市值");
x1[10]=GetSymbolField("3570.tw","總市值");
x1[11]=GetSymbolField("3611.tw","總市值");
x1[12]=GetSymbolField("3665.tw","總市值");
x1[13]=GetSymbolField("4947.tw","總市值");
x1[14]=GetSymbolField("5306.tw","總市值");
x1[15]=GetSymbolField("6146.tw","總市值");
x1[16]=GetSymbolField("6206.tw","總市值");
x1[17]=GetSymbolField("6245.tw","總市值");
x1[18]=GetSymbolField("6279.tw","總市值");
x1[19]=GetSymbolField("8109.tw","總市值");
x1[20]=GetSymbolField("8406.tw","總市值");
x1[21]=GetSymbolField("8416.tw","總市值");
x1[22]=GetSymbolField("9951.tw","總市值");
value1=array_sum(x1,1,22);
plot1(value1);

這個腳本沒有啥技巧, 純粹是把所有符合條件的股票,設成一個陣列(因為怕股票數很多,設成陣列只要宣告一個變數即可,不必宣告很多變數),陣列的好處是可以透過一個陣列函數來直接作運算,例如這邊我用array_sum這個函數就可以把所有投資組合的總市值加總起來,然後把它的變化跟加權指數相對照

smartbeta

上面這張圖是在XQ的技術分析中不設主圖,副圖用疊圖,然後在商品指標中選商品比較,把加權指數拿來跟這個自設指標放在一起。

從這張圖我們可以發現,這22檔股票組成的投資組合,過去三年來,績效比大盤好,震盪的幅度沒有大盤大,基本上跟大盤是同方向。

用同樣的方法,我試過高股息投資組合,我挑了過去五年每年現金股利都超過五元的股票,共有二十檔,但投資組合的績效並不優於大盤。

當我們挑出一個篩選策略,其成份股組合的投資組合長期優於大盤,我們可以選擇機械式的進出場方式,也就是符合條件時進場,不符合條件時出場。

另外,我們也可以選擇另一個策略來決定進出場方式

我個人試驗的結果,機械式進出場及策略決定進出場的方式,各有優缺點

以上是我對smartBeta的實驗步驟,如果XS能夠提供一個投資組合,根據不同的指數編制方式,幫USER畫成一條指數,且具備根據選股條件自動,根據最新數據,加入及刪除投資組合成員的功能,這樣就更好了

 

 

 

 

 

 

 

那些股票除權後可以留意?

時序要進入除權息旺季了,那些股票除完權息後,比較有可能上漲? 這應該是大家很關心的話題。

我自己多年來的心得是

1.挑那些連續幾年ROE都保持的不錯,而且年營收是正成長的股票

2.如果權值夠高,除下來之後,股價打六折以上

3.未來本業仍可維持榮景

那麼就可以留意除權除息後的買點。

 

這個原則變成交易策略如下:

1.挑出ROE連三年維持在15%以上以及年營收連續三年成長的股票

2.在股價打六折時進場

3.賺兩成出場,賠兩成就砍

首先我們先把股票名單篩選出來

070705

接下來我們寫一個小腳本來找到那些股價距離高點打六折的股票

value1=highest(high,90);
if close <=value1*0.6
then ret=1;

然後把這61檔股票用這個腳本去跑回測,賺兩成停利,虧兩成就停損,回測報告如下

070706

 

過去三年一共有53次交易機會,其中超過八成的機率,43次是賺錢出場,總報酬率是626%

希望這樣的腳本,能帶給大家一些操作上的參考。

 

 

 

 

日週月線不同指標混搭交易策略

“月線,週線,日線要同時看,月線看大方向,週線看波段,日線看進場點” 在民國79年,那個一天沒事刷個兩三百點的時候,市場老手總是如此地耳提面命的提醒著我,雖然這些年市場老手大多告老還鄉,但”日週月”線要同時看,這句話我總是記在心裡。

所以當XS提供了幾個跨頻率的技術指標函數時,我也就試著想要寫出用日週月線不同頻率不同指標的交易策略,以下是我試著寫的一個樣本

我思考過程如下圖

0 70601

因為XS有提供了幾個跨頻率時來運用的技術指標函數,所以這個腳本就可以寫的很簡短

condition1=false;
condition2=false;
condition3=false;

input: Length(5, "計算期數");
input: RSVt(3, "RSVt權數");
input: Kt(3, "Kt權數");
input: LOWBound(30, "低檔區");

variable: rsv1(0), k1(0), _d1(0);

xf_Stochastic("M", Length, RSVt, Kt, rsv1, k1, _d1);

condition1= K1>_D1;
 //月線KD轉強

xf_macd("W",close,6,12,4,value1,value2,value3);
condition2=value2>0;
//週線DIF轉正

if condition1 and condition2
and Momentum(Close, 10) Crosses Above 0
and GetSymbolField("tse.tw","收盤價")>
average(GetSymbolField("tse.tw","收盤價"),10)

then ret=1;

在這個腳本中,我用到了xf_rsi,xf_macd這兩個跨頻率的常用技術指標函數,在XS中都已經成了系統函數,各位在IDE中的函數區都可以查得到它們的計算公式,並且可以直接拿來使用

070602

 

我拿這腳本去跑最近半年的回測,回測報告如下

backtest_20160706

以上大約是跨頻率的寫法,上述的腳本只是個語法的示範,各位可以自己挑選不同的日週月線指標組合出專屬的交易策略。

 

日KD向上時的60分鐘線盤整後噴出

隨著程式交易日漸引起大家的注意,小弟也開始從十年寒窗無人問,變成朋友詢問策略寫法的對象,最新被問到一個交易策略: “找出那些日線KD向上的股票中,60分鐘線盤整後創新高的”。

我整理了朋友的思考方式,把這個策略的想法歸納如下圖

0 70501

他的思考方向是如果個股KD 日線呈多頭排列,代表最近是多頭在主導,60分鐘線如果盤整一陣子,代表近期處於多頭在新佔領的地盤休養生息,休息夠了,一旦噴出,代表另一波的多頭走勢即將展開。

我根據這個思維,寫了以下的腳本,

//盤整後噴出
input: Periods(15,"計算期數");
input: Ratio(3,"近期波動幅度%");
input: TXT1("僅適用60分鐘","使用限制");
var:rsv1(0),k1(0),d1(0);
xf_stochastic("D",9, 3, 3, rsv1, k1, d1);
condition1 = false;

if (highest(high[1],Periods-1) - lowest(low[1],Periods-1))/close[1] <= ratio*0.01 
then condition1=true//近期波動在?%以內
else return;

if condition1 and high = highest(high, Periods)
and GetSymbolField("tse.tw","收盤價","D")
>average(GetSymbolField("tse.tw","收盤價","D"),10)
and volume >=average(volume,20)*1.3
and k1>d1
and k1>50
and k1<80

then ret=1;

這個腳本有用到我之前有介紹過的兩個自訂函數,

現在已經成為XScript編輯器中的系統函數囉!

直接輸入函數呼叫即可,不需要在自訂函數腳本。

 

在此稍微介紹一下在盤後噴出腳本中,使用到這兩個函數的原因為,

一個是”xf_getvalue”,這是用來作跨頻率的資料對齊用的,

另一個是”xf_stochastic”,這個函數是用來計算跨頻率的KD值的,它的用法是

xf_stochastic(“頻率”,天期,3,3,rsv,K,D)

需要這麼處理的原因在於,我們在這裡跑的是60分鐘線,如果直接用KD的函數去跑,是跑不出日KD的正確數字的,因為60分鐘線的計算基礎下,前一根不會是前一天,所以需要先做資料對齊的處理,算出在60分鐘線之下,前第N根的數字才是日線要拿的值。

我回測一年60分鐘線之後的報告如下圖

070502

這樣的回測結果確實有比單純用60分鐘線去跑的時候勝率高出一些。

 

這當中有不少參數,停損停利的條件,以及應用的股票(我用的是有量的中小型股)可以調整,請各位自行找出最適合您自己的參數及應用的商品

 

跨頻率的腳本在撰寫時,如果有用到指標,都必須使用指定頻率的指標函數,不能直接引用系統提供的原有函數,希望XS可以儘早提供常用指標如RSI,MACD等等在跨頻率使用時的函數。

 

 

每年七月總是會有表現的股票

雖然我們常說七月份股市也要開始放暑假,但如果有一檔股票,過去七年,每年七月還原月線都收紅,現在六月底了,這樣的股票,你買不買?

真有這樣的股票嗎?

有的

巨大就是其中一檔

062801

還有沒有 ?

還有

佳格,聯發,葡萄王,慶豊富,連巨大一共有五檔。

怎麼找出來的?

寫選股程式找的

怎麼寫?

腳本在下方

array:m1[7](0);
variable:x(0),count(0);
for x=1 to 7
begin
m1[x]=(close[12*x-1]-close[12*x])/close[12*x];
end;
count=0;
for x=1 to 7
begin
if m1[x]>0.02
then count=count+1;
end;
if count>=6 and close>5 
and average(volume,20)>10000
then ret=1;
outputfield(1,count,0,"符合的次數");

我條件放的寬一點,七年內有六年七月上漲就入列,合乎條件的,濾掉那些沒量的,記得用還原月線下去跑,一共有50檔,名單如下:

062802

七月是個很特別的季節,秋天開學前的返校需求,八月就要 湧現,飲料業要進入旺季,特別是五窮六絕的產業,七月起進到第三季,有些行業準備開始進入旺季,另外要除權的,要除息的,也開始準備上場了。

上面這個腳本,每個月都可以用,也不限定非得七月不可。

避險基金有一種手法,一方面作多即將進入旺季的股票,一方面放空即將進入淡季的股票,透過這個腳本,是可以每個月找到股價在該月份總是上漲及總是下跌的股票。

準嗎? 可以拿這來賭嗎?

我寫這些腳本,目的是跟大家介紹,語法是可以這樣子寫,至於出來的結果要不要開賭?還是再交叉運用其他的策略來決定交易時機? 還是再把腳本改的更好才開賭? 這點就留給大家自己來決定了。

 

 

創區間來新高的股票是不是真的是作多的好標的?

有幾個我一向敬重的市場老手,他們的成名絕技都是在多頭市場大量追進領先市場創很長時間以來新高的股票,我想試著把這樣的精神,改寫成交易策略,以下是我的心路歷程。

在認識這些市場老手之前,我對”領先市場創長期以來新高”這樣的操作策略並不陌生,原因在於我師父介紹我研究美國成長股大師William J. O’Neil,以及他的CANSLIM法則,師父認為,台灣是中小型成長股的溫床,所以歐尼爾的操作手法比巴菲特及彼得林區。

CANSLIM的法則,用台灣的選股用語,大略如下:

C:單季營收年增率≧18%。

A:五年營收複合成長率≧15%且每年皆為正成長。

N:股價創最近1年最高價。

S:中小型股

L:一年股價相對強弱度(RPS)≧80。

I:投信基金持有家數≧10或外資持股比例≧5%。

M:市場趨勢是否為多頭?

簡單講,CANSLIM法則就是在大盤多頭時,挑選股價比大盤強勢的,法人有在佈局的中小型成長股,然後在股價創近一年新高時進場

這是我第一次接觸到比大盤強且股價創長期以來新高的交易策略

後來我因為工作的關係,開始接觸到一些在操作上頗為成功的人士,大家在個性上,專業上或有不同,但其中有幾位,不約而同的,都具有兩個共同特徵

1.很會看盤,對盤很敏感

2.總是在大盤多頭時,大量買進領先大盤創長期以來新高的股票

我曾經問過他們為何這麼操作,得到的答案一般有兩個

1.股價領先基本面,股價創長期來新高代表基本面出現新的機會

2.上檔的賣壓會比較輕,比較好拉。

後來我自己也試著用新台幣印證這樣的手法,雖然有賺有賠,但賺的時候比較大段,賠的時候還好虧的不多。

現在有了XS,我想試著實證看看,這樣的操作手法是不是真的有效? 而要怎麼操作才最有效?

首先我先把多頭市場時股價領先大盤創歷史新高(且法人買進)的概念寫成以下的腳本

condition1=false;
condition2=false;
condition3=false;
condition4=false;

if GetSymbolField("tse.tw","收盤價")
>average(GetSymbolField("tse.tw","收盤價"),20)
then condition1=true;//市場處於多頭
value1=barslast(close=highest(close,100));
if close=highest(close,100) and value1[1]>60
then condition2=true;//股價創近來新高

if summation(GetField("法人買賣超張數"),10)>500
then condition3=true;//法人支持

if summation(GetField("強弱指標","D"),100)>0
then condition4=true;//股價比大盤強
 
if condition1 and condition2 and condition3
and condition4
and volume>1000


then ret=1;

回測時,我分成兩種出場方式,第一種是買進後持有10天,回測報告如下

062701

我是用有量的中小型股共195檔去回測,這樣的策略雖然勝率只有五成多一點,但多頭市場會穩定獲利,空頭市場只有在反彈時因為加權指數突破20日均線而有些強勢股票會出進場訊號,然後盤不好時個股也會跟著拉回而被停損掉。

由於一開始的腳本我挑的是創60天來新高的股票,所以可能強度不足以抵擋大盤的空頭氣氛 ,所以我把60天改成100天,我的想法是股價都能創100日來新高,就算盤不好,短期應該也會有所表現,從以下的測試報告看來,確實是如此

062702

上面這個回測我是設五天出場,算是短多的概念,但如果不設出場日期呢?

從回測的結果來看,勝率不變,總報酬率更高

062703

我有試著把200天改成300天,結果交易次數,勝率及總報酬率都比200天差

 

所以結論就是

1.在多頭市場時挑股價領先大盤創200天來新高的股票是可以值得留意的

2.這種股票抱到賺一成才走比抱五天就走好

3.如果能更精準的掌握大盤的多空波段,這個策略的勝率會更高

 

 

 

 

脫歐後的交易策略探討~開低殺低後重新站回開盤價的隔日沖勝率

英國脫歐搞得全球股市大跌,短線上,什麼訊號才是止跌訊號,應該是大家比較關心的課題,以前老營業員有個口訣,開低殺低後若站回開盤價之上,可以搶短,我想今天就用實證回測的數據,來跟大家探討,這樣的口訣,到底對不對? 可以應用在什麼樣的股票? 可以應用在什麼樣的情況?

首先當然是先把口訣寫成一個腳本

input:ratio(10,"近十日最小下跌幅度");
if open*1.025<close[1]//開盤重挫
and close>open //收盤比開盤高
and close*(1+ratio/100)<close[9]
//近十日跌幅超過N%
and low*1.01<open
//開低後又殺低
then ret=1;

我用的是日線,首先我先前十天的下跌幅度是訂在10%,持有最大期數訂為兩天,然後我用有量的中小型股票去跑,過去三年的回測報告如下:

062601

我們可以發現,這樣的設定在大盤急挫的時候,還是會虧錢,於是,我就把過去十天的下跌幅度放大到15%,20%,25%,以下是他們分別的回測報告

過去十天跌幅超過15%的股票勝率提高到55%062603

當近十日跌幅超過兩成時,勝率進一步提昇到59.6%

062604

如果把十日跌幅設定在25%,勝率更超過六成,達到63%

062605

不過如果把跌幅再往上拉,勝率反而就下滑了,這樣的現象顯示,對於有量的中小型股而言,隨著大盤的利空而下跌,跌到有一天,開低下殺後,如果能回到開盤價之上且站穩到收盤,隔天有六成以上的機率,還有高點可以獲利了結。

我也試著把這個腳本用權值股去跑,結果我發現效果並不好

062602

顯示賺的時候小賺,賠的時候是大賠,代表權值股逆勢持續拉昇的力道是比較不夠的。

 

值此大盤危疑之際,這個策略的實證數字告訴我們,在操作上,要搶急跌後的短線,有三個原則

1.要有量的中小型股

2.近期要跌的夠慘

3.開低走低後若能站回開盤價且站好站穩

那就有六成的機率明天有比今天收盤價高的價位可以賣。

 

 

 

 

 

 

外盤量異常突出的買進策略

昨天有網友希望我寫外盤量相關的交易策略,我這個標準差魔人第一時間想到的就是用bbnad,試寫了一下,效果還可以,敬呈批閱。

我的思考邏輯是

1.拿外盤量這個欄位來計算(因為用getfield語法,這欄位只support日線以上,所以用日線)

2.計算外盤量佔總量的比重

3.因為一天的暴量有可能是一日行情,所以外盤量比重取三日移動平均

4.拿外盤量比重三日平均算bband

5.如果bbandwidth從底部翻揚,代表從平凡要轉向絢爛

6.如果外般量比重三日平均突破bband上限,代表這個轉向是往多頭轉

根據上述的邏輯,我寫了以下的指標,

var:bv(0),bva(0);
if volume<>0 then 
bv=GetField("外盤量")/volume*100;
bva=average(bv,3);

input:length(20);
variable:up1(0),down1(0),mid1(0),bbandwidth(0);
up1 = bollingerband(bva, Length, 1);
down1 = bollingerband(bva, Length, -1 );
mid1 = (up1 + down1) / 2;
bbandwidth = 100 * (up1 - down1) / mid1;
plot1(up1);
plot2(down1);
plot3(bva);
plot4(bbandwidth);

我用郭董最近講的很豪邁的2317鴻海來作例子

062305

各位可以發現,在郭董說話的前一陣子,外盤買進佔成交量的比重就出現我上面說到的多頭訊號

1.bbandwidth 向上翻揚

2.外盤量三日均線突破bband上限

我就把這個指標改寫成交易策略如下:

var:bv(0),bva(0);
if volume<>0 then 
bv=GetField("外盤量")/volume*100;
bva=average(bv,3);

input:length(20);
variable:up1(0),down1(0),mid1(0),bbandwidth(0);
up1 = bollingerband(bva, Length, 1);
down1 = bollingerband(bva, Length, -1 );
mid1 = (up1 + down1) / 2;
bbandwidth = 100 * (up1 - down1) / mid1;
if bbandwidth cross over 20
and bva cross over up1
then ret=1;

拿這策略拿有量的中小型股去回測半年,一年,兩年及三年,回測報告分別如下:

062301 062302 062303 062304

 

當然這個策略還可以有進一步優化的空間,但初步的結果,應該算是一個可以拿來好好運用的方法。

 

當沖腳本之開高不拉回後的創新高

連著介紹了基金投資,波段操作的一些腳本,結果被同事笑說不食人間煙火,他們說大家既不會選股也看不懂國際財經情勢,最好能介紹那些可以每天當沖的交易策略,只要能賺多賠少,回家前平倉無掛念,這樣才是王道。

為了滿足同事們的需求,接下來我盡量多介紹一些當沖的交易策略,首先要跟大家介紹的當沖策略,它的成形必須具備幾個條件

1.大盤多頭。加權指數5日均線大於20日均線。

2.開高。 開盤價要比昨收價高出2.5%以上。

3.不拉回。開盤後超過一定時間最低價不低於最高價的1.5%

4.創新高。 開高不跌後一旦再創新高就買進。

從分時圖來看,就是類似下面的這張圖

062203

要滿足上述四個條件,我寫的腳本如下:

if barfreq <>"Min" or barinterval<> 1
then raiseruntimeerror("歹勢,本腳本只適用於1分鐘線");

var:count(0);
count=count+1;
if date<>date[1]
then count=1;
 
if GetField("開盤價","D")> GetField("收盤價","D")[1]*1.025
and count>5
and lowest(low[1],count-1)*1.015>highest(high[1],count-1)

and close =highest(high,count)
then ret=1;

這個腳本是用1分鐘線及日線的跨頻率寫成的,其中最重要的概念就是1分鐘線開高後要維持一陣子,我自己實驗的結果,開高後橫盤10分鐘以上再創新高,其勝率比橫盤5分鐘的勝率高

這是最近的多頭走勢裡,橫盤五分鐘以上創新高的回測報告,

062202

如果改成橫盤10分鐘以上,回測的數據如下:

062204撐十分鐘以上

交易次數只比五分鐘的少了一點,在最近一個月裡也是有35次交易的機會,勝率是57.14%,總報酬是17.2%,以當沖策略來看,這樣的數據應該算是很不錯了。

如果把盤整的時間拉長到超過20分鐘,在過去一個月有25次的交易機會,其中16次可以順利獲利了結,勝率是64%,總報酬達19.84%

0622 20

這個策略的迷人之處在於,如果我們把同樣的邏輯用在空頭策略,我們可以寫出下面的放空腳本

if barfreq <>"Min" or barinterval<> 1
then raiseruntimeerror("歹勢,本腳本只適用於1分鐘線");

var:count(0);
count=count+1;
if date<>date[1]
then count=1;
 
if GetField("開盤價","D")*1.025< GetField("收盤價","D")[1] 
and count>10
and lowest(low[1],count-1)*1.015>highest(high[1],count-1)

and close =lowest(low,count)
then ret=1;

這個腳本近一個月的回測報告如下

062205

意思是雖然最近一個月指數是多頭,但用這個策略放空依然是work的

所以我們就可以試著在盤中兩頭都作,這樣不管大盤是拉尾盤還是殺尾盤我們都不用害怕。

以上是第一個當沖的策略腳本,我們下次見