VeighNa量化社区
你的开源社区量化交易平台
VNPie's Avatar
Member
离线
10 帖子
声望: 0

如果数据库有数据则不再 请求jqdata是吗
发现有一个机器的vnpy有订阅了IF2001.CFEEX
但没有开启订模块的窗口,是不是要vnpy 启用就会自动录下
此前添加的要录制的合约,即使没有开启录制窗口

description

sp 之类的价差合约没法订阅
在策略中能直接交易这些 合约吗,会有tick推送吗

回测那有个数据下载框,但只能选择k线周期的,
有下载tick数据入口吗

这是oom吗
description

前一天挂停止单,没成交的,收盘关闭vnpy ,第二天
重启 vnpy 停止单还在吗

当价格变化太快时,一根k线的价格变化分别满足两个不同价格的平仓条件时
,回测引擎是不是把其中一个平当成了开, 日志显示一个开仓,平仓有两个
def on_15min_bar(self, bar: BarData):
""""""
self.cancel_all()

    am = self.am
    am.update_bar(bar)
    if not am.inited:
        return

    self.boll_up, self.boll_down = am.boll(self.boll_window, self.boll_dev)
    self.boll_mid = am.sma(self.boll_window)
    self.atr_value = am.atr(self.atr_window)

    if self.pos == 0:
        self.buy(self.boll_up, self.fixed_size, True)
        self.short(self.boll_down, self.fixed_size, True)

        self.intra_trade_high = bar.high_price
        self.intra_trade_low = bar.low_price



    elif self.pos > 0:
        if bar.close_price <= self.boll_mid:
            self.sell(bar.close_price - 5, abs(self.pos))

        self.intra_trade_high = max(self.intra_trade_high, bar.high_price)
        self.intra_trade_low = bar.low_price

        self.long_sl = self.intra_trade_high - self.atr_value * self.atr_multiplier
        self.sell(self.long_sl, abs(self.pos), True)

    elif self.pos < 0:
        if bar.close_price >= self.boll_mid:
            self.cover(bar.close_price + 5, abs(self.pos))

        self.intra_trade_low = min(self.intra_trade_low, bar.low_price)
        self.intra_trade_high = bar.high_price

        self.short_sl = self.intra_trade_low + self.atr_value * self.atr_multiplier
        self.cover(self.short_sl, abs(self.pos), True)

    self.put_event()

回测日志:
trade: Direction.SHORT Offset.OPEN 1 BACKTESTING.1
trade: Direction.LONG Offset.CLOSE 2 BACKTESTING.2
trade: Direction.LONG Offset.CLOSE 3 BACKTESTING.3
trade: Direction.SHORT Offset.CLOSE 4 BACKTESTING.4
trade: Direction.LONG Offset.OPEN 5 BACKTESTING.5
trade: Direction.SHORT Offset.CLOSE 6 BACKTESTING.6
trade: Direction.LONG Offset.OPEN 7 BACKTESTING.7

在回测计算盈亏时,我们设置的滑点和手续费
,一个单由开仓到平仓
是只减掉一边的滑点和手续费
还是开平两边都减掉了滑点和手续费

统计开仓后的最高低最低价
(
intra_trade_hight
intra_trade_low
)
源码的写法是不是有误
统计范围包括了成交前那一根k线了

def on_15min_bar(self, bar: BarData):
""""""
self.cancel_all()

    am = self.am
    am.update_bar(bar)
    if not am.inited:
        return

    self.boll_up, self.boll_down = am.boll(self.boll_window, self.boll_dev)
    self.boll_mid = am.sma(self.boll_window)
    self.atr_value = am.atr(self.atr_window)

    if self.pos == 0:
        self.buy(self.boll_up, self.fixed_size, True)
        self.short(self.boll_down, self.fixed_size, True)

        self.intra_trade_high = bar.high_price
        self.intra_trade_low = bar.low_price

    elif self.pos > 0:
        if bar.close_price <= self.boll_mid:
            self.sell(bar.close_price - 5, abs(self.pos))

        self.intra_trade_high = max(self.intra_trade_high, bar.high_price)
        self.intra_trade_low = bar.low_price

        self.long_sl = self.intra_trade_high - self.atr_value * self.atr_multiplier
        self.sell(self.long_sl, abs(self.pos), True)

    elif self.pos < 0:
        if bar.close_price >= self.boll_mid:
            self.cover(bar.close_price + 5, abs(self.pos))

        self.intra_trade_low = min(self.intra_trade_low, bar.low_price)
        self.intra_trade_high = bar.high_price

        self.short_sl = self.intra_trade_low + self.atr_value * self.atr_multiplier
        self.cover(self.short_sl, abs(self.pos), True)

    self.put_event()
© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】