VNPY中開盤前掛單失效的解決方法

這篇文章將為大家詳細講解有關(guān)VNPY中開盤前掛單失效的解決方法,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),鹽邊企業(yè)網(wǎng)站建設(shè),鹽邊品牌網(wǎng)站建設(shè),網(wǎng)站定制,鹽邊網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,鹽邊網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

在VNPY量化交易平臺中,掛停止單(STOP Order)是交易發(fā)起的常見方式,停止單是至一旦價位到了預(yù)定點位,才啟動交易的訂單。

期貨早盤9點和夜盤9點剛剛開票十分鐘,往往是波動最大的時段,交易機會很多。但是VNPY存在明明應(yīng)該掛著停止單,在開盤時候就沒有了,應(yīng)該是在開盤時刻,所有掛單都是失效了,雖然這些掛單是在VNPY內(nèi)部失效,但是也會失效。具體代碼看了半天,還是沒有找到具體原因。

這里提供一個臨時修補方法。

  1. 定義一個全局策略變量stopOpenOrder, 默認值為False;

    定義個全局變量status,默認值為NA,放在策略判斷交易代碼中,一旦觸發(fā)掛單,更新這個為掛單方向。

    最后把停止單掛單價格也設(shè)為全局變量

     2.覆蓋停止單推送function,一旦有開單,這個stopOpenOrder變?yōu)門rue

    def onStopOrder(self, so):

        """停止單推送"""

        self.writeCtaLog(u'%s阻止單, 品種:%s, 狀態(tài): %s, 方向:%s,價格:%s' % (self.name, so.vtSymbol, so.status, so.orderType, so.price))

        if so.offset == OFFSET_OPEN:

            self.stopOpenOrder = True

        self.putEvent()

    3.覆蓋OnTick function, 如果pos為空,stopOpenOrder == False時候, 如果status是buy 或者short,進行相應(yīng)掛單。

    def onTick(self, tick):

        """收到行情TICK推送(必須由用戶繼承實現(xiàn))"""

        if self.pos == 0 and self.stopOpenOrder == False:

            if self.status == "buy":

                self.buy(self.buyPrice, self.fixedSize, True)

            elif self.status == "short":

                self.short(self.shortPrice, self.fixedSize, True)

        self.bg.updateTick(tick)

在實際測試中,如果符合掛單條件,但是并沒有開出掛單,當?shù)谝粋€tick到來時候,會自動掛單。

關(guān)于VNPY中開盤前掛單失效的解決方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網(wǎng)頁名稱:VNPY中開盤前掛單失效的解決方法
分享路徑:http://muchs.cn/article44/ijcdee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化微信小程序、App設(shè)計、ChatGPT、響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)