编写逻辑为
V1赋值:以0.9为权重(((最高价+最低价)+(收盘价*2))/4)的动态移动平均
HY1赋值:1日前的V1的3日指数移动平均
多空趋势赋值:(收盘价-HY1)*10的2日简单移动平均
输出操盘:当满足条件多空趋势>=0AND多空趋势>=1日前的多空趋势时,在0和多空趋势位置之间画柱状线,宽度为2,0不为0则画空心柱.,画红色
输出减仓:当满足条件多空趋势>=0AND多空趋势<1日前的多空趋势时,在0和多空趋势位置之间画柱状线,宽度为2,0不为0则画空心柱.,画淡洋红色
输出反弹:当满足条件多空趋势<0AND多空趋势>=1日前的多空趋势时,在0和多空趋势位置之间画柱状线,宽度为2,0不为0则画空心柱.,画淡灰色
输出寻底:当满足条件多空趋势<0AND多空趋势<1日前的多空趋势时,在0和多空趋势位置之间画柱状线,宽度为2,0不为0则画空心柱.,画绿色
------------------------------------------------------------
Params
Numeric DMA_Period(90); // DMA周期(0.9*100)
Numeric EMA_Period(3); // EMA周期
Numeric MA_Period(2); // MA周期
Vars
Series<Numeric> V1; // DMA计算值
Series<Numeric> HY1; // 平滑参考线
Series<Numeric> Trend; // 多空趋势值
Series<Numeric> PrevTrend; // 前一日趋势值
Defs
// 核心计算函数
Numeric CalculateValues()
{
// DMA计算:四价平均的动态移动平均
V1 = XAverage((High + Low + Close * 2) / 4, DMA_Period);
// 计算昨日EMA3值
HY1 = XAverage(V1, EMA_Period)[1];
// 计算多空趋势
Trend = Average((Close - HY1) * 10, MA_Period);
PrevTrend = Trend[1]; // 获取前一日值
Return 1;
}
Events
OnBar(ArrayRef<Integer> indexs)
{
CalculateValues();
// 绘制趋势柱线(厚度2像素)
If(Trend >= 0)
{
If(Trend >= PrevTrend) // 多头增强
PlotAuto("操盘", Trend, Red, Enum_Bar,2);
Else // 多头减弱
PlotAuto("减仓", Trend, Magenta,Enum_Bar,2);
}
Else
{
If(Trend >= PrevTrend) // 空头反弹
PlotAuto("反弹", Trend, RGB(200,200,200),Enum_Bar,2);
Else // 空头加速
PlotAuto("寻底", Trend, Green,Enum_Bar,2);
}
// 绘制零轴参考线(厚度1像素)
PlotNumeric("零轴", 0, Gray, 1);
}
------------------------------------------------------------
系统一直提示HY1行,缺少分号
谢谢各位老师大佬指点
HY1 = XAverage(V1, EMA_Period)[1];
你这句是想干什么?