已修正..請參考隔日沖 - 更正錯誤
所以 文中的第二個方法 請當作笑話看
有一些走勢 會造成隔日跳空
當然 可能新聞造成的影響佔大多數 這就不管了
這兒討論的是 一些K線的排列 可能造成的跳空
這邊 先提一下 我的隔日衝程式是1340進場 隔天開盤出場
在TS寫法如下
if time = 1340.00 and 隔日沖多單條件 then begin
buy("DB") next bar at market;
end;
if time = 1340.00 and 隔日沖空單條件 then begin
sell("DS") next bar at market;
end;
if marketposition > 0 and time = 0850.00 then begin
exitlong next bar at market;
end;
if marketposition < 0 and time = 0850.00 then begin
exitshort next bar at market; stay=0;
end;
以上日目前寫的隔日衝程式 回測總共交易32次
若是要把隔日衝程式加到當衝程式裡 在這提供兩個作法
第一:當沖歸當沖 隔日沖歸隔日沖
這個作法是 到收盤時 若是手中有單 先平倉
然後 再看是否達到隔日沖條件 再決定是否進場
這樣的話 當沖平倉時間要先把1340改成1335
不然在1340時 會做平倉(當沖單)和進場(隔日沖)的動作
難保不會出事 所以把先把時間錯開會比較保險
照這作法 總交易次數=當沖次數+隔日沖次數
以Dream Trade ver4.4為例
總交易次數425次 加上 隔日沖32次 那就是457次
所以程式回測會長這樣
沒錯 是457次
不過 如果手中已經有多(空)單了 然後又有隔日沖多(空)單
幹嘛 要先平倉 然後在建倉 浪費成本嘛!! 所以有第二中方法
第二:留倉,翻單
這種作法是 在快收盤時 已經在判斷隔日沖日否要進場的時候
看看手中 是否有單??
在滿足滿足隔日沖多單條件的時候 檢查
1.手中有多單 多單留到次日開盤平倉
2.空手 直接進場 次日開盤平倉
3.手中有空單 空單翻成多單 次日開盤平倉
在滿足滿足隔日沖空單條件的時候就相反
這樣的話 程式就要改寫了
vars:stay(0);
if time=0850.00 then begin
stay=0;
end;
{ 隔日衝進場 }
if time = 1340.00 and 隔日沖多單條件 then begin
if marketposition > 0 then begin
stay = 1;
end else begin
buy("DB") next bar at market;
stay = 1;
end;
end;
if time = 1340.00 and 隔日沖空單條件 then begin
if marketposition < 0 then begin
stay = -1;
end else begin
sell("SB") next bar at market;
stay = -1;
end;
end;
{ 隔日衝出場 }
if marketposition > 0 and time = 0850.00 then begin
exitlong next bar at market;
end;
if marketposition < 0 and time = 0850.00 then begin
exitshort next bar at market;
end;
{ 當衝出場 }
if marketposition > 0 and time = 1340.00 and stay = 0 then begin
exitlong("ExitB") next bar at market;
end;
if marketposition < 0 and time = 1340.00 and stay = 0 then begin
exitshort("ExitS") next bar at market;
end;
以上 多加了一個stay變數 每天0850歸0
在判斷隔日衝程式 只要滿足條件 stay就會改變
滿足隔日多 手中有多單 則stay = 1;空手或有空單 則下多單且stay = 1
滿足隔日空 手中有空單 則stay = -1;空手或有多單 則下空單且stay = -1
然後再把當沖平倉部份加一個stay=0的判斷 表示沒有觸發隔日沖條件
這樣作 會有翻單或是留倉的動作...
交易次數也會比457次少
來看一下回測
少了2次 獲利多了10萬
455次 313萬 68.13% 最大折返97400 最大損失37600
根DT4.4比一下
425次 291萬 68.24% 最大折返80800 最大損失37200
交易多了30次 獲利多22萬 很不錯
不過 最大折返多了1萬 算了 不管了
所以這就是DreamTrade4.5 Beta
等隔日衝程式寫好一點 就可以上線了