- 显示:
- 14
- 已发布:
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
一种两阶段自适应移动平均线(基础均线 + 二次平滑),其颜色随斜率变化,并用箭头标记价格与均线的交叉点。
自定义均线
CustomAverage 是一个自成体系、不重绘的趋势指标,其设计基于双重平均理念:首先直接根据价格计算出快速的基础均线,然后在其基础上应用第二阶段独立的平滑处理。 最终形成一条自适应曲线,其对价格的反应速度快于单条长周期移动平均线,但波动性明显小于单条短周期移动平均线。
其背后的原理
普通的移动平均线迫使交易者在响应速度与噪音之间做出妥协:缩短周期,它虽能紧贴价格走势,但在区间震荡时会出现剧烈波动;延长周期,它又会在每次真正的转折点上滞后。CustomAverage 通过将计算任务拆分为两个独立的滤波器,从而避免了这种单一的权衡:
- 第一阶段——基础均线。 对选定的价格序列(收盘价、开盘价、中位数、典型价、加权价等)应用移动平均线(可选SMA、EMA、SMMA或LWMA)。该阶段主要负责趋势跟踪工作。
- 第二阶段——平滑处理。 第二个移动平均线(同样可选四种经典方法中的任何一种)应用于第一阶段的结果之上, 而非原始价格。由于是对已经过平均处理的序列进行过滤,因此相对较短的平滑周期就足以消除残余波动,而不会增加太多额外滞后。
每个值仅计算一次,从左到右,且严格基于相对于当前处理K线而言已收盘的K线——该指标绝不预测未来,也绝不重绘历史值。 在每个新 tick 时,代码仅重新计算发生变化的柱线(rates_total/prev_calculated),因此即使在历史数据较长且时间周期较短的情况下,运算负担依然较轻。
如何解读该指标
- 主线 是经过两次平均计算后的最终值。其颜色会根据自身的斜率而变化:当线段逐根K线上升时呈现一种颜色,下降时则呈现另一种颜色——因此无需单独的震荡指标,趋势方向便一目了然。
- 当价格在前一根K线收盘低于均线后,于当前K线收盘重新回升至均线之上时,会在该K线下方绘制一支看涨箭头——这是一种简单而经典的价格/均线交叉做多信号。
- 当价格在前一根K线收盘高于均线后,于当前K线收盘时重新跌回均线下方时,会在该K线上方绘制一个看跌箭头——这是与之相对应的做空信号。
- 图表角落处的小型文字标签 显示平均线的当前数值,该数值会在每次计算后刷新。
- 该指标本身不会 生成交易建议——请将该线视为动态支撑/阻力/趋势过滤器,将箭头视为时机标记,结合您自己的入场、出场和风险规则进行交易。

图1. 在价格图表上绘制的CustomAverage(黑白配色,符合代码库图像指南)。
外部变量(输入)
| 变量 | 默认值 | 描述 |
|---|---|---|
| InpMAPeriod | 14 | 第一阶段基准平均值的周期。 |
| InpMAMethod | MODE_EMA | 第一阶段的均值计算方法:SMA、EMA、SMMA 或 LWMA。 |
| InpAppliedPrice | PRICE_CLOSE | 输入到第一阶段的价格序列(收盘价、开盘价、最高价、最低价、中位数、典型价或加权价)。 |
| InpSmoothPeriod | 5 | 应用于第一阶段结果的第二阶段平滑周期。值为0或1时将禁用第二阶段,此时指标将作为普通单阶段均线运行。 |
| InpSmoothMethod | MODE_SMMA | 第二阶段的均值计算方法:SMA、EMA、SMMA 或 LWMA。 |
| InpShowSignals | true | 启用/禁用价格/均线交叉箭头。 |
| InpArrowUpCode | 233 | 用于看涨交叉箭头的Wingdings符号代码。 |
| InpArrowDownCode | 234 | 用于表示看跌交叉箭头的 Wingdings 符号代码。 |
| InpArrowUpColor | clrLime | 看涨交叉箭头的颜色。 |
| InpArrowDownColor | clrRed | 看跌交叉箭头的颜色。 |
| InpColorUp | clrDodgerBlue | 均线上升时的线色。 |
| InpColorDown | clrOrangeRed | 平均值下降时的线条颜色。 |
| InpLineWidth | 2 | 绘制线的宽度,单位为像素。 |
| InpShowLabel | true | 显示/隐藏图表上显示平均值当前数值文本标签。 |
| InpLabelCorner | CORNER_RIGHT_UPPER | 用于锚定数值标签的图表角。 |
推荐用法
- 适用于任何交易品种和任何时间周期;这是一个纯粹基于价格的指标,对账户类型没有任何要求(在净额结算和对冲账户中,无论实盘还是模拟账户,效果完全一致)。
- 默认的 14/EMA 基准和 5/SMMA 平滑阶段是 H1-H4 图表的平衡起点。 对于更快的日内图表(M1-M15),请考虑缩短这两个周期;对于 D1-W1 上的波段交易或持仓交易,延长InpMAPeriod 将降低对噪音的敏感度。
- 将InpSmoothPeriod 设置为 0 或 1 可将该指标转换为传统的单阶段移动平均线,这有助于在同一图表上直接比较第二级滤波阶段的效果。
- 与任何基于移动平均线的工具一样,该线由于其构造特性而会滞后于价格,最适合用作趋势过滤器或动态支撑/阻力参考,而非独立的入场信号;请将交叉箭头与更广泛的交易计划(结构、波动率、风险管理)相结合,而不是孤立地进行交易。
- 该指标绘制在主图表窗口上,并生成一个图表标签对象,该对象会在注销时(时间周期变更、指标移除、模板重新加载等)自动删除,因此不会留下任何孤立的图表对象。
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/75951
Broker Spec Inspector
显示那些会默默拒绝订单的隐性合约限制:止损价位、冻结价位、最小/步长/最大手数、点值和点差、点差类型、成交模式、掉期费用,以及最小手数所需保证金与您的可用保证金之间的对比。
Session Opening Range Breakout EA
一款专家顾问,用于测量指定交易时段开盘窗口的高点/低点,随后在该区间确认突破时进行交易,采用基于风险的仓位管理,并设定每交易时段仅执行一笔交易上限。