Direct answer
Frama in forex refers to the Fractal Adaptive Moving Average, a moving-average style indicator that changes how quickly it follows price. Instead of using a fixed smoothing factor, Frama estimates whether recent price action looks more like a smooth trend or a choppy, fractal-like pattern, then uses that estimate to adapt the smoothing.
This means Frama’s mechanism is: measure “fractal efficiency” from price over multiple windows, convert that efficiency into a dynamic smoothing constant, and apply it to update a moving average value step by step.
Mechanism or definition
A moving average is a way to summarize price by filtering noise. In a typical fixed-parameter moving average, the smoothing strength stays constant. Frama’s key idea is that filtering strength should vary.
1) Choose the inputs (lookback windows and price series)
Frama requires at least one primary lookback length (often called N), and it uses derived ranges based on N (commonly N/2 and N/4 in textbook-style descriptions). The price series input is typically based on highs and lows over each window (many implementations use a high-low range rather than only closing prices).
Because different charting tools can implement details differently, the most important assumption to verify when you reproduce results is: which price values and which range definitions the calculation uses (for example, high-low range over each segment, and whether to include end-point prices).
2) Compute range measures over three scales
Frama estimates how price behaves across scales by comparing:
- the “full” range over N
- the combined ranges of two halves over N/2
- the combined ranges of four quarters over N/4
A common approach is to define a range like the difference between the highest and lowest values in the chosen window. Then you compute separate range totals for each scale.
3) Convert multi-scale ranges into a “fractal efficiency”
Using those range measures, Frama forms a quantity often described as an efficiency or fractal dimension proxy. Intuitively:
- if price movement is relatively orderly across scales, the efficiency suggests a more “trend-like” structure
- if movement is erratic and similar-looking across scales, the efficiency suggests a more “fractal-like” structure
Different implementations may express this step with logarithms and ratios; however, the conceptual purpose remains the same: derive a value that increases when the series looks more efficiently trending and decreases when it looks more fractal.
4) Turn efficiency into an adaptive smoothing constant
Frama next maps the efficiency estimate into a smoothing constant, typically bounded between minimum and maximum limits so the indicator does not become arbitrarily slow or fast. These bounds depend on parameter choices (for example, a fast end and a slow end).
This step produces a smoothing factor that changes each time step because the efficiency changes with the latest N-period price behavior.
5) Update the Frama moving average recursively
Finally, Frama updates its output using a recursion of the form:
- take the previous Frama value
- move it toward a current price reference by an amount proportional to the adaptive smoothing constant
So the output is a time-varying moving average: it may move faster when the calculated efficiency suggests trending behavior, and slower when it suggests choppiness.
Evidence or example
Below is a simplified, assumption-based example that shows the sequence without using live market data.
Example setup (assumptions)
Assume:
- You compute ranges using high minus low within each window.
- You use a lookback length N.
- At each time t, you have a window of price highs/lows to compute full, half, and quarter ranges.
- You compute an efficiency-like value from these ranges, then map it to a smoothing constant between chosen limits.
Step-by-step sequence
- At time t, compute the full-window range over N periods.
- Compute half-window ranges by splitting the same N window into two parts and summing their high-low ranges.
- Compute quarter-window ranges by splitting into four parts and summing their ranges.
- Use these range measures to compute the efficiency/fractality estimate.
- Convert that estimate into an adaptive smoothing constant (bounded).
- Update Frama recursively:
- start with yesterday’s Frama value
- add an adjustment toward a chosen current price reference (often a midpoint or close, depending on implementation) scaled by the adaptive smoothing constant.
What you should be able to verify
If you reproduce the same inputs and the same parameter definitions, the adaptive smoothing constant should change from bar to bar. When recent price movement produces range relationships that indicate higher “efficiency,” the smoothing constant tends to be larger (Frama reacts more). When range relationships indicate lower efficiency, the smoothing constant tends to be smaller (Frama reacts less).
Because this indicator is recursive and uses multiple lookback scales, small differences in implementation details (range calculation, parameter mapping, rounding) can create different output lines even when using the same market chart.
Limitations and risks
1) Model behavior depends on parameter and implementation choices
Frama is sensitive to how you define:
- the price inputs (high-low range vs other choices)
- the exact window splits (for example, how non-integer splits are handled)
- the mapping from efficiency to smoothing (including bounds)
If two platforms use different formulas or different default parameters, the displayed Frama values may not match.
2) “Fractal-like” logic may still misclassify regimes
The fractal-efficiency idea is a classification of recent structure, not a direct measurement of future direction. In highly volatile or news-driven periods, price can be noisy in a way that leads the indicator to slow down when you might expect it to respond.
Conversely, in sharp but irregular movements, the computed structure can sometimes look “efficient” even if the direction later changes.
3) False certainty risk: it is not a standalone trading signal
Frama output is best understood as a filtered representation of price behavior, not as a guaranteed forecast. Using it as a standalone signal can lead to overconfidence because the indicator’s adaptation is driven by recent range relationships only.
4) Edge conditions and warm-up periods
On the earliest bars, you may not have enough history to compute the full set of window ranges consistently. That can create warm-up artifacts or discontinuities until the lookbacks are fully populated.
Verification or next question
To independently verify how Frama works on your data:
- Pick a platform or code implementation and record its exact parameter definitions (lookback length and any bounds).