⚠️ BETA TESTING ENVIRONMENT - You are accessing a beta version of GomerAI. Features may be unstable or incomplete.
📧
🌟 BETA TESTERS NEEDED! Help us test our Beta EA. Sign up to our email list and send us a note with "Beta Tester" in the subject field.
Join Now

GomerAI REGIME Indicator Users Manual

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

  1. Introduction
  2. What Does REGIME Do?
  3. Installation
  4. Visual Interpretation
  5. Input Parameters
  6. EA Integration
  7. Troubleshooting
  8. FAQ
  9. 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:

  1. Open MetaTrader 5
  2. Go to Tools → Options
  3. Click the Expert Advisors tab
  4. Check “Allow WebRequest for listed URL:”
  5. 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
  1. Click OK
  2. 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

  1. Open MT5
  2. Go to Toolbox → Market tab
  3. Search for “GomerAI REGIME”
  4. Click Download (or Purchase if paid)
  5. Indicator auto-installs to Indicators/Market/

Option B: Direct Download from GomerAI.com

  1. Download GomerAI_REGIME_Indicator_Beta_v1.0.1.ex5 from website
  2. Copy file to: C:\Users\[YourName]\AppData\Roaming\MetaQuotes\Terminal\[ID]\MQL5\Indicators\
  3. Restart MT5
  4. Indicator appears in Navigator → Indicators → Custom

Option C: Compile from Source (GitHub)

  1. Download .mq5 source from: https://github.com/TMGContracting/GomerAI-EA
  2. Open MetaEditor (F4 in MT5)
  3. Open the .mq5 file
  4. Click Compile (F7)
  5. Compiled .ex5 auto-installs

Step 3: Load on Chart

  1. Open a chart (any symbol, any timeframe)
  2. In Navigator, expand Indicators → Custom (or Market)
  3. Drag GomerAI_REGIME_Indicator_Beta_v1.0.1 onto the chart
  4. Parameters dialog appears (see next section)
  5. 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 false if 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 false if 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

BufferNameTypeValuesUse Case
0RegimeHistogramDATA0-100Visual display (don’t read)
1RegimeColorIndexCOLOR_INDEX0/1/2Visual colors (don’t read)
2RegimeStateCALCULATIONS0/1/2EA reads: 0=QUIET, 1=TRENDING, 2=EXTREME
3RegimeConfidenceCALCULATIONS0-100EA 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:

  1. Go to Tools → Options → Expert Advisors
  2. Add the 3 URLs (see Installation section)
  3. Restart MT5 (important!)
  4. 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:

  1. 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)
  1. 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
  1. 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:

  1. Verify you’re using v1.0.1 (not v1.0.0)
  2. Remove indicator from chart
  3. Restart MT5
  4. 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:

  1. Increase MinBarsBeforeChange (default: 3)
  • Try 5 or 10 for more stability
  1. Use higher timeframes
  • H1 or H4 more stable than M5
  • Multi-timeframe confirmation helps
  1. 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:

  1. Verify handle creation:
   if (g_RegimeHandle == INVALID_HANDLE)
      Print("Handle creation failed!");
  1. Check path:
  • Marketplace: "Market\\GomerAI_REGIME_Indicator_Beta_v1.0.1"
  • Custom: "GomerAI\\REGIME\\GomerAI_REGIME_Indicator_Beta_v1.0.1"
  1. Wait for indicator to initialize:
   if (BarsCalculated(g_RegimeHandle) < 2)
   {
      Print("REGIME not ready yet, waiting...");
      return;
   }
  1. 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:

  1. DiagnosticMode enabled
  • Creates huge log volume
  • Solution: Set DiagnosticMode = false
  1. Too many instances
  • REGIME on 10+ charts = heavy CPU load
  • Solution: Limit to 3-5 charts
  1. Network connection issues
  • Slow/timeout trying to reach Bridge
  • Solution: Set EnableNetwork = false for 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)
  • MinBarsBeforeChange prevents 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:

  1. MT5 auto-notifies you of updates
  2. Click Update in Market tab
  3. Indicator auto-updates

If installed manually:

  1. Download new version from gomerai.com
  2. Replace old .ex5 file with new one
  3. Restart MT5
  4. 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 DiagnosticMode is 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:

  1. Screenshot of issue
  2. Symbol and timeframe
  3. MT5 build number (Help → About)
  4. REGIME version (v1.0.1)
  5. Experts tab log (if error)

Bug Reports

GitHub Issues: https://github.com/TMGContracting/GomerAI-EA/issues

Before reporting:

  1. Check FAQ (above)
  2. Try troubleshooting steps
  3. 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

GomerAI Chat
GomerAI Production active. How can I help?