请观看如何免费下载自动交易
请在Telegram上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
显示:
14
已发布:
MQL5自由职业者 需要基于此代码的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 Broker Spec Inspector

显示那些会默默拒绝订单的隐性合约限制:止损价位、冻结价位、最小/步长/最大手数、点值和点差、点差类型、成交模式、掉期费用,以及最小手数所需保证金与您的可用保证金之间的对比。

Session Opening Range Breakout EA Session Opening Range Breakout EA

一款专家顾问,用于测量指定交易时段开盘窗口的高点/低点,随后在该区间确认突破时进行交易,采用基于风险的仓位管理,并设定每交易时段仅执行一笔交易上限。

加速震荡(AC) 加速震荡(AC)

加速/减速技术指标(AC)用于衡量当前驱动力的加速和减速。

离散 离散

离散技术指标由价格和交易量的变化决定。