vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 25
声望: 0

Traceback (most recent call last):
File "d:\vnstudio\lib\site-packages\vnpy\trader\ui\mainwindow.py", line 281, in open_widget
widget = widget_class(self.main_engine, self.event_engine)
File "d:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\ui\widget.py", line 37, in init
self.cta_engine.init_engine()
File "d:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\engine.py", line 110, in init_engine
self.load_strategy_data()
File "d:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\engine.py", line 809, in load_strategy_data
self.strategy_data = load_json(self.data_filename)
File "d:\vnstudio\lib\site-packages\vnpy\trader\utility.py", line 99, in load_json
data = json.load(f)
File "d:\vnstudio\lib\json__init.py", line 296, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "d:\vnstudio\lib\json\
init__.py", line 348, in loads
return _default_decoder.decode(s)
File "d:\vnstudio\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "d:\vnstudio\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 4 column 20 (char 53)

Member
avatar
加入于:
帖子: 25
声望: 0

然后,所有整个CTA策略都进不去了。

Member
avatar
加入于:
帖子: 2105
声望: 139

请删除C:\users\administrator.vntrader里对应的json文件,再重启。你这个应该是删除cta_strategy_data.json。如果还报同样的错,建议检查一下策略参数的类型。检查一下策略里是否有把str\bool\int\float以外的变量名,写到了parameters列表中,json文件保存不了这四种基础数据以外的类型,就会出错

Member
avatar
加入于:
帖子: 25
声望: 0

删除重启后好了

Member
avatar
加入于:
帖子: 25
声望: 0

实盘总是报“拒单”,在VNPY里面委托信息提示的,但交易系统里面没看到这个委托。

description

Administrator
avatar
加入于:
帖子: 4646
声望: 266

请看下日志区域的拒单报错信息

Member
avatar
加入于:
帖子: 25
声望: 0

错误代码15,仔细核对咯下委托单,是平多单的时候报错的。语句很简单,看不出啥问题。在demo基础上修改的,其他操作开多开空平空都正常,就是平多总被拒单。

            self.cover(tick.bid_price_1, min(abs(self.lots),self.max_lots))  


description

现在还不会写下单的颗粒度管理

Member
avatar
加入于:
帖子: 2105
声望: 139

不知道修改了哪里,可以在ctp_gateway的send_order函数中打印一下ctp_req,然后用run.py或者在cmd中运行python -m vnstation打开VN Station尝试策略下单和手动下单,看看底层输出的ctp_req有什么不同;
可以检查:开平是否写了、价格是否小数点正确、数量是否为整数、交易所是否选对了

Member
avatar
加入于:
帖子: 25
声望: 0

弱弱的问下,“开平是否写了”啥意思,不直接就是发送cover,平多仓?

看委托信息是显示有:方向:多,开平:平今......

Member
avatar
加入于:
帖子: 25
声望: 0

一打开监控,就可以咯。谢谢!

OrderRequest(symbol='au2106', exchange=<Exchange.SHFE: 'SHFE'>, direction=<Direction.LONG: '多'>, type=<OrderType.LIMIT: '限价'>, volume=1.0, price=360.18, offset=<Offset.CLOSETODAY: '平今'>, reference='CtaStrategy_gold')

Member
avatar
加入于:
帖子: 25
声望: 0

奇怪,为啥CTA策略实盘不会显示委托信息,在主界面的委托/成交信息可以显示出来? 搞得总要切换窗口来看交易信息。

description

Member
avatar
加入于:
帖子: 2105
声望: 139

限价单是委托信息是在主界面显示的,本地停止单委托信息是在CTA策略界面显示的。如果本地停止单被触发,发出超价限价单了,那么这个限价单的委托信息也是在主界面显示

Member
avatar
加入于:
帖子: 25
声望: 0

大神,请问下这个错误信息是什么意思啊?

2021-03-18 10:15:00.500000+08:00 持净仓: 0
QWindowsWindow::setGeometry: Unable to set geometry 1600x893+0+29 (frame:
sWindow" on "\.\DISPLAY1". Resulting geometry: 1600x823+0+29 (frame: 161
70x893 MINMAXINFO maxSize=0,0 maxpos=0,0 mintrack=488,940 maxtrack=0,0)

Member
avatar
加入于:
帖子: 25
声望: 0

今天发现黄金期货au2106挂死了一阵子! 报咯上面错误信息,后面又活过来了。

Member
avatar
加入于:
帖子: 2105
声望: 139

可能是子窗口比父窗口大,导致父窗口resize失败的警告

Member
avatar
加入于:
帖子: 25
声望: 0

description

继续求助大神:
尝试算法交易ArbitrageAlgo,策略执行后,卡在交易主动腿第一步,查看日志信息,提示:“请选择开平方向”

Member
avatar
加入于:
帖子: 25
声望: 0

这个算法交易,在ctp_gateway中打印ctp_req也不会有信息提示,在CMD界面上。

Member
avatar
加入于:
帖子: 214
声望: 7

ArbitrageAlgo算法是没有写开平方向的,可以根据自己的情况进行适当修改。

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号