GomerAI REGIME Indicator – User Manual
Version: 1.0.1
Release Date: January 1, 2026
Compatibility: MetaTrader 5 (Build 3802+)
Support: support@gomerai.com
📖 Table of Contents
- Introduction
- What Does REGIME Do?
- Installation
- Visual Interpretation
- Input Parameters
- EA Integration
- Troubleshooting
- FAQ
- Support
Introduction
The GomerAI REGIME Indicator is a market condition classifier that helps traders understand the current state of the market. It analyzes three key aspects of price action (trend strength, volatility, and range behavior) to classify the market into one of three regime states:
- QUIET: Low volatility, compression, range-bound
- TRENDING: Directional movement, good volatility
- EXTREME: High volatility, potential reversal
Important: REGIME provides context, not advice. It tells you what the market is doing, not what you should do.
What Does REGIME Do?
The Problem It Solves
Different trading strategies work better in different market conditions:
- Mean reversion works in QUIET markets
- Trend following works in TRENDING markets
- Breakout/reversal strategies work around EXTREME conditions
REGIME helps you identify which condition the market is in right now, with a confidence score.
How It Works
REGIME uses a 3-axis classifier:
Axis 1: Trend Strength
- Measures ADX (Average Directional Index) and EMA separation
- Higher values = stronger trend
Axis 2: Volatility
- Measures ATR (Average True Range) percentile over 100 bars
- Higher percentile = volatility expansion
Axis 3: Range Behavior
- Measures Bollinger Band width vs ATR
- Low ratio = squeeze/compression
These three measurements are combined to determine which regime best describes the current market.
The Output
Visual: A histogram in a separate window below your price chart
- Height = Confidence (0-100)
- Color = Regime type (Gray/Blue/Red)
For EAs: Four data buffers that Expert Advisors can read programmatically
- Buffer 2: Regime state (0/1/2)
- Buffer 3: Confidence (0-100)
Installation
Step 1: Whitelist URLs (REQUIRED)
Before installing, you must whitelist the indicator’s communication URLs in MT5:
- Open MetaTrader 5
- Go to Tools → Options
- Click the Expert Advisors tab
- Check “Allow WebRequest for listed URL:”
- Add these three URLs (one per line):
https://gomerai.com
https://bridge-v80-1071940882039.us-central1.run.app
https://bridge-dlt-1071940882039.us-central1.run.app
- Click OK
- Restart MetaTrader 5 (important!)
Why? REGIME connects to GomerAI’s backend for licensing and telemetry. Without these URLs whitelisted, it will run in STANDALONE mode (still works, but some features disabled).
Step 2: Install the Indicator
Option A: From MT5 Marketplace
- Open MT5
- Go to Toolbox → Market tab
- Search for “GomerAI REGIME”
- Click Download (or Purchase if paid)
- Indicator auto-installs to
Indicators/Market/
Option B: Direct Download from GomerAI.com
- Download
GomerAI_REGIME_Indicator_Beta_v1.0.1.ex5from website - Copy file to:
C:\Users\[YourName]\AppData\Roaming\MetaQuotes\Terminal\[ID]\MQL5\Indicators\ - Restart MT5
- Indicator appears in Navigator → Indicators → Custom
Option C: Compile from Source (GitHub)
- Download
.mq5source from:https://github.com/TMGContracting/GomerAI-EA - Open MetaEditor (F4 in MT5)
- Open the
.mq5file - Click Compile (F7)
- Compiled
.ex5auto-installs
Step 3: Load on Chart
- Open a chart (any symbol, any timeframe)
- In Navigator, expand Indicators → Custom (or Market)
- Drag GomerAI_REGIME_Indicator_Beta_v1.0.1 onto the chart
- Parameters dialog appears (see next section)
- Click OK
Result: A histogram window appears below your price chart.
Visual Interpretation
The Histogram Window
Location: Separate window below price chart
Visual: Vertical bars (histogram)
Understanding the Colors
Gray/White Bars = QUIET
- Market is range-bound, low volatility
- Mean reversion strategies often work best
- Breakouts may be false breakouts
- Consider scalping, range trading
Blue Bars = TRENDING
- Market has clear directional movement
- Trend-following strategies often work best
- Pullbacks are buying/selling opportunities
- Consider trend-following, momentum
Red Bars = EXTREME
- Volatility spike, potential exhaustion
- Reversal or consolidation may be imminent
- High risk, high reward environment
- Consider counter-trend, breakout capture
Understanding the Height
Bar height = Confidence level (0-100)
- Tall bars (70-100): High confidence in classification
- Market clearly in this regime
- Strong conviction for strategy selection
- Medium bars (40-69): Moderate confidence
- Market may be transitioning
- Mixed signals
- Use caution
- Short bars (0-39): Low confidence
- Unclear regime
- Conflicting signals across the 3 axes
- Consider waiting for clarity
Example Interpretations
Tall Blue Bar (85 confidence):
- “Market is TRENDING with high confidence”
- Strong directional move, ADX high, good volatility
- Ideal for trend-following entries
Short Gray Bar (30 confidence):
- “Market is possibly QUIET but unclear”
- Low confidence = mixed signals
- Wait for clearer regime before acting
Tall Red Bar (78 confidence):
- “Market is EXTREME with high confidence”
- Sharp volatility spike, potential reversal zone
- High alert for trend exhaustion
Input Parameters
When you load REGIME on a chart, you’ll see these input parameters. Most traders can use the defaults.
Network & AITL Settings (Usually leave as default)
EnableNetwork (Default: true)
- What it does: Enables connection to GomerAI backend
- When to change:
- Set to
falseif running offline or in Strategy Tester - STANDALONE mode still works without network
EnableTelemetry (Default: true)
- What it does: Sends anonymous usage data to improve the indicator
- What is sent: Regime classifications, confidence levels, no personal data
- Privacy: Fully anonymous, helps train AI models
- When to change: Set to
falseif you prefer no telemetry
HeartbeatSeconds (Default: 60)
- What it does: How often to send status updates (when network enabled)
- Range: 30-300 seconds
- Impact: Lower = more data sent, higher = less frequent updates
ShowAITLWidget (Default: false)
- What it does: Shows/hides AITL membership status popup
- When to enable: If you want to see your AITL trial/membership status
- Visual: Small popup in top-left corner of chart
Regime Calculation Settings (Advanced)
⚠️ WARNING: Changing these parameters alters how regimes are calculated. Only change if you understand the mathematics.
Trend Strength Parameters
ADX_Period (Default: 14)
- What it does: Lookback period for ADX (Average Directional Index)
- Range: 5-50
- Effect:
- Lower (5-10): More sensitive, faster regime changes
- Higher (20-50): Smoother, slower regime changes
- Recommendation: Use default unless you have strong reason to change
ADX_TrendThreshold (Default: 25.0)
- What it does: Minimum ADX value to consider a trend
- Range: 15.0-40.0
- Effect:
- Lower (15-20): More bars classified as TRENDING
- Higher (30-40): Only strong trends classified as TRENDING
- Standard: 25 is industry standard for “trend exists”
EMA_Fast (Default: 12)
- What it does: Fast EMA period for trend structure
- Range: 5-21
- Effect: Lower = more sensitive to price changes
EMA_Slow (Default: 26)
- What it does: Slow EMA period for trend structure
- Range: 21-50
- Effect: Higher = smoother, slower response
Volatility Parameters
ATR_Period (Default: 20)
- What it does: Lookback period for ATR (Average True Range)
- Range: 10-50
- Effect:
- Lower (10-15): More responsive to volatility spikes
- Higher (30-50): Smoother volatility measurement
- Recommendation: 14-20 is standard for most instruments
ATR_Lookback (Default: 100)
- What it does: How many bars to look back for ATR percentile calculation
- Range: 50-200
- Effect:
- Lower (50): Shorter-term volatility context
- Higher (200): Longer-term volatility context
- Recommendation: 100 balances short/long-term perspective
ATR_PercentileLow (Default: 25.0)
- What it does: Percentile threshold for “low volatility”
- Range: 10.0-40.0
- Effect: Lower = fewer bars classified as low volatility
ATR_PercentileHigh (Default: 75.0)
- What it does: Percentile threshold for “high volatility”
- Range: 60.0-90.0
- Effect: Higher = only extreme volatility classified as high
Range Behavior Parameters
BB_Period (Default: 20)
- What it does: Lookback period for Bollinger Bands
- Range: 10-50
- Effect:
- Lower (10-15): More sensitive to squeezes
- Higher (30-50): Smoother BB width calculation
- Recommendation: 20 is Bollinger’s original setting
BB_Deviation (Default: 2.0)
- What it does: Standard deviations for Bollinger Bands
- Range: 1.5-3.0
- Effect:
- Lower (1.5-2.0): Tighter bands
- Higher (2.5-3.0): Wider bands
- Recommendation: 2.0 is standard
BB_SqueezeThreshold (Default: 0.5)
- What it does: BB width / ATR ratio for “squeeze” detection
- Range: 0.3-0.8
- Effect:
- Lower (0.3): Only very tight squeezes detected
- Higher (0.8): More bars classified as squeezed
- Recommendation: 0.5 balances sensitivity
StdDev_Period (Default: 20)
- What it does: Lookback period for price standard deviation
- Range: 10-50
- Effect: Lower = more sensitive to volatility spikes
Extreme_StdDevMultiple (Default: 2.0)
- What it does: Multiplier for EXTREME regime trigger
- Range: 1.5-3.0
- Effect:
- Lower (1.5): More bars classified as EXTREME
- Higher (3.0): Only severe spikes classified as EXTREME
- Recommendation: 2.0 catches meaningful extremes
Diagnostic Settings (For Developers)
DiagnosticMode (Default: false)
- What it does: Enables detailed logging in Experts tab
- When to enable:
- Troubleshooting issues
- Verifying regime calculations
- Developer testing
- Impact: High log volume, slows down MT5
MinBarsBeforeChange (Default: 3)
- What it does: Minimum bars before regime can change (prevents flickering)
- Range: 1-10
- Effect:
- Lower (1): Regime can change every bar
- Higher (10): Regime changes less frequently
- Recommendation: 3 balances responsiveness and stability
EA Integration
Overview
Expert Advisors (EAs) can read REGIME’s output via the iCustom() function. REGIME exposes 4 data buffers:
- Buffer 0: RegimeHistogram (visual, don’t read)
- Buffer 1: RegimeColorIndex (visual, don’t read)
- Buffer 2: RegimeState (EA reads this – 0/1/2)
- Buffer 3: RegimeConfidence (EA reads this – 0-100)
Basic Integration Example
// In your EA's OnInit() or global section:
int g_RegimeHandle = INVALID_HANDLE;
int OnInit()
{
// Create handle to REGIME indicator
g_RegimeHandle = iCustom(_Symbol, PERIOD_CURRENT,
"GomerAI\\REGIME\\GomerAI_REGIME_Indicator_Beta_v1.0.1");
if (g_RegimeHandle == INVALID_HANDLE)
{
Print("ERROR: Failed to create REGIME indicator handle");
return INIT_FAILED;
}
return INIT_SUCCEEDED;
}
void OnDeinit(const int reason)
{
// Release indicator handle
if (g_RegimeHandle != INVALID_HANDLE)
IndicatorRelease(g_RegimeHandle);
}
void OnTick()
{
// Read current regime state and confidence
double regime_state[];
double regime_confidence[];
ArraySetAsSeries(regime_state, true);
ArraySetAsSeries(regime_confidence, true);
// Copy latest bar data
if (CopyBuffer(g_RegimeHandle, 2, 0, 1, regime_state) <= 0)
{
Print("ERROR: Failed to copy regime state buffer");
return;
}
if (CopyBuffer(g_RegimeHandle, 3, 0, 1, regime_confidence) <= 0)
{
Print("ERROR: Failed to copy regime confidence buffer");
return;
}
// Use regime data in your EA logic
int current_regime = (int)regime_state[0];
double confidence = regime_confidence[0];
// Example: Only trade when confidence is high
if (confidence < 70)
{
Print("Low confidence (", confidence, "), skipping trades");
return;
}
// Example: Different strategies per regime
if (current_regime == 0) // QUIET
{
Print("Market is QUIET - use mean reversion strategy");
// Your range-trading logic here
}
else if (current_regime == 1) // TRENDING
{
Print("Market is TRENDING - use trend-following strategy");
// Your trend-following logic here
}
else if (current_regime == 2) // EXTREME
{
Print("Market is EXTREME - reduce risk or exit");
// Your reversal/exit logic here
}
}
Advanced: Multi-Timeframe Analysis
// Check regime on multiple timeframes
int h1_regime_handle = iCustom(_Symbol, PERIOD_H1,
"GomerAI\\REGIME\\GomerAI_REGIME_Indicator_Beta_v1.0.1");
int h4_regime_handle = iCustom(_Symbol, PERIOD_H4,
"GomerAI\\REGIME\\GomerAI_REGIME_Indicator_Beta_v1.0.1");
// Read both timeframes
double h1_state[], h4_state[];
CopyBuffer(h1_regime_handle, 2, 0, 1, h1_state);
CopyBuffer(h4_regime_handle, 2, 0, 1, h4_state);
// Only trade when both timeframes agree
if ((int)h1_state[0] == 1 && (int)h4_state[0] == 1)
{
Print("Both H1 and H4 are TRENDING - strong trend confirmation");
// Enter trend-following trade
}
Buffer Reference
| Buffer | Name | Type | Values | Use Case |
|---|---|---|---|---|
| 0 | RegimeHistogram | DATA | 0-100 | Visual display (don’t read) |
| 1 | RegimeColorIndex | COLOR_INDEX | 0/1/2 | Visual colors (don’t read) |
| 2 | RegimeState | CALCULATIONS | 0/1/2 | EA reads: 0=QUIET, 1=TRENDING, 2=EXTREME |
| 3 | RegimeConfidence | CALCULATIONS | 0-100 | EA reads: Confidence level |
⚠️ Buffer Contract: Buffers 2 and 3 are LOCKED and will never change. Your EA integration is safe.
Troubleshooting
“Bootstrap failed” / “Will run in STANDALONE mode”
Problem: REGIME couldn’t connect to GomerAI backend
Cause: URLs not whitelisted in MT5
Solution:
- Go to Tools → Options → Expert Advisors
- Add the 3 URLs (see Installation section)
- Restart MT5 (important!)
- Reload indicator on chart
Note: STANDALONE mode still works, just without AITL features.
No histogram appears in indicator window
Problem: Indicator window is blank/black
Possible Causes:
- Not enough history data
- REGIME needs at least 100 bars of history
- Solution: Change to lower timeframe or load more history (Home key in MT5)
- Indicator crashed
- Check Experts tab for error messages
- Common error: “array out of range” (should be fixed in v1.0.1)
- Solution: Remove and re-add indicator
- Window hidden
- Right-click chart → Indicator List → Check if REGIME is listed
- If listed but not visible, remove and re-add
“Array out of range” error
Problem: Error message in Experts tab: “array out of range in ‘GomerAI_REGIME_Indicator_Beta_v1.0.1.mq5′”
Status: Should be fixed in v1.0.1
If you still see this:
- Verify you’re using v1.0.1 (not v1.0.0)
- Remove indicator from chart
- Restart MT5
- Re-add indicator (MT5 will recompile)
If problem persists:
- Contact support with screenshot of error
- Include: Symbol, Timeframe, Number of bars on chart
Regime flickers too much
Problem: Regime changes every bar, hard to use
Solutions:
- Increase
MinBarsBeforeChange(default: 3)
- Try 5 or 10 for more stability
- Use higher timeframes
- H1 or H4 more stable than M5
- Multi-timeframe confirmation helps
- Ignore low confidence bars
- If confidence < 50, regime may be transitioning
- Wait for high confidence (70+) before acting
EA can’t read REGIME buffers
Problem: CopyBuffer() returns error or no data
Checklist:
- Verify handle creation:
if (g_RegimeHandle == INVALID_HANDLE)
Print("Handle creation failed!");
- Check path:
- Marketplace:
"Market\\GomerAI_REGIME_Indicator_Beta_v1.0.1" - Custom:
"GomerAI\\REGIME\\GomerAI_REGIME_Indicator_Beta_v1.0.1"
- Wait for indicator to initialize:
if (BarsCalculated(g_RegimeHandle) < 2)
{
Print("REGIME not ready yet, waiting...");
return;
}
- Check buffer index:
- Use buffer 2 (state) and buffer 3 (confidence)
- NOT buffer 0 or 1 (those are visual only)
Indicator runs slow / freezes MT5
Problem: MT5 becomes unresponsive when REGIME is loaded
Causes:
- DiagnosticMode enabled
- Creates huge log volume
- Solution: Set
DiagnosticMode = false
- Too many instances
- REGIME on 10+ charts = heavy CPU load
- Solution: Limit to 3-5 charts
- Network connection issues
- Slow/timeout trying to reach Bridge
- Solution: Set
EnableNetwork = falsefor testing
FAQ
Is REGIME a trading system?
No. REGIME is a context classifier, not a trading system. It tells you what the market is doing, not what you should do.
Think of it like a weather report:
- Weather report: “It’s raining” (context)
- Your decision: “I’ll bring an umbrella” (action)
REGIME says: “Market is TRENDING”
Your EA/strategy decides: “I’ll enter a trend-following trade”
Can I use REGIME for manual trading?
Yes! Many traders use it as a dashboard:
- QUIET (gray): Consider range-trading setups, scalping, mean reversion
- TRENDING (blue): Look for trend-following entries, pullback buys/sells
- EXTREME (red): High alert for reversals, reduce risk, take profits
Remember: REGIME is context. You still need a trading strategy.
What’s the difference between REGIME and other indicators?
Most indicators show price derivatives (momentum, moving averages, oscillators).
REGIME shows market state (what type of environment you’re in).
Analogy:
- RSI: “Price is overbought” (derivative)
- REGIME: “Market is in EXTREME volatility” (state)
REGIME helps you choose which indicators/strategies to use.
How accurate is REGIME?
REGIME doesn’t make predictions, so “accuracy” doesn’t apply.
Instead, think of confidence:
- High confidence (70+) = Clear regime state (3 axes agree)
- Low confidence (<40) = Uncertain (3 axes disagree)
When confidence is high, regime classification is reliable.
When confidence is low, wait for clarity.
Can I backtest REGIME in Strategy Tester?
Yes! REGIME works in Strategy Tester visual mode.
Limitations:
- AITL features disabled in tester (no network)
- Visual mode only (non-visual tester doesn’t show indicators)
EA Backtesting:
Your EA can read REGIME buffers in Strategy Tester and make decisions based on regime state. This is fully supported.
Does REGIME repaint?
No. REGIME classifications are based on closed bar data and do not change retroactively.
However:
- Regime can change on new bars (that’s normal, not repainting)
MinBarsBeforeChangeprevents rapid flickering- High confidence = more stable regime
Definition of repainting: Historical values change when new data arrives (REGIME does NOT do this)
What symbols and timeframes work with REGIME?
All symbols: Forex, indices, commodities, crypto, stocks
All timeframes: M1 to MN1
Best results:
- Liquid instruments (EUR/USD, US30, Gold)
- H1-D1 timeframes (more stable)
Less reliable:
- Illiquid instruments (wide spreads, gaps)
- M1-M5 timeframes (noisy, frequent regime changes)
How do I update to a newer version?
If installed from MT5 Marketplace:
- MT5 auto-notifies you of updates
- Click Update in Market tab
- Indicator auto-updates
If installed manually:
- Download new version from gomerai.com
- Replace old
.ex5file with new one - Restart MT5
- Remove old indicator from charts, add new one
⚠️ Note: Per GomerAI governance, each version is a NEW FILE (v1.0.1, v1.0.2, etc.). You may see multiple versions in your Navigator.
What is AITL and should I enable it?
AITL = AI Training Loop
What it does:
- Collects anonymous usage data (regime classifications, confidence levels)
- Sends to GomerAI backend for AI model training
- Helps improve future versions
What it does NOT collect:
- Personal information
- Account numbers
- Trade results
- Strategies
Should you enable it?
- Yes if you want to contribute to improving the indicator
- No if you prefer complete privacy
Default: Enabled (EnableTelemetry = true)
AITL Trial: Free users get 90-day AITL trial. After that, it’s optional to subscribe for continued telemetry features.
Can I modify REGIME’s source code?
Yes, REGIME is open-source (GitHub: gomerai-EA).
However:
- Modified versions cannot use “GomerAI” branding
- AITL integration must remain intact (license requirement)
- Buffer contract should not change (breaks EA compatibility)
For personal use: Modify freely
For redistribution: Contact GomerAI for licensing terms
Does REGIME work offline?
Yes! REGIME has STANDALONE mode.
When network is disabled or URLs not whitelisted:
- ✅ Full indicator functionality works
- ✅ Visual histogram displays
- ✅ EA integration works
- ❌ AITL telemetry disabled
- ❌ License validation skipped (runs in trial mode)
To run offline: Set EnableNetwork = false in inputs.
How much CPU/RAM does REGIME use?
Minimal. REGIME is optimized for performance.
Typical usage:
- CPU: < 1% per chart (on modern systems)
- RAM: ~5-10 MB per chart
- Calculation time: < 1ms per bar
Heavy usage (10+ charts):
- CPU: May reach 5-10% combined
- RAM: ~50-100 MB total
If MT5 slows down:
- Check
DiagnosticModeis disabled - Limit to 5 charts max
- Close other programs
Support
Documentation
- User Manual: This document (https://gomerai.com/support/)
- Technical Docs: GitHub (gomerai-EA repo)
- Video Tutorials: https://gomerai.com/tutorials/ (coming soon)
Contact Support
Email: support@gomerai.com
Response Time: 24-48 hours
Include in support requests:
- Screenshot of issue
- Symbol and timeframe
- MT5 build number (Help → About)
- REGIME version (v1.0.1)
- Experts tab log (if error)
Bug Reports
GitHub Issues: https://github.com/TMGContracting/GomerAI-EA/issues
Before reporting:
- Check FAQ (above)
- Try troubleshooting steps
- Verify you’re using latest version
Good bug report includes:
- Steps to reproduce
- Expected behavior
- Actual behavior
- Screenshots/logs
Feature Requests
Email: features@gomerai.com
Or: GitHub Issues with [FEATURE REQUEST] tag
Be specific:
- What feature you want
- Why it would be useful
- Use case examples
Community
- Discord: https://discord.gg/gomerai (coming soon)
- Forum: https://community.gomerai.com (coming soon)
Legal
License: Proprietary (GomerAI LLC)
Distribution: Free for personal use
Commercial Use: Requires license (contact sales@gomerai.com)
Disclaimer: REGIME is provided “as is” without warranty. Trading involves risk. GomerAI is not responsible for trading losses.
END OF USER MANUAL
Version: 1.0.1
Last Updated: January 1, 2026
Website: https://gomerai.com
Support: support@gomerai.com