使用场景说明:
为了通过策略研究来跑回测,需要用Buy/Sell等交易函数来执行下单(我记得A函数是不能用在策略研究历史回测的), 在下单的时候会根据每笔订单要承担的总资金的风险百分比和止损位计算出当前下单的手数(就是所谓的以损定量,比如说,100w总资金,预亏1%, 根据止损点每手亏1000元,那么下单就下10手),这样更好的反应策略在历史上的表现。
技术问题:
根据刘老师之前的视频讲解和鬻鶨老师发的帖子(虚拟账户和真实账户分不清?), 我理解的是使用Buy/Sell交易函数的时候TBQ3都会维护一个虚拟账户并对其进行操作,同时把操作映射到策略单元绑定的真实账户上。 我想知道如何设置和获取这个【虚拟账户】的信息,比如总资金量,可用资金, 持仓信息等。根据鬻鶨老师对我之前帖子的回复 “所谓的数据源策略函数本身获取的是图表上虚拟账户的数据”, 我又看了下数据源策略函数,没看到如何获得总资产,可用资金,持仓品种信息, 还望老师们指点下
我的问题:
#1 要满足上面描述的使用场景,是不是必须用Buy/Sell交易函数才能获得回测统计数据?
#2 如何设置和获取【虚拟账户】的信息,比如总资金量,可用资金, 持仓信息?
#3 如果不能获取,有没有什么其它可能的解决办法?
虚拟账户数据可以用portfolio系列函数查询
简单说一下,函数列表里,如果你搜可用资金,可能会有两个函数,一个带A_开头,一个不带。
带A_开头的,那就是涉及到真实账户处理的函数。不带的,那就是图表虚拟的
好的,我再试一下。 虚拟账户的初始资金是不是就是理论账户权益?
是的
我试着改了一下【理论账户权益】然后执行了如下代码
Print("Portfolio_CurrentCapital:" + Text(Portfolio_CurrentCapital()));
Print("Portfolio_CurrentEquity:" + Text(Portfolio_CurrentEquity()));
Print("Portfolio_UsedMargin:" + Text(Portfolio_UsedMargin()));
得到的结果依然是2000w
谢谢老师,我刚才在策略研究里试了一下,修改是有效的,原来在图标上弄错了地方
请问老师在用Buy等交易函数以损定量的方式决定下单手数时,这个手数是根据虚拟账号里的资金量计算出来的,那么真实绑定的账户也会下同样多的手数,但是如果想要根据真实账户里的资金量计算出相应的手数的话,就得用OnSignal自己来发单了,对吧?
对