多周期中我想得到 AvgMACD 10分周期的值 Print(Text(data1.AvgMACD)); 怎么才能获得正确结果
另外 data1图层最后一个数值非常离谱 怎么才能让data1 下面的macd副图指标显示正常
Params
//此处添加参数
Numeric millsecs(1000);
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
//此处添加变量
Global Integer timerId;
Numeric MACDDiff;
Numeric AvgMACD;
Numeric MACDValue;
Global Integer a;
Defs
//此处添加策略函数
Numeric calcAvg(Numeric a,Numeric b)
{
return (a+b)/2;
}
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作
OnInit()
{SubscribeBar(Symbol, "10m", BeginDateTime, 0, Enum_Data_RolloverBackWard);
timerId=createTimer(millsecs);
//与数据源有关
Range[0:DataCount-1]
{
}
}
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
if(data1.Open>=data1.Close)
a=data1.c[1];
Else
a=0;
Print(Text(a));
MACDDiff = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;
AvgMACD = XAverage(MACDDiff,MACDLength);
MACDValue = 2 * (MACDDiff - AvgMACD);
Print(Text(data1.AvgMACD));
}
这一段,除了参数以外的对象,包括变量和函数,前面都加上data1 前缀
10分钟就是data1 的副图最后一个BAR 的数据对不上 貌似数据用的是1分钟的 怎么才能正常显示10分钟的数据