 
等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
|
// 计算3日指数移动平均线(EMA)
MA1 : EMA(CLOSE, 3);
// 计算30日指数移动平均线(EMA)
MA2 : EMA(CLOSE, 30);
// 判断金叉和死叉
金叉 := CROSS(MA1, MA2); // MA1上穿MA2
死叉 := CROSS(MA2, MA1); // MA1下穿MA2
// 判断有效金叉:金叉后,MA1连续5根K线大于MA2
有效金叉 :barslast(金叉)=5 and ma1>ma2;
// 判断有效死叉:死叉后,MA1连续5根K线小于MA2
有效死叉 :barslast(死叉)=5 and ma1<ma2;
// 记录有效金叉和有效死叉的位置
有效金叉位置 := VALUEWHEN(有效金叉, BARPOS); // 记录有效金叉的K线位置
有效死叉位置 := VALUEWHEN(有效死叉, BARPOS); // 记录有效死叉的K线位置
// 计算两个有效金叉之间的高点
高点 : REF(HHV(H, BARPOS - 有效金叉位置), 有效金叉位置);
// 计算两个有效死叉之间的低点
低点 : REF(LLV(L, BARPOS - 有效死叉位置), 有效死叉位置);
// 标记有效金叉和有效死叉
DRAWICON(有效金叉, MA1, 1); // 有效金叉标记为图标1
DRAWICON(有效死叉, MA1, 2); // 有效死叉标记为图标2
// 绘制高点和低点
DRAWTEXT(有效金叉, high, '高点'), COLORGREEN; // 在高点位置标注文字
DRAWTEXT(有效死叉, low, '低点'), COLORGREEN; // 在低点位置标注文字
// 绘制线段连接相邻的高点和低点
POLYLINE(有效金叉 OR 有效死叉, IF(有效金叉, 高点, 低点), COLORGREEN, LINETHICK2); // 连接高点和低点 |
|