Bool getHistoryData(){
//定义内部变量
Numeric counterLong(0);
Numeric counterShort(0);
Numeric controllerLong(1);
Numeric controllerShort(1);
Integer k;
For k = 100 to CurrentBar
{
//计算指标
b = (XAverage(Close,62)/AverageFC(Close,83)-1)*100;
//判断结果
If(b[1]<-1 and b[1]>b[2] And controllerLong==1){
counterLong = counterLong +1;
controllerLong =0;
controllerShort =1;
}
If(b[1]>1 and b[1]<b[2] and controllerShort==1){
counterShort = counterShort +1;
controllerShort = 0;
controllerLong = 1;
}
}
//最后一个Bar打印最终结果
If(BarStatus==2){
Print("===================");
Print("counter long ="+Text(counterLong));
Print("counter short ="+Text(counterShort));
}
//返回值
Return True;
}
是想在OnInit事件中调用,计算一次历史结果,从头遍历一次BAR,计算指标却没有打印出来结果,请老师帮忙看下什么原因,谢谢
建议你print一下所谓的currentbar还有close等数据看看是什么东西
oninit域订阅号数据以后还没完成数据load,上哪里去计算指标?最早也在onready里处理
而且你这个循环写得也很莫名其妙,循环体里甚至都没用上循环变量k,那循环那么多次,每次有什么区别?这个写的是干什么的完全看不懂