ORB即是Opening
Range Breakout,意思是開盤區間突破,先定義出一個區間,突破此區間進場,收盤前平倉。定義區間的做法會以當天開盤價或開盤時段的高低點作參考。例如以開盤後30 分鐘內的最高價和最低價作為區間,突破開盤後30 分鐘內的最高價進場作多,突破開盤後30 分鐘內的最低價進場作空。另一個做法是以當天開盤價加減一個波動度來作為區間,例如以昨天的最高價減去昨天的最低價再乘以某個百分比作為波動度,上區間線 = 開盤價+波動度,下區間線
= 開盤價-波動度。
以下是第一個做法,假設0845開盤,0915以ah記錄開盤後30 分鐘內的最高價,以al記錄開盤後30 分鐘內的最低價,突破ah進場作多,突破al進場作空。
//30 min K
inputs:beginTime(0915);
vars:ah(0),al(0);
if time=0915 then begin
ah=highd(0);
al=lowd(0);
end;
condition1=time>=beginTime;
if condition1 then begin
buy next bar at ah stop;
sellshort next bar at al stop;
end;
setexitonclose;
以下是第二個做法,以昨天波幅highd(1)-lowd(1) 乘以某個百分比來定義區間,此波幅百分比percentB和percentS可作最佳化尋找合適參數。
inputs:percentB(0.8),percentS(0.9);
vars:range(0);
range=highd(1)-lowd(1);
value1=opend(0)+(range*percentB);
value2=opend(0)-(range*percentS);
if EntriesToday(date)=0 then begin
buy next bar at value1 stop;
sellshort next bar at value2 stop;
end;
if marketposition<>0 then begin
sell next bar at value2 stop;
buytocover next bar at value1 stop;
ORB策略有很多變化版本的,在於怎樣定義波動度。
ORB策略曾經是當沖交易者常用的策略,現在大家都認為ORB策略不可用了。根據筆者的看盤經驗,現在的日內走勢變得隨機,波幅越來越集中在交易時段早段,高開低走和低開高走的頻率増加,導致ORB策略失效。在第一個例子中突破開盤後30 分鐘內的高低價進場,若然開盤後30 分鐘內已涵蓋了大部份當天的升跌幅,開盤後30 分鐘才進場便進在一個不利位置了。現在的市場變得越來越有效率,過往不易出現高開低走和低開高走的情況,平開高走、平開低走、高開高走、低開低走比高開低走和低開高走更普遍,現在各種情況均等。在第二個例子中突破開盤價+-波動度進場,開盤價開很高或很低,導致先高後低或先低後高,這種進場又進在一個不利位置了。