趋势 TrendFilterAdaptive 在 Builder 中可用

Adaptive Moving Average

AMA

The Adaptive Moving Average changes its own smoothing on every bar: it tracks price closely when a move is directional and flattens out when the market is just oscillating. It is the trend filter you reach for when a fixed-period average is either too slow in trends or too twitchy in ranges.

Template periods
9 / 2 / 30
Adaptation
Efficiency ratio
Scale
Price
OverboughtOversoldCentreline 50Divergence

示意性 — 合成数据,非实时报价。

What the AMA tells you

The AMA answers the same question as any average — which way price has been going — but it decides for itself how much to smooth. It measures how much of the recent movement was net travel rather than back-and-forth, and speeds up or slows down accordingly. In a clean trend it behaves like a short average; in chop it goes almost flat and stops generating direction.

  • Price above a rising AMA: the trend is up and the line is tracking it
  • Price below a falling AMA: the trend is down
  • A flat AMA is information, not a failure — it says the market went nowhere
  1. 1 Measure net travel against total travel
  2. 2 Turn that ratio into a smoothing constant
  3. 3 Step the line toward price by that amount
显示公式与计算详情

The Adaptive Moving Average is a recursive average whose smoothing constant is recomputed on every bar from how efficiently price has been moving:

  1. Measure the efficiency ratio over the period N: ER = |P − P₍ₙ₎| / Σ|Pᵢ − Pᵢ₋₁|. The numerator is net travel from N bars ago to now; the denominator is the total distance covered bar by bar. A straight-line move gives ER near 1; a market that ends where it started gives ER near 0.
  2. Convert the two period bounds into smoothing constants — fastSC = 2 / (fast + 1) and slowSC = 2 / (slow + 1) — and interpolate with the ratio, then square the result: SC = [ER × (fastSC − slowSC) + slowSC]². Squaring is what makes the quiet end genuinely flat rather than merely slow.
  3. Step the line toward price by that amount: AMA = AMAprev + SC × (P − AMAprev).

With the MT5 defaults of 9 / 2 / 30, the smoothing constant lives between roughly 0.004 and 0.44 — so the same indicator can behave like a very short average or a very long one depending on nothing but the shape of recent price action. That is the whole idea: the parameter you would otherwise have to guess and re-optimise per regime is being set by the market instead.

In MQL5 the call is iAMA(symbol, period, ama_period, fast_ma_period, slow_ma_period, ama_shift, applied_price) and it returns a handle to one buffer. Both the applied price and all three period arguments are real inputs; the efficiency ratio itself is internal and is not published as a buffer, so a rule that wants to read “how efficient is this market” has to reconstruct it rather than copy it.

信号

AMA 提供的可回测信号 — 及每个信号适合的市场状态。

Price vs AMA

Builder 可实现
条件
Price closes above or below the adaptive line
最佳市场状态
Established trends
典型用法
Gate another entry rule on the side of the trend the line reports

Fast / Slow AMA Cross

Builder 可实现
条件
A short-period AMA crosses a longer one
最佳市场状态
Trending markets
典型用法
Trigger on a direction change with less range noise than a fixed-period pair

Pullback to the AMA

Builder 可实现
条件
Price returns to a rising AMA and holds above it
最佳市场状态
Trend continuation
典型用法
Join a trend at a better price than the initial break

Waking Up From Flat

高级逻辑
条件
The line has been horizontal for a stretch and starts to slope
最佳市场状态
Range-to-trend transition
典型用法
Detect the moment adaptation switches the line from quiet to responsive

MT5 实现

MetaTrader 5 实际计算和绘制的内容——本页每条规则的依据。

缓冲区

索引 缓冲区 MT5 中的绘制方式 存放内容
0 MAIN_LINE Line The adaptive average itself, plotted on the price scale. iAMA publishes one buffer — the efficiency ratio that drives the adaptation is internal and is not exposed as a second buffer you can read.

平台说明

最佳适用场景 / 谨慎使用

没有任何指标具有普适优势。以下是 AMA 发挥作用的场景 — 以及可能误导的场景。

最佳适用场景

  • Markets that alternate between trending and ranging
  • As a directional filter for a faster signal
  • When a fixed-period average whipsaws in chop
  • Higher timeframes where the regime is stable enough to read

谨慎使用

  • Very tight ranges, where the line barely moves at all
  • As a standalone entry trigger
  • Optimising all three periods at once
  • Assuming adaptation removes lag — it only varies it

构建 AMA 策略

将信号接入进场和出场规则,然后导出可编译的 MT5 EA — 无需编写代码。

  1. AMA (9 / 2 / 30) on Close
  2. Bid price compared against the AMA
  3. AO crosses above zero and price is above the AMA → Open Buy · SL 50 / TP 100
  4. AO crosses below zero and price is below the AMA → Open Sell

将 AMA 与其他指标组合

单一指标很少独立有效。这些组合弥补了 AMA 的盲点。

AMA + Awesome Oscillator

  1. Price above the AMA
  2. AO crosses above zero
  3. Buy
原因
Let the adaptive line decide whether a trend exists and let a momentum flip decide when to act, so a zero cross inside a flat market is ignored
最佳市场状态
Trending
构建此策略 →

AMA + ATR

  1. Price above the AMA
  2. ATR sets stop distance
  3. Buy
