图表交易是排队执行触发,即如果图表数据若未计算完毕,则会影响到分笔数据的接收处理。如果你的公式计算复杂不能在下一个分笔数据到来,会导致软件K住,如果长时间这样,整个软件会卡住并且死机。
后台程序化逻辑跟图表不一样,是异步进行的,如果上一笔未计算完毕,那么会丢掉下一笔的分笔数据处理。保证分笔数据的接收与后台程序异步进行,就算是后台程序化无论多复杂,也不会导致软件卡死。
VBA的交易与图表和后台是没有关系的,无法与他们联系在一起,VBA是个独立的工作模块
图表交易是排队执行触发,即如果图表数据若未计算完毕,则会影响到分笔数据的接收处理。如果你的公式计算复杂不能在下一个分笔数据到来,会导致软件K住,如果长时间这样,整个软件会卡住并且死机。
后台程序化逻辑跟图表不一样,是异步进行的,如果上一笔未计算完毕,那么会丢掉下一笔的分笔数据处理。保证分笔数据的接收与后台程序异步进行,就算是后台程序化无论多复杂,也不会导致软件卡死。
VBA的交易与图表和后台是没有关系的,无法与他们联系在一起,VBA是个独立的工作模块
如果VBA和图表/后台完全没有关系,但是在自定义的函数例子里面,如果自定义了一个
Function CU_MA1(Formula,CLOSE,Cyc)
公式系统就可以直接引用 MA1:CU_MA1(CLOSE,5);
后台交易的时候,下单以后无法知道订单号码(orderId), 这样的话可不可以建一个自定义函数,比如:
Function QT_BUY(Formula,Type,Vol,Price,StoplmtPrice,Code,Market,AccountID,Valid)
QT_BUY=0
QT_BUY=Buy(Type,Vol,Price,StoplmtPrice,Code,Market,AccountID,Valid)
End Function
然后在公式系统里面直接调用QT_BUY去获得orderId呢?
如果以上方法不可以,那么在后台交易里面,怎么样才能获得刚下的订单号码
谢谢
你的做法是可以的,即使用VBA自己去处理下单动作。
但是你返回了订单ID后,后台程序也无法去处理的,建议你还要在VBA中处理下单回报信息,确认订单是否成交,然后再使用VBA撤单函数撤单