2009年9月15日

HTS「戰略合成」的初步理解於 14:17

HTS裡的「戰略合成」這個東西,本來我一直覺得是個黑盒子,隨便的把幾個做好的買賣訊號丟給它,就幫你生出一個新的買賣訊號出來,完全不曉得它是怎麼生的?

最近,我自己做了幾次實驗,我想我大約知道戰略合成是怎麼搞「合成」了。

假設你自己有兩個買賣訊號:A訊號、B訊號。過去日盛對外教學最多的應該就是一個交易策略去跟一個停損的合成。總之,其實戰略合成就是按照你要合成的買賣訊號的"依序"跑一遍。而其中所有的數值,包含在買賣訊號中所使用的變數或是MarketPosition、BarsSinceEntry等等這些的依序產生後果做最後的輸出,如此而已。

看看以下兩個相同的買賣訊號只是合成時置放的順序不同,就會得到不一樣的結果。






其實,我們可以把兩個買賣訊號的程式碼,除了宣告參數、變數的區域必須放在最開始處之外,只要把程式碼Copy放在統一個買賣訊號內其實就可以得到一樣的結果了。簡單說,當你使用戰略合成把A+B合成為一個策略的效果跟把A程式碼+B程式碼來得到一個新的C程式碼,會是一樣的效果。而也就是說戰略合成B訊號+A訊號,與複製B程式碼+A程式碼得到所新的D訊號的效果是一樣的。

就像這樣:


以及這樣:



戰略合成就像是在幹上面這兩張圖這樣的事情。也因為如此,我已經把我之前那個合成而來的程式真的"合成"在一個買賣訊號裡,而不需要用「戰略合成」了,畢竟這樣的方式還是我比較熟悉而容易控制的。

至於是不是所有被用來戰略合成的訊號經過順序調動,就會得到不一樣的結果?我的實驗結果是:不一定。反正不使用戰略合成,自己把程式碼Copy and Paste到一個新的買賣訊號裡,做前後調動就知道影響是什麼了,效果是一樣的。但是有一點是永遠重要的,你得知道這樣新組成的程式在做什麼,自己還是得對其中的邏輯有所掌握。

3 意見:

SilentSubmarine 提到...

我之前實驗的結果也是這樣
所以也是copy & paste 到同一個檔案中來處理
這樣透明度比較好

多空不敗 提到...

請問系統會如何處理合成後的文字紀錄檔?

阿政 提到...

多空不敗:

另外做一個訊號,內容就是輸出文字檔那幾行,而真的會影響MarketPosition的買賣訊號檔內則把輸出文字檔的部份都拿掉,然後通通合成在一起,記得把輸出文字檔的那個買賣訊號放最後一個被合成就好。

如果原本的買賣訊號內有輸出文字檔的Code,沒有先拿掉就合成的話,會怎麼樣我也不知道耶。

張貼意見

 
Blogger Template Layout Design by [ METAMUSE ] : Code Name BlackCat 2.0.0