大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频75-大伊香蕉在线精品视频人碰人

您現在的位置:程序化交易>> 程序化交易>> 系統交易>>正文內容

恒溫器Thermostat交易系統-會換檔的交易系統 EASYLANGUAGE語言[系統交易]

引言:

此文介紹「恒溫器交易系統」(Thermostat Trading Strategy)的設計原理,此系統「在趨勢市場中採用順勢系統,在擺盪市場中採用擺盪系統」,系統設計的關鍵在于決定市場類別(順勢或擺盪)的轉折點,此系統使用Choppy Market Index為指標(指標值介于0~100之間,指數越大代表市場越有趨勢)。以此指標判斷,策略系統即可判別市場類別,并引用不同的技術指標。發文者也提供了系統編碼與實證績效結果。

 

正文:

 

因為市場不會永遠存在趨勢,所以才會有人想說希望有一種交易系統可以適用在趨勢市場和擺盪市場。而Thermostat Trading Strategy(恒溫器交易系統)的設計原理,就是在趨勢市場中採用順勢系統,在擺盪市場中採用擺盪系統。有點像是換檔的感覺,而決定換檔時機的指標,就是之前報告過的 ChoppyMarketIndex,這個指標是會介于0-100之間,指數越大,代表現在的市場越有趨勢。整個系統的架構,可以簡化的寫成下面這樣:

 

 

If ChoppyMarketIndex < 20 then begin

擺盪系統內容;

end;

 

If ChoppyMarketIndex >= 20 then begin

順勢系統內容;

End;

 

 

