VNPY学习记录十(微信+Vscode)

0

VNPY学习记录十(微信+Vscode) 一、如何将成交信息发到微信 def on_trade(self.trade:TradeData): msg = f" 新的成交,策略{self.strategy_name},方向{trade.direction},开平{trade.offset},当前仓位{self.pos}" self.send_email(msg) 二、多行编辑 全部选定之后,按“ctrl+shift+i”,进入多行编辑。 移到前面,可以给所有……

VNPY源码(八)VNPY的数据流

0

VNPY源码(八)VNPY的数据流 尝试写一下自己理解的吧: 一、接收Tick数据到执行策略的流程: 1.ctaEngine对象向eventEngine中注册EVENT_TICK类型事件的处理函数句柄ctaEngine.processTickEvent 2.CTP的OnRtnDepthMarketData返回tick数据。 3.VNPY在OnRtnDepthMarketData中进行了处理,将data里的数据读取并转化成VtTickData对象,并调用ctpGateway.on……

VNPY源码(七)限价单与停止单

0

VNPY源码(七)限价单与停止单 这是VNPY中的一个难点,特别是停止单,相信很多人学了vnpy很久,还是没有搞懂。 一、什么是限价单?什么是停止单? 我们先来看看官方的回答吧: 问:请问backtesting里的cross_limit_order和cross_stop_order什么意思?是干什么用的? 答:撮合限价单委托,撮合本地停止单(条件单)委托。讲最新的行情K线或者TICK和策略之……

VNPY源码(六)BacktesterEngine回测引擎

0

VNPY源码(六)BacktesterEngine回测引擎 提示: 回测时最好使用脚本,使用UI界面回测经常出错了啥提示也没有,让你抓狂。 首先看看回测引擎的代码: from vnpy.app.cta_strategy.backtesting import BacktestingEngine from vnpy.app.cta_strategy.strategies.boll_channel_strategy import BollChannelStrategy from datetime import datetime engine ……

VNPY源码(五)CtaEngine实盘引擎

0

VNPY源码(五)CtaEngine实盘引擎 CtaEngine引擎是策略的容器,它启动的时候会将所有的策略都加载进来。 在no_ui的run.py里面, SETTINGS["log.active"] = True SETTINGS["log.level"] = INFO SETTINGS["log.console"] = True ctp_setting = { "用户名": "", "密码": &q……

VNPY源码(四)DataRecorder

0

VNPY源码(四)DataRecorder 一、源码 """ 注册EVENT_TICK、EVENT_CONTRACT,当有EVENT_TICK的时候,调用process_contract_event函数(其实就是record_tick函数), 将task put到queue 通过run函数,从self.queue获得task(Tick、Bar),调用database_manager的方法储存数据 """ from threading import Thread ……

VNPY源码(三)MainEngine及SubscribeRequest

0

VNPY源码(三)MainEngine及SubscribeRequest 负责所有引擎的实例化。 一、源码 位于C:\vnstudio\Lib\site-packages\vnpy\trader\engine.py下面。这个文件下面有:MainEngine、BaseEngine(ABC)、LogEngine(BaseEngine)、OmsEngine(BaseEngine)、EmailEngine(BaseEngine)共5个Engine。我们先学习MainEngine。 所有的gateway都放在self.gateways字典里面,对应vnpy UI……

VNPY源码(二)API获取行情和script_trader

0

VNPY源码(二)API获取行情和script_trader 一、init_cli_trading init_cli_trading位于C:\vnstudio\Lib\site-packages\vnpy\app\script_trader下面的cli.py文件中,这个文件夹下面还有其他的文件,但是通过 from vnpy.app.script_trader import init_cli_trading就可以导入进来了。 在C:\vnstudio\Lib\site-packages\vnpy\gateway\ctptest新建test.py文件。 from……

VNPY源码(一)CTP封装及K线合成

0

VNPY源码(一)CTP封装及K线合成 一、接收行情、并由Tick生成1分钟K线的Demo # -*- coding: utf-8 -*- import thostmduserapi as mdapi class CFtdcMdSpi(mdapi.CThostFtdcMdSpi): tapi='' def __init__(self,tapi): mdapi.CThostFtdcMdSpi.__init__(self) self.tapi=tapi def OnFrontConnected(self) -> &q……