老师,在模拟交易中想要对发单和成交的价格进行比对。
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函数只能实时或者最新获取,还必须挂账户
如果你只是图表运行肯定不会有内容