GetMarginRate函数的用法问题

如题: Events OnInit() { MarginRate rate; //当前公式应用商品的默认 保证金比率 GetMarginRate(rate); Print("GetMarginRate:" + Text(rate)); } rate在onbar中的取值和print出的数据不一样,修改策略单元中的保证金率后,print出的数据也随之更改,但是onbar取的值一直是0.1 .

怎么没回复了?这个函数在OnInit() 和OnBar取值不一样,修改策略单元保证金设置后OnBar中取值不会随着变。

回复:没看懂你的问题,我贴的代码显示没有问题啊 然后我又测试了下三个域都没有问题 Params //此处添加参数 Vars //此处添加变量 MarginRate rate; Events OnInit() { GetMarginRate(rate); Print("onint="+text(rate)); } OnReady() { GetMarginRate(rate); Print("rrrr="+text(rate)); } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { GetMarginRate(rate); //Print(text(rate)); }

你确定你图表上的保证金率改了吗

回复:这么神奇吗?

回复:这是策略单元设置

回复:

Params //此处添加参数 Vars //此处添加变量 MarginRate rate; Events //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { GetMarginRate(rate); Print(text(rate)); }

我试了下都是生效的

回复:Params //此处添加参数 Vars //此处添加变量 MarginRate rate; Events //初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作 OnInit() { //timerId=createTimer(millsecs); //与数据源有关 GetMarginRate(rate); Print(text(rate)); } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { Commentary(" 保证金率= "+text(rate.longMarginRatio)); } 你试试这个,修改策略单元保证金率后看看一样不一样。

回复:不一样