Params
Numeric lots(0);
Numeric Length1(3); // 备用参数
Numeric ATRLength(14); // ATR计算周期(常用14)
Vars
Series<Numeric> zgj;
Series<Numeric> atrValue; // 存储ATR值
Events
OnBar(ArrayRef<Integer> indexs)
{
// 修复ATR函数调用:使用完整参数格式,指定数据源为Close
// ATR函数完整格式:ATR(周期, 最高价, 最低价, 收盘价)
atrValue = ATR(ATRLength, High, Low, Close);
// 计算zgj = 最高价 - 2倍ATR
zgj = High - atrValue * 2;
// 处理首次运行时zgj[1]为空的情况
If(CurrentBar() < 1)
{
// 第一根K线直接用黄色画线
PlotAuto("zgj",zgj,0,Yellow,Enum_Line,Enum_Solid,Enum_1Pix);
Return;
}
// 根据zgj是否创新高,绘制不同颜色的线条
If(zgj > zgj[1])
{
// zgj上涨时画红色线
PlotAuto("zgj",zgj,0,Red,Enum_Line,Enum_Solid,Enum_1Pix);
}
Else
{
// zgj下跌/持平画绿色线
PlotAuto("zgj",zgj,0,Green,Enum_Line,Enum_Solid,Enum_1Pix);
}
}
这段代码是 最高价减去2倍ATR,并且划线,但是提示 第13行 ATR函数没有被声明,请大神帮忙指正