Params
//此处添加参数
Vars
MarginRate mRate;
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次
OnInit()
{
A_GetMarginRate(Symbol, mRate);
}
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
Commentary(Text(MyMarginRate.shortMarginRatio));
Commentary(Text(MyMarginRate.longMarginRatio));
}
在实盘时因为是挂的是888合约,映射到主力合约,上述代码取到的保证金率都是默认的10%。然后我用RelativeSymbol找到对应的主力合约,然后再使用A函数查询,取到的各品种的保证金率仍然都是默认的10%,请问是什么原因?代码如下:
Params
//此处添加参数
Vars
MarginRate mRate;
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次
OnInit()
{
}
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
A_GetMarginRate(RelativeSymbol(), mRate);
Commentary(Text(MyMarginRate.shortMarginRatio));
Commentary(Text(MyMarginRate.longMarginRatio));
}
建议试试输出一下A_GetMarginRate函数的返回值,看看是否有问题
MarginRate mRate;
//获取账户对应合约的保证金率
Bool ret = A_GetMarginRate(Symbol, mRate);
Print("A_GetMarginRate:" + IIFString(ret, "True", "False") + "," + Text(mRate));收到,感谢🙏
用的是模拟账号?
回刘老师,关联实盘账号以后,获取的保证金率还是10%。
用的什么柜台
刘老师,用的是ctp
找客服或者主页扫码加企业微信,然后录个视频扔个客服人员。
这个问题之前反馈过,研发说只是模拟柜台不能查询,ctp是可以的。
如果你这里ctp不能查,建议给一个完整视频,排除操作不当的情况下,发给研发人员分析看看
好的,谢谢刘老师的答复。
账号都没绑定你能获取什么
代码里面没绑定账号,实盘里面关联实盘账号后,获取的保证金率都还是10%