A_OrderFilledPrice(index))无法取到的问题

老师,在模拟交易中想要对发单和成交的价格进行比对。

   If(MarketPosition == 0) //无持仓时

{

If(LongBool)    

{

Buy(Lots,Max(TLPrice,UpperBand));

   Integer index = A_GetLastOrderIndex(Enum_Buy, Enum_Entry);

   _SaveTradingLog("时间:"+ TimetoString(SystemDateTime) +" 多头开仓/成交价格="+ Text(A_OrderFilledPrice(index)) );

}

调试发现 index = n/a

是因为这个A_GetLastOrderIndex 必须放到 onfill 里面吗? 如果我想在模拟交易中比对委托单的发单价格  和 成交价格应该怎么写的。


谢谢

你用的888合约吧

娶不到

这个函数要具体的合约


翻翻其他函数

有没有参数是具体合约的

嗯,很有道理

A_GetOrderIDs

这一类的才有用

阅读函数时候

1 要分清是否需要具体数据源

2 否则就取全部 再根据需要

3 有一类可以把数据源作为参数传入

4 分清报单编号、报单序号,完全不同的概念


TBQ提供了丰富的函数

满足各种需要

但需要认真理解

有的函数是针对整个账户

都怪TBQ过于丰富完善的机制

😂

tbq对编程能力和期货专业要求还是太高了

官方应该把代写服务降费优化

否则大多非机构真搞不来

算算成本,一个月能写几个策略,有多少个策略有使用价值能持续带来付费用户增量,写一个策略又收费多少,然后一个能高效开发tb模型的优质程序员,平均月薪是多少。

自己估量一下大概就清楚了

先保证你对每个A函数的调用都能获取

A_GetLastOrderIndex

A_OrderFilledPrice

然后再把他们放进你的策略

模拟交易挂着的,在建仓的时候应该可以实时获取的吧。 但输出的日志文件里显示的也是 n/a

A函数只能实时或者最新获取,还必须挂账户

如果你只是图表运行肯定不会有内容