欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

繁荣指数尖峰模式 - MetaTrader 5脚本

author emer | 947 人阅读 | 0 人评论 |

Boom Index Spike Pattern - indicator for MetaTrader 5

Boom Index Spike Pattern - indicator for MetaTrader 5

第一根蜡烛:绿色,实体较大(看涨尖峰)。

第二根蜡烛:红色(回调)。

第三根蜡烛:绿色,实体较大(看涨尖峰)。

当这种模式出现时,区域已创建

一个蓝色矩形从 3 根蜡烛的高/低范围绘制。

一个石灰绿色水平入口线以中间(第二根)蜡烛的开盘价绘制。

这条线延伸到很远的未来,直到价格回归。

Boom Index Spike Pattern - indicator for MetaTrader 5

MQ5输入 颜色框颜色=清蓝;              // 3 蜡烛形态框的颜色
输入 颜色入口线颜色 =克莱莱姆;        // 输入线的颜色
输入 ENUM_LINE_STYLE条目线样式 =样式_实体;// 输入行的样式
输入 整数框宽 =2;                      // 框边框的宽度
输入 整数入口线宽度 =2;                // 输入线的宽度
输入 整数入口线长度 =200;            // 缓解线延伸多远````
这些输入使您可以完全控制框和输入线的样式。

我们寻找 3 根蜡烛看涨形态

1. 第一根蜡烛 – 强劲看涨(尖峰)

2. 第二根蜡烛 – 看跌回撤

3. 第三根蜡烛——再次强劲看涨

当出现这种情况时,我们绘制:

- 图案周围有一个框

- 第二根蜡烛开盘价的水平线(入场点

一旦价格回到该线(“缓解”),我们就会缩短该线并避免重新绘制它。

结构体模式信息{
  日期时间时间;  // 模式的时间  双倍的入口;    // 入场价格(第二根蜡烛的开盘价)  双倍的高的;    // 3 根蜡烛的最高点  双倍的低的;      // 3 根蜡烛的最低价  布尔值减轻;  // 价格是否已回到入门水平?};

CArrayObj activePatterns;
````
我们使用一个结构体`PatternInfo` 跟踪每个有效模式并存储它一个数组。这有助于避免重复处理。

初始化功能

整数 初始化时() {
  指标集整数INDICATOR_DIGITS,_数字);
  数组初始化(活动模式,0);
  返回 初始化成功;
}
````
我们设置指标精度并准备数组。


模式检测(每个刻度)

````mq5为了整数我=极限-3;我 >=0;我--) {
````
我们循环穿过蜡烛3酒吧回来了。

````mq5如果(是看涨(i+2) && 是看跌(i+1) && 是看涨(i))
````
我们检查如果最后一个3蜡烛符合尖峰图案:绿-红-绿。

````mq5
双高 = MathMax(MathMax(High[i], High[i+1]), 高[i+2]);
双低 = MathMin(MathMin(Low[i], Low[i+1]), 低[i+2]);
复式输入 = 打开[i+1];
````
我们提取高/低为了盒子入门级2nd(中间)蜡烛。

````mq5
模式信息*模式=新的模式信息;
模式.时间 = 时间[i];
模式.条目=条目;
模式.高 = 高;
模式.低 = 低;
模式.缓解 = false;
````
创建将此模式添加到我们的列表
画框和线
````mq5
字符串框名称 =“盒子_”+ IntegerToString(时间[i]);
对象创建(0, 框名称, OBJ_RECTANGLE,0, 时间[i+2],高,时间[i],低);
````
画出矩形(盒子)3- 蜡烛图案。

````mq5
字符串行名称 =“入口线_”+ IntegerToString(时间[i]);
对象创建(0, 行名称, OBJ_TREND,0, Time[i], 条目, Time[i] + periodSeconds() * EntryLineLength, 条目);
````
绘制入口线2nd 蜡烛打开向前时间。

缓解检查(每次勾选)

循环遍历所有模式:
````mq5为了整数p =0; p < activePatterns.Total(); p++) {
  PatternInfo *pt = (PatternInfo*)activePatterns.At(p);
````
如果尚未缓解,请检查:
````mq5如果(!pt.mitigated && 低[0] <= pt.entry)
````
如果当前价格达到入门水平:
````mq5
pt.缓解=真的;对象删除“入口线_”+整数转字符串(时间点));
````
删除原来的长的线。

````mq5对象创建0,“缓解线_”+整数转字符串(时间点),OBJ_趋势,0,
点时间、点条目、
时间[0], pt.entry);
````
创建一个短的显示缓解发生位置的线。
辅助功能###检查看涨/看跌:
````mq5布尔值是看涨(整数我) {
  返回关闭[i] > 打开[i];
}布尔值是看跌(整数我) {
  返回关闭[i] < 打开[i];
}

该指标简单但功能强大:

您现在可以在 Boom 500 或 Boom 1000 上进行实时测试。


附件下载

📎 candel_2.mq5 (10.74 KB)

Source: MQL5 #61749

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录