我不是指实际账户与虚拟账户的区别,兄弟,而是 策略与虚拟账户不一致, 策略只管下了单不管成交是否成功,都会记录成已经成交,而虚拟账户是实际成交了才会记录成交,
策略若有了信号 下单了,但实际上没实现成交的话,就成了限价 挂单了,策略虽然已经记录成交,但虚拟资金上没有记录成交,而是等着满足限价 的条件才成交
是这样的机制吗
你理解的虚拟账户是什么?
我的策略里面在开仓时都有限制条件,持仓为0才可以开仓,但使用模拟资金进行实时交易的时候开仓数量都失控了,因为策略上信号有了后,策略公式只管发出开仓信号就会将表示持仓量的全局变量的值增加, 而模拟资金在实时交易的时候还有未成交的可能,若未成交就会成了挂单,但此时策略公式里面由于 已经发出下单指令 ,就把持仓增加了,但实际上没有持仓,因为还没成交,这样就产生了不一致,策略公式里面和实际不一致,但策略公式里面又没有办法获得成交与否的返回信息,
后台程序化交易里面能够获得成交后的返回信息,并依此信息来关联策略里面持仓量的变量吗?
而且策略公式发出的下单指令在没成交时会挂在哪儿,时机成熟了就成交了,导致持仓超出了策略的限制,这里面主要的问题就是 策略公式 有没有 办法可以获取 实际成交的信息,策略公式只能够下单,却不知道到底有没有成交,这是导致混乱的根本原因吧,
有没有其他原因 ?
不懂你说的什么。请你先理解机制问题。
模拟资金也是账户栏的,其形式和实盘账户一样。都与图表中使用的虚拟资金没有关系。虚拟资金是在公式编辑界面中的费率设置----初始资金(默认100万)
图表作为一个虚拟的环境,其计算是根据历史信号进行处理的,都不会直接操作你账号栏中的资金。只有图表中触发了某个开平动作时,实际账户(账户栏包括实盘或者模拟)跟着它去下单。
另外图表作为一个虚拟的理论环境下,(理论持仓)是没有未成交单等实盘中的概念的。在历史计算时,符合开盘条件就会进行虚拟持仓的变动。
图表中如果没有虚拟持仓,那你账号中即使有持仓也不会平掉。
可能是我用词用错了,我现在还没有进行真金白银操作,只是在进行图表系统的模拟交易,不 是回测,而是实时的。我说的不一致,是 策略中相关参数显示的持仓 与 模拟账户的交易持仓 不一致,因为在模拟实时交易的时候,策略有信号了下了单,可能没有成交,模拟账户的资金是不变的,但因为策略下了单,策略只会认为已经成交并将下单的成本 记录下来了,回测是不存在这样的问题,但实时的时候就会产生混乱,
所以请问 策略公式有没有函数可以获得 是否成交及成交后返回的状态信息? 回测是默认都成交了,但在模拟账户实时交易的时候不一定会成交,这就和策略公式中认为的不一致,因为策略公式中只要下了单就认为成交了。