一、前言
最近有個童鞋想用a合約的訊號來交易b合約,不懂為什麼要這麼做,在實現時發現無論怎麼做都只能發a合約的委託。
其實問題很簡單,這裡就以雙**策略為例,以rb2007為訊號,交易rb2010。這裡說的雙**策略是極星量化自帶的示例策略dma,我們改改。
二、實現
1、訂閱兩個合約
注意這裡先訂閱訊號合約,再訂閱交易的合約。
2、計算ma
需要注意,這裡要忽略第二個合約的**,因為我們只用它下單。在極星裡,如果觸發的合約是a合約,那麼close()返回的就是a合約的**。
其次我們訂閱了歷史資料用以計算ma,所以還得忽略歷史資料,等歷史資料觸發完畢再執行真實的策略。
注意這裡觸發的是a合約,所以ma計算的是a合約的ma。
3、下單
tim_trigger獲取的ma是a合約的,這裡在下單時使用b合約,這就簡單實現了a合約的訊號交易b合約。
三、擴充套件
這裡我們使用a合約訊號交易b合約,而且首先訂閱了a合約,所以a合約是基準合約。有童鞋實踐時發現如果先訂閱b合約,close(contractid1)獲取到的卻是b合約的**。一度讓我以為只能先訂閱a合約,這樣就只能將b合約的成交顯示到a合約的**了。
經過我測試其實並不是這樣,無論先訂閱那裡乙個都是ok的,只是在讀**時必須要將合約、週期寫全才行。
四、總結
這篇實現了跨合約的交易,除了示例的用法,其實還可以用於延時**交易,因為延時行的合約是不能直接交易的,可以用這個辦法來交易,這樣做外盤的童鞋不購買**也能測試策略了。
示例中的完整**:
零基礎 極星量化擴充套件二 尾盤清倉
一 前言 很多童鞋一直有問怎麼尾盤清倉,每次我都根據不同的場景給了一些建議,這裡索性我就彙總一下這些思路,然後給出具體的實現方法,以後再有人問就發這個給他。二 思路 尾盤清倉的兩個重點,第一是尾盤怎麼判斷,第二個是怎麼清倉。清倉其實簡單,幾行 就搞定了,難就難在了尾盤的判斷上,而且不同交易所的交易時...
零基礎 極星量化入門十一 遠端遙控的簡單辦法
一 前言 於是我就想了個比較 土 但也比較容易實現的辦法。簡單來說 1 你得有個部落格,或者任何你可以修改編輯的 網頁 2 在極星量化中,通過requests模組,依然是get上面說的 你可以修改的頁面 3 現在你就可以在極星量化中使用requests讀取到 你可以修改的頁面 內容,你可以寫個 啟動...
零基礎 極星量化入門八 簡單的boll實盤
一 前言 前一篇已經講了boll的回測,那這裡為啥又要說實盤呢?因為實盤執行與回測還是有些區別的。這裡說的實盤是包括實盤模擬和實盤交易的,二者都是利用最新的 做交易,這篇就講一下最近關於實盤的心得。二 修改 整體上實盤的 與回測是差不多的,但是有幾個要點注意和修改。1 成交 在回測時我們使用的是 價...