按照示例代码进行了如下修改,在plot图中发现,在使用Close作为参数时,5min和1day得到的结果相同,其结果是5min的数据,未能正确计算出1day数据。
Vars
Series<Numeric> MA1;
Series<Numeric> MA2;
Plot plt;
String tableName(Bar数据转换);
Events
OnInit()
{
plt.setOption(tableName,data-pagination,False);
plt.setOption(tableName,column-index,BarTime=0);
}
OnBarOpen(ArrayRef<Integer> indexs)
{
MA1 = AverageFC(DataConvert(Close, min, 5, Close),5);
MA2 = AverageFC(DataConvert(Close, day, 1, Close),5);
plt.line(MA1:,MA1);//绘制MA1均线
plt.line(MA2:,MA2);//绘制MA2均线
String strTime = DateTimeToString(D + T);
//跨周期数据转换函数
plt.table(tableName,5minClose,DataConvert(Close, min, 5, Close), strTime);
plt.table(tableName,1dayClose,DataConvert(Close, day, 1, Close), strTime);
}
OnBar(ArrayRef<Integer> indexs)
{
}
dataconvert早就淘汰了...跨周期的各种教程里从来都不会用这个函数
哦哦,知道了
自问自答:
目前的替代方案是:使用两个数据源,Data0(5分钟),Data1(1天),
MA0 = AverageFc(Data0.Close, 5)
MA1 = AverageFc(Data1.Close, 5)
从而得到5分钟和1天的5日Close均线