实盘中在vnpy多策略多交易对交易

多策略多交易对交易的好处不多说,最终目的就是提高收益。

在.vntrader文件夹目录下打开箭头所示的cta_strategy_setting.json文件

然后把下图框框内容复制帖到箭头位置就可以了,注意修改下交易对vt_symbol信息,和交易策略名称。

 

 这样就可以同一策略执行不同的交易品种了。记得重启程序在实盘中会看到多了刚添加的交易对。

 

好的,下面是一个使用vnpy写的双均线交易策略的示例代码: ```python from vnpy.app.cta_strategy import ( CtaTemplate, TickData, BarData, TradeData, OrderData, BarGenerator, ArrayManager ) class DoubleMaStrategy(CtaTemplate): """""" author = "vnpy" # 策略参数 fast_window = 10 slow_window = 20 fixed_size = 1 # 策略变量 pos = 0 fast_ma = 0.0 slow_ma = 0.0 ma_trend = 0 # 参数列表,保存了参数的名称 parameters = ["fast_window", "slow_window", "fixed_size"] # 变量列表,保存了变量的名称 variables = ["pos", "fast_ma", "slow_ma", "ma_trend"] def __init__(self, cta_engine, strategy_name, vt_symbol, setting): """""" super().__init__(cta_engine, strategy_name, vt_symbol, setting) self.bg = BarGenerator(self.on_bar) self.am = ArrayManager() def on_init(self): """""" self.write_log("策略初始化") self.load_bar(10) def on_start(self): """""" self.write_log("策略启动") def on_stop(self): """""" self.write_log("策略停止") def on_tick(self, tick: TickData): """""" self.bg.update_tick(tick) def on_bar(self, bar: BarData): """""" self.cancel_all() am = self.am am.update_bar(bar) if not am.inited: return # 计算快慢均线 self.fast_ma = am.sma(self.fast_window) self.slow_ma = am.sma(self.slow_window) # 判断交叉 if self.fast_ma > self.slow_ma and self.ma_trend <= 0: self.buy(bar.close_price+5, self.fixed_size) self.ma_trend = 1 elif self.fast_ma < self.slow_ma and self.ma_trend >= 0: self.sell(bar.close_price-5, self.fixed_size) self.ma_trend = -1 self.put_event() def on_trade(self, trade: TradeData): """""" self.put_event() def on_order(self, order: OrderData): """""" self.put_event() def on_stop_order(self, stop_order: StopOrder): """""" self.put_event() ``` 以上代码现了一个简单的双均线交易策略,当快均线(10日均线)上穿慢均线(20日均线)时,做多开仓;当快均线下穿慢均线时,平掉全部仓位。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_40686234

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值