如题:
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));
}
你试试这个,修改策略单元保证金率后看看一样不一样。
不一样