FX Levels - Complete Guide
This guide covers how to set up and use FX Levels for automatic support and resistance zone detection. FX Levels identifies significant price levels and draws them as colored rectangles on your chart, updating in real time as zones are tested, broken, or confirmed.
Setup & First Steps
- Drag FX Levels onto any chart. Colored zones will appear immediately.
- Choose your algorithm: Dynamic (NG) is the default and recommended choice. The older Classic algorithm is available as an alternative.
- Leave the default settings for your first session to see how the indicator behaves on your preferred instrument and timeframe.
- Optional: Configure additional timeframes for multi-TF level overlay (Dynamic algorithm only).
Key Parameters
Calculation Type: Dynamic vs. Classic
| Feature | Dynamic (NG) | Classic |
|---|---|---|
| Zone detection | Modern algorithm, adapts to price action | Older algorithm, fixed approach |
| Zone lifespan | Zones remain valid until broken | Zones based on historical bars setting |
| Recommended for | Most traders (default) | Users who prefer the legacy behavior |
| Multi-TF support | Yes (up to 3 additional timeframes) | Limited |
| Custom bars | Not applicable | Available for broker-independent levels |
Recommendation: Use Dynamic unless you have a specific reason to prefer Classic.
Focus Mode
When your chart has many zones and looks cluttered:
- Set FXL_FOCUS to
true - Set FXL_FOCUS_LEVELS to the number of nearest levels you want to see (default: 2)
The indicator will then display only the X closest support zones below price and X closest resistance zones above price. Everything else is hidden. The panel also adapts to show only the focused levels.
History Display
Set FXL_HISTORY_DISPLAY to false to hide historical (broken) zones. This keeps your chart clean and focused on currently active levels. Active zones remain visible regardless of this setting.
Multi-Timeframe Overlay (Dynamic Algorithm)
This is one of FX Levels' most powerful features. You can overlay levels from up to 3 higher timeframes on your current chart:
- FXL_NG_USE_CURRENT_TF: Keep
trueto include levels from your chart's timeframe - FXL_NG_CALCULATION_TF1/TF2/TF3: Set to higher timeframes (e.g., H1, H4, D1)
Rules:
- Additional timeframes must be higher than your chart timeframe
- Set a TF parameter to
PERIOD_CURRENTto disable it - Levels from higher timeframes are generally stronger and more reliable
Example setup for an M15 chart:
- Current TF: M15 (enabled)
- TF1: H1
- TF2: H4
- TF3: PERIOD_CURRENT (disabled)
This shows M15, H1, and H4 levels simultaneously. Zones that appear on multiple timeframes represent stronger support/resistance.
History Bars
FXL_HISTORY_BARS (default: 5000) controls how far back the indicator looks. Higher values find more historical levels but slow down calculation. The default of 5000 is a good balance.
Understanding the Display
Zone Colors
Active zones:
- YellowGreen: Support zone (price is above)
- Salmon (red): Resistance zone (price is below)
- Tan: Inside zone (price is currently within the zone)
Historical zones (if displayed):
- DarkGreen: Former support zone (dotted outline)
- SaddleBrown: Former resistance zone (dotted outline)
Zones automatically switch between support and resistance when price crosses through them. A zone that was resistance becomes support once price moves above it, and vice versa.
Zone Labels
Each zone is labeled with its identifier (L1, L2, etc.). Enable FXL_LABEL_ADD_DURATION to also show how long a zone has existed. Older zones that have been tested multiple times are generally more significant.
The Panel
The interactive panel shows:
- Current Bid price in the center
- R-Levels (resistance) above the bid
- S-Levels (support) below the bid
- When the bid price background changes color, it indicates a "Wait Condition" meaning price is inside a zone
The panel is draggable and includes an alert toggle button.
Alerts
FX Levels offers three alert types, all disabled by default:
| Alert | Parameter | What It Detects |
|---|---|---|
| Level Touch | FXL_ALERT_LEVEL_TOUCH | Price touches an active zone |
| New Level | FXL_ALERT_LEVEL_NEW | A new support/resistance zone is identified |
| Broken Level | FXL_ALERT_LEVEL_BROKEN | Price breaks through a zone |
Important: All three are set to false by default. You must explicitly enable the ones you want.
Notification channels include popup, email, mobile push, and sound. Alerts can be scheduled to specific time windows (up to 3 sessions) and filtered by weekday.
Practical Tips
Use Multi-TF for Stronger Levels
A support zone that appears on both M15 and H4 is much more reliable than one that only appears on M15. Set up at least one additional higher timeframe to identify these confluence zones.
Focus Mode for Clean Charts
If you are an active trader who needs a clean chart, enable Focus mode with 2-3 levels. You will always see the nearest relevant zones without the visual noise of dozens of historical levels.
The "Inside Zone" Signal
When the zone color changes to Tan (and the panel shows a wait condition), price is sitting inside a support/resistance zone. This is typically not a good time to enter a new trade. Wait for price to either bounce off the zone (confirming it) or break through it (invalidating it).
Zone Duration as a Quality Indicator
Enable the duration label (FXL_LABEL_ADD_DURATION = true). A zone that has survived for 3 weeks and been tested 4 times is more significant than a zone that appeared 2 hours ago. Use this information to prioritize which levels to trade from.
Combine with Other SI Indicators
FX Levels works well alongside:
- FX Power NG: Check if the currencies behind the pair support the level bounce or break
- FX Dynamic: Verify if the pair has remaining range to reach the next level
- FX Trend: Confirm whether the trend direction supports a bounce or breakout at the level
Common Issues
- No levels visible on higher timeframes (Classic algorithm): Reduce "History bars to calculate". The default of 5000 may be too many bars for H1+ timeframes to process correctly.
- "With Current chart timeframe disabled, you must set at least one additional TF": You turned off the current timeframe calculation but did not set any of TF1/TF2/TF3 to a valid higher timeframe. Either re-enable the current TF or configure at least one additional TF.
- Zones show wrong S/R labels in the panel: This is a known display issue with the Dynamic algorithm where the panel's separation of support and resistance can occasionally be incorrect. Use the visual zones on the chart as the definitive reference.
- Slow loading after terminal restart: The indicator needs to recalculate all zones from historical data. This is normal after MetaTrader has been closed for more than a day. Wait for the calculation to complete.
- DST-related zone positioning issues (especially Gold, UK100): Configure the broker DST zone correctly or enable auto-detection. Incorrect DST settings shift the daily boundaries and affect zone placement.