首先,这个策略继承了一个叫做CtaTemplate的父类,然后设定了策略的名称和作者。这里,在nvpy的框架下,策略的className要和策略的类名一样。 vnpy作者的例子中,喜欢用类变量来设置一些策略的参数,个人觉得其实不是很合适。Vnpy中的作者的demo一般直接在后面会有策略的变量: 代码语言:javascript 复制 atrLength=22# 计...
4、脚本运行 importmultiprocessingimportsysfromtimeimportsleepfromdatetimeimportdatetime,timefromloggingimportINFOfromvnpy.eventimportEventEnginefromvnpy.trader.settingimportSETTINGSfromvnpy.trader.engineimportMainEngineimportvnpy.trader.uifromvnpy_ctpimportCtpGatewayfromvnpy_ctastrategyimportCtaStrategyAppfromvnpy_...
这个比较简单,就是首先加载10根K线作为预加载。因为没有callback函数,所以默认的回调函数就是on_bar on_start和on_stop defon_start(self):"""Callback when strategy is started."""self.write_log("策略启动")self.put_event()defon_stop(self):"""Callback when strategy is stopped."""self.write_log...
同样的,在vnpy/trader/app/ctaStrategy文件夹下面的init文件中,是这样的代码: 代码语言:javascript 复制 from.ctaEngineimportCtaEngine from.uiCtaWidgetimportCtaEngineManager appName='CtaStrategy'appDisplayName=u'CTA策略'appEngine=CtaEngine appWidget=CtaEngineManager appIco='cta.ico' 我们看一下,appEngine...
2.先去看看order和trade是什么样的类,两个都在vtObject.py里面。理论上来说,在tick级别中高频策略,当order和trade发生变化后,使用onOrder/onTrade传递更新给策略;函数onOrder/onTrade里面一般定义一些对应不同状态进行的对应操作。 1) VtTradeData包含是成交的数据,其中最关键就是vtOrderID,可以和之前发送交易返回...
交易精髓在于应变、专注主流与最强、无条件执行交易模型。
vn.py源码解析之dual thrust策略 Dual Thrust 策略 Dual Thrust 策略是 Michael Chalek 在80 年代开发的一种通道突破策略,曾经被Future Thruth杂志评为最赚钱的策略之一, Dual Thrust常常作为一种日内CTA策略或者日间CTA策略。到目前为止,Dual Thrust 仍然在自动化交易系统中排名第二左右。由于其对于多种品种的普适...
在vnpy中也有实现一个基于布林通道的策略,其思想是上面的第三种,它是通过布林通道结合CCI以及ATR指标制定的。其中CCI指标用来超买超卖,ATR指标用来作为止损止盈,布林通道则作为日内突破的上下轨。 1、完整源码 fromvnpy.app.cta_strategyimport( CtaTemplate, ...
vnpyEngineFunction (0)踩踩(0) 所需:1积分 monorepo-npm-template 2025-01-20 11:03:30 积分:1 Cornerstone 2025-01-20 11:03:02 积分:1 金合技术中台 2025-01-20 10:55:09 积分:1 MASA.Blazor 2025-01-20 10:54:32 积分:1 PhotoShip ...
首先,这个策略继承了一个叫做CtaTemplate的父类,然后设定了策略的名称和作者。这里,在nvpy的框架下,策略的className要和策略的类名一样。 vnpy作者的例子中,喜欢用类变量来设置一些策略的参数,个人觉得其实不是很合适。Vnpy中的作者的demo一般直接在后面会有策略的变量: ...