咨詢內容:
能否給stop order 觸發后生成的market order加一個stoporderid的屬性?
@資深技術02
主要還是之前咱們說過很多次的問題。我需要用stop order止損,并且根據觸發狀態在on_order()里后續操作。且我有若干個不同策略在同一個合約上跑,所以我需要知道成交的單子是哪個策略發出的。
按照你的第一個建議我可以掛單的時候用一個List把orderid存起來,成交的時候再比對即可。但是由于我掛的是stop order,最后觸發的是market order,所以這樣做匹配不上。。
根據你后來的的建議自己用timer寫stop order,但是我用了一段時間發現這樣我不好track我所有的掛單。解決這個問題我還要再自己建立一個文檔,把所有沒成交的訂單記錄下來。遠不如直接用你們的stoporder,我直接在賬戶窗口就一目了然可以看到所有訂單。
所以你們如果能在新版本把market order新加一個stoporderid的property(如果這個market order是由stoporder 觸發生成的),這樣我直接用第一種方法就可以完全滿足我的需求,不用再自己寫很多還容易出bug。不知是否可行?
?
?來源: www.kzuj.com.cn
金字塔資深技術:
這個功能不好做啊,訂單id是報出去后收到的,對于沒有報單情況下怎么能知道id是多少呢??
我們后面想想看如何在沒有報單情況下獲得這個訂單id
技術交流:資深技術02 發表于 2022-1-24 14:11
這個功能不好做啊,訂單id是報出去后收到的,對于沒有報單情況下怎么能知道id是多少呢??
我們后面想想 ...
emm..我是這么想的哈:
我發出一個stop order
stoporderid = buy_open(price,volume, "stop")
這個Stoporderid是你們本地的一個隊列的序號。
然后當最新成交價格超過price的時候,系統應該是立刻發出一個market order。那么做這個操作的時候就順帶把stoporderid保存到這個order object里就可以了把。之后這個market order的狀態每次改變我都可以把這個stoporderid讀取出來,就能知道是哪個策略發出的了。
這樣理解有沒有什么問題?我之前用vnpy這個功能就是有的。
?
技術交流:
也可能我想當然了。。
反正現在是用第二種辦法,然后我是創建了一個json file,每次掛單我就寫入這個文件,成交了再讀取刪除。之前說的老卡住的bug好像就是這個功能導致的。。但我現在也沒查出bug在哪。。。所以要是有這個功我就太方便了