VeighNa量化社区
你的开源社区量化交易平台
MTF
MTF's Avatar
Member
在线
1286 帖子
声望: 77

看报错应该和天勤的TQSDK有关系,换个别的数据服务(或者干错去掉)试试?

在VeighNa Trader主界面中,点击菜单栏的【配置】按钮,修改其中的datafeed相关字段即可

感谢分享!没看出来这种计算方法的额外信息,这个XMA主要的思路是什么呢?

搜了下似乎xlwings也要付费的PRO版本才能跑RTD:https://github.com/xlwings/xlwings/issues/888

操作系统的默认语言是否为中文?

用3.4.0的install.bat试试吧

这个思路方便啊,啥时候跑完了通知一下

通常应该是合成bars推送的条件判断不严谨导致的了

VeighNa Studio直接在www.vnpy.com主页就能下载。

另外Github上的仓库代码从3.0开始就做了模块拆分,具体功能模块自己按需安装即可

        #判断是否平仓
    for vt_symbol in self.vt_symbols:
        target_pos = self.targets[vt_symbol]
        current_pos = self.get_pos(vt_symbol)

        pos_diff = target_pos - current_pos
        volume = abs(pos_diff)
        price = self.last_tick_price[vt_symbol]
        if pos_diff > 0:#开多或平空  
            # price = bars[vt_symbol].close_price   
            if current_pos < 0:
                self.cover(vt_symbol, price, volume)
                self.sig[vt_symbol] = 0

            else:
                self.buy(vt_symbol, price, volume)
                # self.sig[vt_symbol] = 1

        elif pos_diff < 0:
            # price = bars[vt_symbol].close_price
            if current_pos > 0:
                self.sell(vt_symbol, price, volume)
                self.sig[vt_symbol] = 0
            else:
                self.short(vt_symbol,price, volume)
                # self.sig[vt_symbol] = -1

    self.put_event()

看了下你的buy函数调用,只出现在了这个目标仓位交易操作里,on_bars函数头部也调用了cancel_all全撤之前的委托。

之前截图里看不到委托号信息,如果是不一样的话,建议排查下你的on_tick函数里的那个pbg(看着应该是K线合成器?),看看是否同一个时间点重复推送了多次。

排查方式可以在on_bars函数头部,加一个self.write_log(str(datetime.now())),打印输出下on_bars被调用的本地时间

感谢分享!

注意从www.vnpy.com下载安装包,现在名字是VeighNa了

订阅后要等待服务器数据推送过来,才会有行情能get_tick获取到。

所以subscribe后要等一段时间,另外subscribe函数的入参是vt_symbols合约代码列表,而不是单一的合约代码字符串

pip升级下vnpy_datamanager到最新版

DataManager没有提供Tick数据的查看功能(因为数量太大了,UI会卡死),可以直接通过开发接口访问,大概如下:

from vnpy.trader.database import get_database

db = get_database()

ticks = db.load_tick_data(xxx)

其中xxx是你要加载的数据参数(代码、交易所、开始、结束)

贴下具体的策略代码?

策略中不要sleep,会阻塞事件引擎运行,导致整个程序卡顿

如果要启动后就立即恢复的话,还可以在on_tick回调函数下,通过一次性变化的状态量来控制。

否则其实常规的逻辑写法,在第一分钟on_bar走完后应该也会挂出去停止单。

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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