2009年9月15日 星期二
HTS「戰略合成」的初步理解
HTS裡的「戰略合成」這個東西,本來我一直覺得是個黑盒子,隨便的把幾個做好的買賣訊號丟給它,就幫你生出一個新的買賣訊號出來,完全不曉得它是怎麼生的?
最近,我自己做了幾次實驗,我想我大約知道戰略合成是怎麼搞「合成」了。
假設你自己有兩個買賣訊號:A訊號、B訊號。過去日盛對外教學最多的應該就是一個交易策略去跟一個停損的合成。總之,其實戰略合成就是按照你要合成的買賣訊號的"依序"跑一遍。而其中所有的數值,包含在買賣訊號中所使用的變數或是MarketPosition、BarsSinceEntry等等這些的依序產生後果做最後的輸出,如此而已。
看看以下兩個相同的買賣訊號只是合成時置放的順序不同,就會得到不一樣的結果。
其實,我們可以把兩個買賣訊號的程式碼,除了宣告參數、變數的區域必須放在最開始處之外,只要把程式碼Copy放在統一個買賣訊號內其實就可以得到一樣的結果了。簡單說,當你使用戰略合成把A+B合成為一個策略的效果跟把A程式碼+B程式碼來得到一個新的C程式碼,會是一樣的效果。而也就是說戰略合成B訊號+A訊號,與複製B程式碼+A程式碼得到所新的D訊號的效果是一樣的。
就像這樣:
以及這樣:
戰略合成就像是在幹上面這兩張圖這樣的事情。也因為如此,我已經把我之前那個合成而來的程式真的"合成"在一個買賣訊號裡,而不需要用「戰略合成」了,畢竟這樣的方式還是我比較熟悉而容易控制的。
至於是不是所有被用來戰略合成的訊號經過順序調動,就會得到不一樣的結果?我的實驗結果是:不一定。反正不使用戰略合成,自己把程式碼Copy and Paste到一個新的買賣訊號裡,做前後調動就知道影響是什麼了,效果是一樣的。但是有一點是永遠重要的,你得知道這樣新組成的程式在做什麼,自己還是得對其中的邏輯有所掌握。
熱門文章
-
這個秘密我過去只在課程或是講座中才會提。今天把它公開,為什麼我以前下大台,到了近年卻下起小台來了。理由就是...這是天上掉餡餅的好事啊!不費吹灰之力就可以提昇自己的交易系統績效的期望值,何樂而不為! 首先,你應該會覺得小台的手續費比大台貴,怎麼可能不下大台改去下小台?簡...
-
在 MultiCharts 裡,本來我以為 EntryPrice(0) 就代表了最後一個進場的成本價,經過測試後,確定了 EntryPrice( 0 ) 不是最後一次進場價,而是最後進場方向的第一筆價格(可查閱"程式交易語法大全 page 255")。什麼意思...
-
這一篇講的是如何把交易系統的倉位訊號在結算日清空部位,但是在隔天建立同方向且口數相同的訊號。也就是說,如果你的交易系統是屬於持有口數會變化的那種的話,就會需要(適用)以下這種方式。 這個方式會讓你的系統有結算日當天最後一根的K棒沒有部位,因為每個人所採用的週期時間不同,所以清...
-
在 myCTA 的基礎上,我有把這個基礎擴展到多商品,過去曾經有極為少數的幾位朋友上過 myCTA 多商品版本的的課程(當時取名為 SmartCTA),但後來就不再開課,coding 難度實在太高了~ 因為要交易多商品,造成在下單設定上的困擾。當你要同時交易 50、100、20...