零基礎 極星量化擴充套件一 如何做跨合約的交易

2022-02-05 17:28:03 字數 1116 閱讀 2085

一、前言

最近有個童鞋想用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 成交 在回測時我們使用的是 價...