指标计算不足时,前面几个数据会异常,导致K线压缩
学到的解决办法是从正常的数据开始画
plt.setOption("指标名称","begin-bar",MaxLen);
刚发现,从正常数据画,K线还是处于压缩状态


//单独写的测试代码,与上图画的不一样是正常的,但压缩情况是一样出现的
Params
//此处添加参数
Integer length(20);
Vars
//此处添加变量
plot plt;
numeric a;
Defs
//此处添加策略函数
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次
OnInit()
{
SubscribeBar(Symbol,"15m",BeginDateTime);
Range[0:DataSourceSize-1]
{
plt.setOption("ma","begin-bar",length);
}
}
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
Range[0:DataSourceSize-1]
{
a= ma(close, length);
plt.line("ma", a);
}
}我这样更干净

//单独写的测试代码,与上图画的不一样是正常的,但压缩情况是一样出现的
Params
Integer length(20);
Vars
//此处添加变量
plot plt;
numeric a;
Defs
//此处添加策略函数
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次
OnInit()
{
SubscribeBar(Symbol,"15m",BeginDateTime);
}
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
Range[0:DataSourceSize-1]
{
a= average(close, length);
plt.line("ma", date+time,a);
}
}ma和averge 是不是在函数层面做了处理的?
只是用ma示范,实际出问题的是我自己写的指标(就是传的图片上面那个样子)
我自己写的指标,除了用begin-bar处理外,不知道还有没有别的处理方式