Volume-weighted average of the accumulation/distribution line over a moving window.
Chaikin Money Flow (CMF) sums money flow over the period and normalizes it by total volume. Values above zero indicate accumulation (buying pressure), below zero — distribution (selling pressure). A threshold of ±0.05 is considered a weak signal, ±0.25 — a strong one.
Formula:
MFM = ((Close - Low) - (High - Close)) / (High - Low)
CMF = SUM(MFV, n) / SUM(Volume, n)
Parameter Type Default Range / Values Periodint 20 1-200
Trigger Direction Condition Description Level cross up 🟢 Buy The indicator value crossed the specified level from below. The CMF line crosses the configurable level Level from below. Level is set in the trigger parameters. Level cross down 🔴 Sell The indicator value crossed the specified level from above. The CMF line crosses the Level level from above. Level is set in the trigger parameters. Value above level by N 🟢 Buy The indicator value rose above the level by the specified distance. The CMF line crosses the Level + Distance mark moving upward. The distance delays entry until a confirmed level breakout. Value below level by N 🔴 Sell The indicator value fell below the level by the specified distance. The CMF line crosses the Level − Distance mark moving downward. Value rising 🟢 Buy The indicator value is rising relative to the previous bar. The CMF line is higher on the current bar than on the previous one — upward momentum. Value falling 🔴 Sell The indicator value is falling relative to the previous bar. The CMF line is lower on the current bar than on the previous one — downward momentum. Fires on every declining bar. Slope turns positive 🟢 Buy The indicator’s slope turned positive — an upward reversal. The CMF line changes its slope from downward to upward — the indicator stopped falling and started rising. Slope turns negative 🔴 Sell The indicator’s slope turned negative — a downward reversal. The CMF line changes its slope from upward to downward — the indicator stopped rising and started falling.
Parameter Type Default Range / Values Level (Value above level by N, Value below level by N, Level cross up, Level cross down)float 0 Distance (Value above level by N, Value below level by N)float 0 0>