比如如下2种情况,
一 我有3个公式,建立三个交易策略单元,分别绑定3个不同的资金账户。
二 我有3个公式,建立三个交易策略单元,绑定到同一个资金账户。
前提,公式里会记录委托ID,对委托成交消息,会先判断ID,如果不是自己发出的委托,则不处理。所以不存在不是自己发出的委托被自己处理的情况。
请问,这2种情况,公式在处理委托成交消息时,接受到的消息是一样的吗?还是消息是以资金账户为准,在第二种情况里,会不会除了本身单元参与的委托成交消息外,后2个单元的消息也会进入第一个单元里。会不会因为额外处理非自己委托的消息,导致运算响应变慢?
我有不同的策略,但是没那么多资金账户,所以把不同的公式绑定到同一个资金账户里,已经在代码做了判断,只处理自己发出的委托。但是实际模拟测试来看,感觉上面2种情况差别巨大,可能我的测试量还不够,请老师能否从原理上解释下,不同公式绑定到同一个资金账户,会不会接受到非自己发出的委托的成交消息?
如果是,那是不是为了稳妥,不同公式最好还是绑定到不同资金账户?
换句话说,我如何实现,只接受自己发出的委托的回应消息,根本不接受非自己发出的委托的回应消息。而不是在代码里判断非自己发出的消息不处理,而是进一步优化,不是不处理,而是根本不接受任何非自己发出的委托回应消息,现在是同一个资金账户的消息会被发到所有绑定这个账户的其他交易单元里。导致运算变慢,对高频来说,时间差一点,结果大不同。
你应该看一下委托单后面的操作源。默认情况下本单元只接受本单元报送订单的驱动事件