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

老师好:
我目前开仓的订单已经隔天了,在OmsEngine的相关函数中:
1、get_all_positions 查到了仓位信息,但这里只是总仓位;
2、get_all_orders 空数据;
3、get_all_trades 空数据。
请问:
由于我的仓位是分次开仓的,现在只能根据 get_all_positions 查到总仓位,有办法查出每次开仓的开仓量、开仓价位、当前的赢利情况吗?
或者说:这些数据,只能自己管理吗? veighNa 本身有相关的函数可以提供吗?

老师好!
我现在是可以访问到: CtpTdApi 中自建的属性,但仍然无法读取合约的保证金数据:
1、我可以访问CtpTdApi中的:reqQryInstrumentMarginRate, reqQryInstrument;

    def query_margin_ratio(self):
        """查询保证金数据"""
        print(f"打印合约数据aaaabbbb")
        margin_ratio_req = {}
        margin_ratio_req['BrokerID'] = self.brokerid
        margin_ratio_req['InvestorID'] = self.userid
        margin_ratio_req['InstrumentID'] = "rb2210.SHFE"
        margin_ratio_req['HedgeFlag'] = THOST_FTDC_HF_Speculation
        self.reqid += 1
        # 请求查询保证金率
        self.reqQryInstrumentMarginRate(margin_ratio_req, self.reqid)
        self.reqQryInstrument(margin_ratio_req, self.reqid)
   2、但CtpTdApi 中,并没有相应的接受函数,甚至然错误处理也没有,这是要我们自己手动添加吗?添加后需要重新编译吗?
   3、我自己手动添加以后,并不能接受到相应的应答消息:
    def onRspError(self, error: dict, reqid: int, last: bool) -> None:
        """请求报错回报"""
        self.gateway.write_error("行情接口报错", error)
        print("行情接口报错", error)

    def onReqError(self, error: dict, reqid: int, last: bool) -> None:
        """请求报错回报"""
        self.gateway.write_error("行情接口报错", error)
        print("行情接口报错", error)

    def OnRspQryInstrumentMarginRate(self, data: dict, error: dict, reqid: int, last: bool) -> None:
        """合约查询回报"""
        print("aaaaa")

这里的: onRspError, onReqError, OnRspQryInstrumentMarginRate 都没有响应。

请问:
1、CtpTdApi 为什么没有相关的错误提示函数?
2、或者:我如何知道访问 reqQryInstrumentMarginRate 到底是参数问题,还是语法问题?目前可以访问,但不报错,也没有任何消息提示;
3、我该如何读取到合约的保证金率数据?

老师好!
请教一个问题,如题:
假设有10万本金,如何能自动计算出这些本金能开某合约(如螺纹主力合约)几手?

description

我按论坛中的方法来访写,但 CtpTdApi 中系统原有的方法都能访问,但自己写的方法无法访问,下面的寻址方法不对吗?正确的方法是什么?
self.cta_engine.main_engine.gateways['CTP'].td_api.query_margin_ratio()

老师好!
我按照您帖子上的提示,想查出帐户信息,但返回是空值:

description

我错在哪里?还请指导!

非常感谢!

老师好!
ctp 接口,有办法自动查询帐户当前的资金情况、开仓情况、合约的保证金率吗?
可以提供相关文档的链接吗?

名称是正确的,就是移除不了

老师好!
期货考虑换约问题,我想定时把策略自动重启一下,重启的方法是把原有的策略移除,根据新的主力合约重新加载一次。
具体代码,是根据上次老师指导的示例,代码如下:

description

  但实际使用过程中,未报错,但策略也未能移除!
  是不是方法用错了?还请老师指导能一下!非常感谢!

老师好:
我想测试一套程序带多个 ctp 帐户,现在在一台电脑上,开多个程序,一个程序对应一个 ctp 帐户,测试是通过的。
我想通过子进程来开启多个 ctp 帐户,ctp 主要逻辑如下:

description

  请问:
  1、如果想启动多个进程,带进行多帐户交易,那么:这个图例中的:主引擎、cta引擎、帐户绑定及初始化,哪些要放在主进程中、哪些要放在子进程中?还是所有的都要放在子进程中?
  2、每个帐户都想交易多个产品,所以程序中每个产品都启动一个策略。我想让这个 ctp 的程序不间断地自动运行下去,当出现主力合约换约时,我如何把原来的策略关掉,重新按新的合约来启动?
  3、或者:想每天固定时间,如:晚上20:30,此时主力合约的换约数据已经采集好,让这个多帐户系统重启一遍,应该如何操作?

老师好!
1、由于我当前的策略逻辑,都安装在 centos 上,显示UI在 windows,也就是说形成 vnpy逻辑与界面的分离。
2、我也想在一台 centos 上,能同时运行多个 ctp 的帐户;
上面的工作,以前在 windows 是可以执行的,但知其然不知其所以然。
今天想手工单项安装 vnpy_ctp ,但一直未能成功,还请想请教指导一下,如何在 centos 环境上单独安装 vnpy_ctp,(并不想完全地安装 vnpy)

管理员好:
  我想用vnpy+ctp接口,实现像海龟那样的仓位管理。
  假设第一次开仓后,orderid = 111;第二次开仓后,orderid = 222
  请问:我可以通过程序化,针对 orderid = 222进行单独的平仓动作吗?

上面的网址打不开来了,请问:用 no_ui 方法,进行策略优化,还请给个范例,或告知参考资料!
谢谢!

老师好:
我用 ChartWidget 画图后,为了分析方便,可能会放大、缩小图形。但一旦有新数据 onbar 后,图形比例就自动复原到默认比例上了,还要重新去修正比例。
请问:有办法把自己临时查看图形的缩放比例固定住吗?

老师好,请问如何调整 ChartWidget 的缩放比例?
我用 ChartWidget 画图后,为了分析方便,可能会放大、缩小图形。但一旦有新数据 onbar 后,图形比例就自动复原到默认比例上了,还要重新去修正比例。

description

macd 的 diff, dea 的确是可能超出正负100,这是文华上的截图。

description

老师好,用您的macd代码,出现超边界现象,此时的 diff, dea 中的一个是走出 -100, 100的。请问这个时候,如何调整?

老师好,您的代码,对我启发和帮助很大,非常感谢!
想在 k 线图上,增加一个 label ,显示 K 线的周期,这个怎么实现,还请指导一下:

description

vnpy 造好了许多轮子,给研发工作带来了极大的方便,感谢 vnpy 和各位群友的分享和智慧!
我想利用 vnpy 做一个多周期联立的分析功能,现在有一个知识点,还请各位老师指导!

description

在 ChartWidget 给出的 K 线图上,我想在趋势线的顶、底分别显示上 high , low 值,像文华财经那样,这个功能如何实现?还请指导!

老师好!
学习您的代码,收益非浅!谢谢您的分享!
从绘图本身可以把您的几个示例,可归纳为两类:
1、Item内容跟 bar 并不是一一对应,如:TradeItem, OrderIte,你是用散点图来绘画的。
2、Item内容与 bar 数据是一一对应的,如:MacdItem, SmaItem等,你是用:line 来绘画的;
我这里还遇到第三种情况,还请老师指导一下,该如何画:
3、我想把K线顶、底连线,在顶、底时,所画的线跟 bar 是对应的;但非顶、底时,并没有相应的数值;而且当前 bar后面的顶、底是何值也无法预估,所以不能通过斜率等方法提前计算。所以这应该是跟你所示例不一样的情况。
请问:我想写一个把顶、底连线的 Item ,用什么方法?

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

沪公网安备 31011502017034号

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