A_GetCommissionRate
OnReady()
{
Bool ret1 = A_GetCommissionRate(DATA2.Symbol, Rate);
LogFile("获取手续费率="+IIFString(ret1,"T","F") +"/" + Text(Rate));
}
OnOrder(OrderRef Ord)//委托更新事件
{
IF (Ord.status==Enum_Filled)//全部成交
LogFile("开多已成//"+Text(ord.orderId)+"/手续费="+TEXT(Ord.commission));
}

我通过上述代码获取手续费率(OnReady)和每笔成交的手续费(OnOrder),策略应用于实盘帐户的黄金/AU2512,实际返回日志文件截图如下

我感觉两个函数不稳定,截图的前两条记录是正常的,截图的后两条记录是不正常的,但是我的策略正常运行且帐户正常登录(否则也不可能开多成功)

请老师帮我分析不稳定的原因,谢谢


关于获取手续费函数A_GetCommissionRate
A_GetCommissionRate模拟实盘时获取失败是正常的吗?A_GetMarginRate模拟实盘时可以
A_GetCommissionRate获取的是交易所最新的手续费吗
如果通过代码去获取系统设置里交易设置里的交易成本设置的里的手续费率
实盘账户登录后,A_GetCommissionRate-获取账户对应合约的手续费率
手续费设置问题
在 Oninit事件中 A 函数有限制吗?

A_GetCommissionRate 是向柜台查询账户手续费

查询频率取决于柜台设定,请不要频率太高

太高可能会被期货公司柜台屏蔽

commission是实时手续费,也就是TB平台实际扣收的手续费,应该是平台数据吧?为什么也不稳定呢?我上面截图中两条开多成功的记录为什么手续费不一样?


手续费是期货公司收取的

期货公司不会允许你高频查询

0应该就是没查到

期货公司回复我:查询限一秒10次以下。

我的策略中的查询一秒不会超过10次,所以建议你们验证一下上述两个函数的稳定性