EasyTrader ArtNo 050
Range Break 區間突破交易系統這是一個古老的系統,相信所有寫程式交易的練習題都有作過,它基於價格的擴張,收縮特點,來建立買賣信號。
1.交易的時間週期為日線圖.
2.波動率VE=昨日高點-昨日低點
3.設立買入/停損指令:買入價=開盤價+0.7*波動率。停損價=買入價-0.5*波動率
4.設立賣出/停損指令:賣出價=開盤價-0.7*波動率。停損價=賣出價+0.5*波動率
{原作為日線交易 ,改為 150分K 留倉 ,來回成本 1200 ,回測期間 2001~2013/10/31}
inputs: LongEntryR(0.7),LongExitR(0.5),ShortEntryR(0.7),ShortExitR(0.5),HLRange(100) ;
Vars: VE(0);
if date <> date[1] then Begin
if DataCompression > 1 then VE = High[1]-Low[1]
else VE = HighD(1)-LowD(1) ;
end;
if VE > HLRange and VE < 240 then Begin {我先加了這行 濾網}
Buy at Open + VE*LongEntryR stop ;
ExitLong at Open - VE*LongExitR stop ;
Sell at Open-VE*ShortEntryR stop ;
ExitShort at Open+VE*ShortExitR stop;
end;
有機會找其他策略合作搭檔喔!
Vars: VE(0);
if date <> date[1] then Begin
if DataCompression > 1 then VE = High[1]-Low[1]
else VE = HighD(1)-LowD(1) ;
end;
if VE > HLRange and VE < 240 then Begin {我先加了這行 濾網}
Buy at Open + VE*LongEntryR stop ;
ExitLong at Open - VE*LongExitR stop ;
Sell at Open-VE*ShortEntryR stop ;
ExitShort at Open+VE*ShortExitR stop;
end;
有機會找其他策略合作搭檔喔!
如果將昨日周規則變成濾網加入,改為15分鐘的回測可以獲得以下的結果
哇!! 又是一個有機會上戰場的策略 , 這告訴我們在策略撰寫學習的過程,不需要一成不變,濾網可以是策略,進出場規則也可以成濾網,就看讀者如何發揮創意囉 !
程式碼如下:(特別的顏色是與上述不同 , 有修改的部份 )
inputs: LongEntryR(0.7),LongExitR(0.5),ShortEntryR(0.7),ShortExitR(0.5),HLRange(100) ;
Vars: VE(0);
if date <> date[1] then Begin
if DataCompression > 1 then VE = High[1]-Low[1]
else VE = HighD(1)-LowD(1) ;
end;
if VE >= HLRange and VE < 240 then Begin
if Open + VE*LongEntryR > MaxList(HighW(1),HighW(0)) then
哇!! 又是一個有機會上戰場的策略 , 這告訴我們在策略撰寫學習的過程,不需要一成不變,濾網可以是策略,進出場規則也可以成濾網,就看讀者如何發揮創意囉 !
程式碼如下:(特別的顏色是與上述不同 , 有修改的部份 )
inputs: LongEntryR(0.7),LongExitR(0.5),ShortEntryR(0.7),ShortExitR(0.5),HLRange(100) ;
Vars: VE(0);
if date <> date[1] then Begin
if DataCompression > 1 then VE = High[1]-Low[1]
else VE = HighD(1)-LowD(1) ;
end;
if VE >= HLRange and VE < 240 then Begin
if Open + VE*LongEntryR > MaxList(HighW(1),HighW(0)) then
Buy at Open + VE*LongEntryR stop ;
Sell at Open - VE*LongExitR stop ;
if Open-VE*ShortEntryR < MinList(LowW(1),LowW(0)) then
if Open-VE*ShortEntryR < MinList(LowW(1),LowW(0)) then
Sell at Open-VE*ShortEntryR stop ;
Buy at Open+VE*ShortExitR stop;
end;
---------------------------------------------------------------------------------------------------------
過去在作同商品不同週期 以及不同商品相關性的濾網研究中,開發了一個如意多空網,我也將它拿來在此應用作不同時間週期的測試如下:
inputs: LongEntryR(0.7),LongExitR(0.5),ShortEntryR(0.7),ShortExitR(0.5),HLRange(100) ;
Vars: VE(0);
MP = MarketPosition ;
if DAYofMonth(Date) > 14 and DAYofMonth(Date) < 22 and DAYofWeek(Date)= 3 then isBalanceDay = True else isBalanceDay =False ;
if date <> date[1] then Begin
if DataCompression > 1 then VE = High[1]-Low[1]
else VE = HighD(1)-LowD(1) ;
end;
Buy at Open+VE*ShortExitR stop;
end;
---------------------------------------------------------------------------------------------------------
過去在作同商品不同週期 以及不同商品相關性的濾網研究中,開發了一個如意多空網,我也將它拿來在此應用作不同時間週期的測試如下:
inputs: LongEntryR(0.7),LongExitR(0.5),ShortEntryR(0.7),ShortExitR(0.5),HLRange(100) ;
Vars: VE(0);
MP = MarketPosition ;
if DAYofMonth(Date) > 14 and DAYofMonth(Date) < 22 and DAYofWeek(Date)= 3 then isBalanceDay = True else isBalanceDay =False ;
if date <> date[1] then Begin
if DataCompression > 1 then VE = High[1]-Low[1]
else VE = HighD(1)-LowD(1) ;
end;
if VE > HLRange and VE < 240 then Begin
if _MagicQF001(1) > 0 then Buy at Open + VE*LongEntryR stop ;
if _MagicQF001(1) > 0 then Buy at Open + VE*LongEntryR stop ;
再請教版主...TS的"Buy at Open + VE*LongEntryR stop;" = MC的"Buy next bar at Open + VE*LongEntryR stop;"??
回覆刪除因為手邊沒有TS,麻煩版主了...謝謝!!
我手邊沒有MC
刪除