Params
Numeric Length1(20); // 1分钟K线周期
Numeric Length2(100); // 5分钟K线周期
Numeric Length3(600); // 30分钟K线周期
Numeric Offset(2); // 标准差倍数
Vars
Numeric UpLine1; // 1分钟K线上轨
Numeric DownLine1; // 1分钟K线下轨
Series<Numeric> MidLine1; // 1分钟K线中间线
Numeric UpLine2; // 5分钟K线上轨
Numeric DownLine2; // 5分钟K线下轨
Series<Numeric> MidLine2; // 5分钟K线中间线
Numeric UpLine3; // 30分钟K线上轨
Numeric DownLine3; // 30分钟K线下轨
Series<Numeric> MidLine3; // 30分钟K线中间线
Numeric Band1;
Numeric Band2;
Numeric Band3;
Events
OnBar(ArrayRef<Integer> indexs)
{
Range[0:DataSourceSize() - 1]
{
// 计算1分钟K线布林指标
MidLine1 = AverageFC(Close, Length1);
Band1 = StandardDev(Close, Length1, Offset);
UpLine1 = MidLine1 + Offset * Band1;
DownLine1 = MidLine1 - Offset * Band1;
PlotNumeric(“1分钟-上轨”, UpLine1);
PlotNumeric(“1分钟-下轨”, DownLine1);
PlotNumeric(“1分钟-中轨”, MidLine1);
// 计算5分钟K线布林指标
MidLine2 = AverageFC(Close, Length2);
Band2 = StandardDev(Close, Length2, Offset);
UpLine2 = MidLine2 + Offset * Band2;
DownLine2 = MidLine2 - Offset * Band2;
PlotNumeric(\"5分钟-上轨\", UpLine2);
PlotNumeric(\"5分钟-下轨\", DownLine2);
PlotNumeric(\"5分钟-中轨\", MidLine2);
// 计算30分钟K线布林指标
MidLine3 = AverageFC(Close, Length3);
Band3 = StandardDev(Close, Length3, Offset);
UpLine3 = MidLine3 + Offset * Band3;
DownLine3 = MidLine3 - Offset * Band3;
PlotNumeric(\"30分钟-上轨\", UpLine3);
PlotNumeric(\"30分钟-下轨\", DownLine3);
PlotNumeric(\"30分钟-中轨\", MidLine3);
}
}