原因
Take the direction from the adaptive line and the stop distance from current volatility, so the same rule survives calm and violent markets
最佳市场状态
Any

No single-flow template pairs the AMA with ATR. Start from AO + AMA and add an ATR node feeding a risk-based lot or stop node — the Fractal Breakout + ATR template shows that wiring.

打开 Builder →

AMA + Moving Average

  1. AMA above SMA 9
  2. Price above both
  3. Buy
原因
Compare the adaptive line against a plain average of the same length to read whether the market is efficient or churning right now
最佳市场状态
Range-to-trend transition

No single-flow template pairs the AMA with a fixed-period moving average. Start from AO + AMA and add an MA node with a Compare against the AMA into the existing And gate.

打开 Builder →

AMA + FrAMA

  1. Price above the AMA
  2. FrAMA crosses above a fixed average
  3. Buy
原因
The other adaptive average on this site, and the comparison is about what each one measures rather than how hard it adapts. This page's line reads an efficiency ratio — net distance travelled against total distance — so it responds to how directional the move was. FrAMA reads the fractal dimension of the curve, so it responds to how jagged the path was. A market can cover a lot of ground by a very rough route, and that is precisely where the two lines part company
最佳市场状态
Either regime

No single-flow template pairs the two adaptive averages. Start from FrAMA vs Fixed EMA and add an AMA node with a Price node into a Compare, joined to the existing Cross with an And gate.

打开 Builder →

参数

在您自己的货币对和时间框架上验证的起始值 — 非保证设置。

参数 默认值 建议测试范围 功能说明
Period 9 5–30 The window the efficiency ratio is measured over — how far back the indicator looks to decide whether the market is trending. Short windows switch the line between fast and slow more often; long windows commit to a regime.
Fast EMA period 2 2–10 The fast end of the smoothing range. It sets how responsive the line is allowed to become when travel is efficient. It is a bound on adaptation, not a second average of price.
Slow EMA period 30 20–100 The slow end of the smoothing range — how flat the line goes when the market is churning. Raising it makes quiet periods flatter and the contrast with trends sharper.
Applied price Close Close / Open / High / Low / Median / Typical / Weighted Price series the average runs on. iAMA takes this as a real ENUM_APPLIED_PRICE argument, so Median and Typical are available if you want the bar's range folded in.
Shift 0 0–3 Which bar back the node reads the buffer from. Shift 1 evaluates against a fully closed bar. This is the node's read offset, not the indicator's own horizontal displacement.

初始预设

Reactive 5 / 2 / 30 Switches regime quickly, more false starts
Standard 9 / 2 / 30 The MT5 default and the Builder template's baseline
Regime 20 / 2 / 60 Describes the week rather than the swing

市场示例

AMA 有效的场景、失效的场景,以及过滤器如何改变结果。

有效

Flat line, then a clean lean

The AMA sits horizontal through a range and starts sloping as price breaks out. Because the line was flat, the crossing is unambiguous and it stays on one side for the whole leg.

失效

Crossing a flat line repeatedly

In a tight range the line barely moves and price oscillates across it. Adaptation reduces the number of these crossings compared with a fixed average, but it does not remove them.

已过滤

Momentum has to agree

With a momentum condition added, the same cluster of crossings is ignored until something actually flips — which is exactly what the AO + AMA template wires up.

FAQ

How is the AMA different from an EMA?
An EMA uses one fixed smoothing constant, so its lag is the same whatever the market is doing. The AMA recomputes its smoothing constant on every bar from an efficiency ratio — net movement divided by total movement over the period. When price travels in one direction the constant moves toward the fast bound and the line tracks closely; when price churns it moves toward the slow bound and the line flattens. Same output shape, variable responsiveness.
Is the AMA the same as Kaufman's KAMA?
Yes. MT5 ships Perry Kaufman's Adaptive Moving Average under the name AMA, and iAMA implements the standard KAMA construction with the efficiency ratio and the squared smoothing constant. The defaults of 9 / 2 / 30 are MT5's, and they match the values the Builder's AO + AMA template loads.
What do the fast and slow periods actually change?
They set the two ends of the range the adaptation moves between. Lowering the fast period lets the line become more aggressive in clean trends; raising the slow period makes it flatter in chop and therefore a stricter filter. Neither is a moving average of price in its own right, which is the most common misreading of the parameter names.
Does adaptation remove the lag?
No, it varies it. The AMA still only reports what price has already done — the difference is that it accepts more lag when lag is cheap (in a range, where you did not want signals anyway) and less when it is expensive (in a trend). Treating an adaptive average as a leading indicator inverts what it is for.
Can I build an AMA EA without coding?
Yes for the directional read. The AO + AMA template puts an AMA node against the Bid price with a Compare node and gates a momentum cross on it, exposing period, fast, slow and applied price as EA inputs. Reading the efficiency ratio directly, or detecting the moment the line wakes up from flat, are the exceptions and need custom MQL5.
How should I validate settings before going live?
Backtest on quality tick data first, then run the EA on a demo account before risking money. Three periods means a large search space, so optimise one at a time, hold back data the search never saw, and prefer settings that stay profitable across periods over the single in-sample peak — chasing that peak is overfitting the noise. No default or preset here is a performance promise; every value is a starting point to re-validate on your own pair and broker.

Glossary

关键术语