每個策略都有至少 1 個 運行標的,單擊選中開始卡片,即可在右側的屬性欄中看到。
注意:此處的"運行標的1"只是一個代指,只有在後面實盤運行或回測策略時,才會為其選擇真實的標的。
點擊 歷史回測 或者 實盤運行,即可在彈出的參數設置窗口中,選擇 1 個真實的標的作為剛才設置的"運行標的1"。
運行標的的一個重要的作用,就是驅動策略循環運行。因此,這裡還需要設置多久運行一次。
例如:將策略的運行條件設為”蘋果(AAPL.US)每 tick 運行一次“,表示:每當蘋果(AAPL.US)有一條逐筆成交時,都會觸發畫布內卡片的一輪運行。運行的內容是:如果MACD 是金叉,則下單買5000手。
每輪運行結束後,整個策略會等待,直至蘋果(AAPL.US)出現下一條逐筆成交,觸發下一輪運行。
創建策略時,我們可以在畫布中,設置多個運行標的;
在歷史回測或者實盤運行時,也可以添加多個標的組。
那麼,"多個運行標的"和"多個標的組"究竟有什麼區別呢?
以新手任務策略為例,在畫布的開始框中,設置了 2 個運行標的。
在回測參數設置窗口中,分別將 2 個運行標的賦值為 阿裡巴巴(09988.HK)和騰訊控股(00700.HK)。
此參數表示,阿裡巴巴(09988.HK)和騰訊控股(00700.HK)這2個標的的逐筆成交,都會觸發 新手任務策略的運行。
而且,這2個標的對策略的觸發,是無差別的。無論是哪個標的的逐筆觸發,新手任務策略內部的判斷邏輯,都是用阿裡巴巴(09988.HK)的MACD作為條件,下單騰訊控股(00700.HK)。
通過上面的例子,相信大家已經理解,在 1 個運行標的組內的,不同運行標的的作用。
如果進一步對 新手任務策略,再添加 1 個運行標的組,並分別將 2 個運行標的賦值為 蘋果(AAPL.US)和谷歌(GOOG.US),策略又將如何運行呢?
設置了多個標的組之後,運行時就相當于將原來的"新手任務策略"複製了一份"新手任務策略-副本"。
阿裡巴巴(09988.HK)和騰訊控股(00700.HK)的逐筆成交,只會觸發"新手任務策略"的運行;蘋果(AAPL.US)和谷歌(GOOG.US)的逐筆成交,只會觸發"新手任務策略-副本"的運行。
"新手任務策略"和"新手任務策略-副本"的運行是相對獨立的,但會共用同一個賬戶(真實賬戶或回測賬戶)中的錢(cash)和貨(股票)。
因此,如果一個策略先把賬戶購買力占用了,另一個策略可能面臨購買力不足無法下單的局面。
我們已經知道,運行標的會驅動策略(畫布中的內容)循環運行。
以馬丁格爾策略為例,策略會在恒指主連(HSImain.HK)開盤期間的每根 1 分 K 開始時運行一次。
那麼,畫布內的卡片,又是按照什麼樣的順序運行的呢?
這個策略從開始卡片出來,共有 3 個出口,對應 3 條路徑。3 條路徑的運行順序,取決于本路徑第一個卡片的位置,越靠上靠左就越優先運行(示例圖中,畫布內的運行順序為:路徑1——>路徑2——>路徑3)。
每條路徑運行完才會走下一條路徑,也就是說:路徑間是串行的,不會同時運行。