VNPY重新啟動後,沒有停止單掛單原因和簡潔解決方法
之前在這個連結裡面,提了vnpy重啟後,比如開盤前開始,即使符合掛單條件,也沒有掛單出現的問題,給了一個比較麻煩的方法。
http://blog.itpub.net/22259926/viewspace-2563701/ 後來研究程式碼,發現原因應該是: 程式用onInit(self) 初始化回放資料,但是此時self.trading 為false,不會發出停止單;而啟動onStart時候,不會重新回放啟動,也就不會有掛單,這樣重啟第一個時間K線是沒有停止單在的。 由於歷史回測是連續的K線,這樣也就是造成回測和實盤差異較大。 之前連結解決方法比較複雜,簡單解決方法就是把回放最後一個bar放在onStart裡面跑,這時候 self.trading 為True,允許掛單 。 1. 修改策略的 onInit(self) ,回放不包括最後一個bar def onInit(self): """初始化策略(必須由使用者繼承實現)""" self.writeCtaLog(u'%s策略初始化' % self.name) # 載入歷史資料,並採用回放計算的方式初始化策略數值 initData = self.loadBar(self.initDays) for bar in initData[:-1]: self.onBar(bar) self.putEvent()2.給onStart加入最後一個bar回放, def onStart(self): """啟動策略(必須由使用者繼承實現)""" initData = self.loadBar(1) bar = initData[-1] self.onBar(bar) self.writeCtaLog(u'%s策略啟動' % self.name) self.putEvent() |
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22259926/viewspace-2565165/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- VNPY中開盤前掛單失效的解決方法
- systemctl 命令在 Linux 中啟動、停止和重新啟動服務Linux
- 簡單幾步解決win10系統msconfig無法啟動的方法Win10
- win10沒有啟動畫面要怎麼解決_win10沒有歡迎介面的解決方法Win10動畫
- VNPY實盤交易中,出現發單成功但是沒有交易情況
- 4.4 停止和重新啟動Oracle Restart進行維護操作OracleREST
- 執行start-dfs.sh後,datenode沒有啟動的解決辦法
- Android6.0動態許可權最簡單的解決方法Android
- win10一直正在重新啟動怎麼辦 win10更新後一直正在重新啟動解決方法Win10
- sudo rosdep init 和 rosdep update 報錯的解決方法(簡單有效!)ROS
- 簡單幾步解決win10控制皮膚裡沒有bitlocker驅動加密器問題Win10加密
- 在遊戲裡新增簡單模式,沒有想象中那麼簡單遊戲模式
- 錄屏為什麼沒有聲音?解決這個問題可簡單了!
- Win10系統開始選單沒有啟動怎麼辦_win10開始選單中找不到啟動資料夾的解決教程Win10
- 伺服器自動重啟的原因及解決方法-VeCloud伺服器Cloud
- 解決 SpringBoot 沒有主清單屬Spring Boot
- Maven工程 服務提供方啟動時沒有Starting ProtocolHandler的 解決方法MavenProtocol
- 成功解決PyCharm 彈出 Server‘s certificate is not trusted 的簡單解決方法PyCharmServerRust
- 啟動和停止任務
- 如何在雙啟動或單啟動模式下重新安裝 Ubuntu模式Ubuntu
- Docker執行基於ubuntu映象的容器後沒有ifconfig和ping的解決方法DockerUbuntu
- VNPY中 Tick級別準高頻交易簡單策略
- 簡單幾步解決win10重灌系統後不能休眠的方法Win10
- 直接分離刪除日誌檔案後附加報錯的簡單解決方法
- win10重啟後會開啟之前沒關的網頁解決方法Win10網頁
- v-selectmenu 更新至 2.0.1 - 簡潔、易用、高定製化的選單解決方案
- 修改單位後 稽核不動 沒結果
- Flutter淘寶App新增啟動圖最簡單實現方法FlutterAPP
- 製作動態圖表,沒有比這個方法更簡單的了
- 使用NVRAM的簡單解決方案VR
- nginx啟動命令和停止命令。Nginx
- 電腦突然沒有聲音了是怎麼回事 電腦突然沒有聲音了的原因及解決方法
- 【OracleEBS】 訂單暫掛問題sql解決OracleSQL
- 用最簡單的例子講解js中解決非同步的方法JS非同步
- ideaIU的簡單安裝和啟用IdeaAI
- 如果沒有熱風槍,如何組合熱縮管的5種簡單方法
- 超簡單的前端跨域、前後端分離解決方案前端跨域後端
- 《劍與遠征》設計思路解讀:“掛機”“簡單”與“單機”