當信號持續滿足時,策略可能會重複執行下單事件。
如何實現每次信號只買 或 賣一次呢?下面介紹兩種最簡單的方法。
如果下單控件使用的是可以快速成交的訂單類型(例如:市價單),此時可以通過持有數量來間接判斷開倉/平倉是否成功。
● 如果標的的持有數量 > 0,則證明已開倉成功,此時將直接走平倉條件路徑;
● 如果該標的持有數量 = 0,則證明已平倉成功或未開倉,此時將走開倉條件路徑。
注意:此方法要求訂單必須快速成交,否則仍可能出現重複下單的情況。
如果下單控件使用的是不一定快速成交的訂單類型(例如:限價單),此時可以通過新建數值型全局變量作為計數器,來標記是否下過訂單。
第一步:我們在開始——屬性——全局變量 處新建一個計數器 "a",用于標記是否下過買/賣單。
根據以上規則,"a" 的初始值記為 0(表示未下過單)。
第二步:我們需要在策略開始運行的時候,優先對 "a" 和持有數量進行判斷:
● 如果 "a" = 0,且持有數量 = 0 時,表示未下過單且沒有持倉,此時直接走開倉條件路徑;
● 如果 "a" = 1,且持有數量 > 0 時,表示下過買單且有持倉(買單已成交),此時直接走平倉條件路徑;
● 如果 "a" = -1,且持有數量 = 0 時,表示下過賣單且沒有持倉(賣單已成交),此時直接開倉條件路徑。
第三步:在下單控件後增加賦值事件,對 "a" 重新賦值:
● 平倉條件路徑:將 "a" 重新賦值為 -1,標記為下過賣單。
● 開倉條件路徑:將 "a" 重新賦值為 1,標記為下過買單。
這裡介紹兩種下單場景:固定手數下單 和 現金比例購買。
如果您需要交易固定數量的標的,只需要在下單事件的 "數量" 參數中選擇 "股數",並輸入數值即可。
如果您需要按照賬戶的倉位比例進行交易(例如:現金可買的100%),只需要在下單事件的 "數量" 參數中選擇 "現金可買",並輸入百分比即可。
不同用戶對于信號觸發買賣的時機有個性化的需求,下面介紹兩種監控信號的方式:實時 Tick 觸發 和 K線收線觸發。
如果您希望每個逐筆成交都進行信號監控,只需要在實盤/回測的參數設置中,選擇 "每 Tick 運行一次"。
如果您希望僅在 K 線收線後,進行信號監控,只需要在實盤/回測的參數設置中,選擇對應周期的 K 線觸發運行。
本內容僅用作提供信息及教育之目的,不構成對任何特定證券或投資策略的建議或認可。本內容中的信息僅用於說明目的,可能不適用於所有投資者。本內容未考慮任何特定人仕的投資目標、財務狀況或需求,並不應被視作個人投資建議。建議您在做出任何投資於任何資本市場產品的決定之前,應考慮您的個人情況判斷信息的適當性。過去的投資表現不能保證未來的結果。投資涉及風險和損失本金的可能性。moomoo對上述內容的真實性、完整性、準確性或對任何特定目的的時效性不做任何陳述或保證。