架構就是這麼簡單而已,剩下的只是把擺盪系統和順勢系統的內容放進去這個架構裡面而已。順勢系統的內容主要是延續使用 Bollinger Bandit系統的內容,而擺盪系統則是加上的簡單的型態識別(pattern recognition)的開盤區間突破系統而已。下面分別就這兩種系統作報告:

 

 (轉自 http://m.weiqiv.net.cn/2016/04/08/35134.shtml

擺盪系統:

在擺盪市場中,通常會存在一種現象,就是如果今天價格上漲的話,那麼明天的價格就比較傾向于會下跌。而今天價格如果下跌的話,那麼明天的價格就比較傾向于上漲,而這也正是擺盪市場的特性。所以我們定義如果今天的收盤價如果高于昨天的 (最高價+最低價+收盤價) / 3的話,那麼明天就會一個 sell easier day,代表明天價格應該會比較傾向下跌。相反的,我們也定義如果今天的收盤價低于昨天的 (最高價+最低價+收盤價) / 3的話,那麼明天就會是一個buy easier day,代表明天價格應該會比較傾向上漲。

 

 

在buy easier day的時候,只有代表著價格比較具有上漲的可能性而已,并不是指價格一定會上漲。所以我們必須設定做多和做空這兩邊的entry,只是這兩邊entry的門檻不一樣而已,做多的門檻比較低,比較容易。反而做空的門檻比較高,比較難。所以在buy easier day的時候,我們會設定進場的規則是這樣的:

 

Initiate a long position at the open price + 50% of the ten-day average true range.

Initiate a short position at the open price - 75% of the ten-day average true range.

 

 

而如果是sell easier day的話,那我們則會把進場的規則設為這樣:

 

Initiate a short position at the open price - 50% of the ten-day average true range.

Initiate a long position at the open price + 75% of the ten-day average true range.

 

 

而在擺盪市場中,有時候市場會有假的,失敗的波動,這種假的波動常常會讓我們被巴來巴去,所以這裡我們加入了一個簡單的濾網來避免這種情形。如果我們的buy stop 低于三天的最低價的平均,則就把buy stop提高到三天的最低價的平均。而如果我們的sell stop高于三天最高價的平均,則把sell stop下降到三天最高價的平均。( www,cxh99.com )

 

 

 

順勢系統:

如果當ChoppyMarketIndex的指標高于20的時候,代表現在市場進入趨勢了,所以我們也跟著改用順勢系統。這裡我們所採用的順勢系統就是之前報告過的Bollinger Bandit系統。當價格突破上通道的時候建立多頭部位,當價格跌破下通道的時候則建立空頭部位。而當有部位在手上的時候,而價格回到50天移動平均線的時候,我們就平倉出場。

 

 

而當這個系統在擺盪和趨勢這兩種模式當中轉換的時候,有時候會有部位在手上。當從趨勢市場轉換成擺盪市場的時候,如果有在趨勢市場當中建立的部位,則我們就讓擺盪系統的進場訊號發生的時候才來結束這個部位。但是當市場從擺盪市場變成趨勢市場的時候,如果我們有在擺盪市場裡面建立的部位的話,那麼我們就用三倍ATR的保護性停損來保護我們的部位。因為如果要用50天移動平均線才讓我們出場的話,那可能會讓我們保留這個錯誤的部位太久而造成太多的損失。

 

 

下面就是這個系統的程式碼:

 

 

 

{Thermostat by George Pruitt

Two systems in one. If the ChoppyMarketIndex is less than 20 then we are in a

swing mode. If it is greater than or equal to 20 then we are in a trend mode.

Swing system is an open range breakout incorporating a buy easier/sell easier

concept. The trend following system is based on bollinger bands and is

similar to the Bollinger Bandit program.}

 

Inputs: bollingerLengths(50),trendLiqLength(50),numStdDevs(2),swingPrcnt1(0.50),swingPrcnt2(0.75),atrLength(10),swingTrendSwitch(20);

 

Vars:cmiVal(0),buyEasierDay(0),sellEasierDay(0),trendLokBuy(0),trendLokSell(0),keyOfDay(0),swingBuyPt(0),swingSellPt(0),trendBuyPt(0),trendSellPt(0),swingProtStop(0);

 

cmiVal = ChoppyMarketIndex(30);

buyEasierDay = 0;

sellEasierDay = 0;

 

trendLokBuy = Average(Low,3);

trendLokSell= Average(High,3);

 

keyOfDay = (High + Low + Close)/3;

 

if(Close > keyOfDay) then sellEasierDay = 1;

if(Close <= keyOfDay) then buyEasierDay = 1;

 

if(buyEasierDay = 1) then

begin

swingBuyPt = Open of tomorrow + swingPrcnt1*AvgTrueRange(atrLength);

swingSellPt = Open of tomorrow - swingPrcnt2*AvgTrueRange(atrLength);

end;

 

if(sellEasierDay = 1) then

begin

swingBuyPt = Open of tomorrow + swingPrcnt2*AvgTrueRange(atrLength);

swingSellPt = Open of tomorrow - swingPrcnt1*AvgTrueRange(atrLength);

end;

 

swingBuyPt = MaxList(swingBuyPt,trendLokBuy);

swingSellPt = MinList(swingSellPt,trendLokSell);

 

trendBuyPt = BollingerBand(Close,bollingerLengths,numStdDevs);

trendSellPt = BollingerBand(Close,bollingerLengths,- numStdDevs);

 

if(cmiVal < swingTrendSwitch)then

begin

if (MarketPosition <> 1) then Buy("SwingBuy") next bar at swingBuyPt stop;

if(MarketPosition <> -1) then SellShort("SwingSell") next bar at swingSellPt stop;

end

else

begin

swingProtStop = 3*AvgTrueRange(atrLength);

Buy("TrendBuy") next bar at trendBuyPt stop;

SellShort("TrendSell") next bar at trendSellPt stop;

Sell from Entry("TrendBuy") next bar at Average(Close,trendLiqLength) stop;

BuyToCover from Entry("TrendSell") next bar at Average(Close,trendLiqLength) stop;

Sell from Entry("SwingBuy") next bar at EntryPrice – swingProtStop stop;

BuyToCover from Entry("SwingSell") next bar at EntryPrice + swingProtStop stop;

end;

 

 

而下面則是這個系統在1982-2002這20年的績效表現,看來比之前報告的King Kelthner和Bollinger Bandit系統績效來的好。

 

thermostat.JPG
thermostat.JPG (87.89 KiB) 被瀏覽 1235 次

 


有興趣的朋友可以拿來測試一下看看,不過我自己測試了最近幾年的外匯,指數,金屬,能源,農產品等等。發現績效還好而已,所以想要直接拿來套用的人可能會失望了。不過這樣的系統開發的邏輯,倒是可以值得我們學習的。謝謝。

 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友

可聯系技術人員 QQ: 511411198   點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 亚洲国产成人九九综合 | 中国女人和老外的毛片 | 欧美一级毛片免费高清的 | 成人不卡视频 | 九九影院理论片私人影院 | 天天做日日做 | 亚洲精品国产成人专区 | 精品久久久久久中文字幕一区 | 欧美又粗又硬又大久久久 | 五月天丁香六月欧美综合 | 亚洲精品乱码久久久久 | 一级成人毛片 | 在哪里可以看毛片 | 亚洲国产精品免费在线观看 | 色综合激情网 | 97在线观看成人免费视频 | 日本三级带日本三级带黄首页 | 精品少妇一区二区三区视频 | 国产精品美女一区二区 | 国产午夜精品久久久久 | 丁香激情综合色伊人久久 | 亚洲毛片免费在线观看 | 国产www视频| 欧美成人激情在线 | 四虎跳转48小时 | 午夜在线视频一区二区三区 | 99热这里只有免费国产精品 | 国产女人嗷嗷叫 | 四虎官方影库 | 亚洲一区中文字幕 | 女性下面全部视频免费 | 亚洲精品国产字幕久久不卡 | 日本色综合网 | 毛片在线高清免费观看 | 性欧美一级毛片欧美片 | 成人在线不卡视频 | 日本高清免费不卡在线播放 | 欧美日日日 | 中文字幕91 | 久久久久免费视频 | 添人人躁日日躁夜夜躁夜夜揉 |