Complete Troubleshooting for all EA ,Indicators and Utilities in Tradingbotmaker
Complete Troubleshooting & User Guide
1. EXPERT ADVISORS — TROUBLESHOOTING
Trades Not Opening
Q: The EA is running but no trades are placed. What should I check?
- Single Entry is ON: If SINGLEENTRY = true, the EA will not open a new trade while one already exists for that symbol with the same magic number. Disable it or close the existing trade first.
- Trade Direction restricted: TRADEDIRECTION may be set to LONGONLY or SHORTONLY, blocking one side entirely.
- Dashboard shows EA Stopped: Check the EADISABLEREASON field on the dashboard — it tells you exactly why (spread too high, drawdown hit, news filter, time filter, etc.).
- Magic Number mismatch: If ENABLEMAGICNUMBER = true, the EA only counts trades opened with its assigned magic number. Manually placed trades or other EA trades are invisible to it.
- Disable trade after account switch: Re-attaching the EA or switching accounts resets the EAACTIVE flag. Remove and re-attach the EA.
- Broker restrictions / insufficient margin: Check the Experts and Journal tab in MetaTrader. Error 4756 means trading is not allowed by the broker or account type.
- Max Trades Per Day reached: If MAXTRADESPERDAY is set and the limit is hit, no new entries open for the rest of that day.
- Trade On New Bar mode: If TRADEONNEWBARVALUE = true, the EA only evaluates signals on a new bar open. No trades trigger mid-candle.
Q: The EA shows "Trading Disabled" on the dashboard. Why?
The dashboard reads the internal EADISABLEREASON string. Common reasons and their causes:
| Reason Shown | Cause | Fix |
|---|---|---|
| Spread too high | Current spread exceeds MAXSPREADPOINTS | Increase MAXSPREADPOINTS or set it to 0 to disable |
| News Coming | News filter is active and an event is approaching | Disable ENABLENEWSFILTER or adjust news buffer minutes |
| Out of trading time | Current time is outside all enabled sessions | Adjust Time Filter sessions or set EnableTimeFilter = false |
| Trading Not allowed today | Day filter is blocking the current weekday | Enable the day in Trade Days Settings or set EnableDayFilter = false |
| Maximum drawdown Percent reached | Equity drawdown exceeded the set limit | Increase MAXDRAWDOWNPERCENT or set to 0 to disable |
| Maximum daily loss reached | DAILYSTOP triggered | Increase DAILYSTOP or set to 0 to disable |
Tip: Enable SHOWLOGS = true in settings for detailed output in the Experts tab showing exactly why trades are being skipped.
File & Loading Issues
Q: I cannot drag the EA file onto the chart. What should I do?
- Place the .ex4 / .ex5 file in MQL4/Experts or MQL5/Experts and right-click the Navigator panel, then select Refresh.
- Ensure AutoTrading is enabled — the toolbar button must be green.
- In the EA Properties window (when attaching), tick "Allow Automated Trading".
- Check the Experts tab for INIT_FAILED messages after attaching.
Q: The EA shows INIT_FAILED immediately after attaching. Why?
The EA runs validation checks on startup. A popup message box will appear with the exact reason before returning INIT_FAILED. Common failures:
- Both STOPLOSS and TAKEPROFIT are 0 in Pips mode — at least one must be non-zero.
- In Amount mode, both STOPLOSSAMOUNT and TAKEPROFITAMOUNT are 0.
- BREAKEVENACTIVATION pips value is below the broker's minimum stop level.
- TRAILINGDISTANCE is below the broker's minimum stop level.
- A symbol in the SYMBOLS list is not available in Market Watch (Multicurrency EA).
- Not enough historical bars loaded for the symbol and timeframe.
Stop Loss & Take Profit
Q: Stop Loss or Take Profit is not being set on trades.
- Minimum Stop Level violation: At startup, the EA validates SL/TP against SYMBOLTRADESTOPSLEVEL. If your pips value is below the broker's minimum, the EA returns INIT_FAILED with a message showing the required minimum.
- Hidden SL/TP is ON: If HIDDENSLTP = true, no actual SL/TP is sent to the broker server. The EA manages exits internally. This is intentional for brokers that reject SL/TP at order open time.
- Wrong mode selected: Verify you are using the correct mode — Pips, Amount, or Percent — and that your values match that mode.
Q: Breakeven or Trailing Stop is not activating.
- Ensure USEBREAKEVEN = true or USETRAILINGSTOPLOSS = true is enabled.
- BREAKEVENACTIVATION defines how many pips in profit before breakeven kicks in. The trade must reach this profit level first.
- TRAILINGSTART defines the pips profit threshold before trailing begins. If price has not moved that far, trailing will not activate.
- Both values must exceed the broker's minimum stop level or the EA will fail at INIT.
Unexpected Trade Closures
Q: Trades closed on their own without hitting SL or TP. Why?
Check the Safeguard Settings and Profit/Loss Limits — any of the following can trigger an automatic close of all trades:
| Setting | Trigger Condition |
|---|---|
| MAXDRAWDOWNPERCENT | Drawdown % from peak equity exceeded |
| MAXDRAWDOWNAMOUNT | Drawdown in currency amount exceeded |
| DAILYSTOP | Daily loss limit hit |
| DAILYTARGET | Daily profit target reached |
| WEEKLYSTOP / WEEKLYTARGET | Weekly limits reached |
| MONTHLYSTOP / MONTHLYTARGET | Monthly limits reached |
| MAXDEPOSITLOAD | Margin usage exceeded deposit load % (default: 50%) |
- News Filter: If ENABLENEWSFILTER = true and a news event fires, the EA follows the News Action Settings (CLOSETRADES, CLOSEHIGHESTLOOSINGTRADE, etc.).
- Time Filter / Day Filter: If CLOSEALLORDERSTRADETIME = true, all trades close when the allowed session ends.
- Close After N Candles: If CLOSEAFTERNCANDLE is greater than 0, trades close automatically after that many candles regardless of profit.
- Exit Strategy fired: An opposite signal (Supertrend flip, candlestick pattern, fractal break) triggered the configured exit strategy.
Grid / Hedge / Martingale
Q: Grid or Hedge orders are not appearing after the first trade.
- Grid: Check that MAXGRIDSTEP has not been reached. If it has, MAXGRIDACTION fires (default: Close All). The grid will not restart until new trades open.
- Hedge: If HEDGEEXECUTIONMODE = PENDING, the hedge is placed as a pending order and only appears as an open trade when price reaches the trigger level.
- For both: Pending orders cannot be placed within the broker's minimum stop level distance from current price. Increase STEPDISTANCE or HEDGEDISTANCE accordingly.
Q: I enabled Martingale, Grid, and Hedge together. Is that a problem?
The EA will display a "High Risk Alert!!" warning and message box, but will still initialize and run. Running all three simultaneously compounds lot sizes extremely aggressively and can deplete an account rapidly on a single losing streak. It is strongly recommended to enable only one loss recovery mode at a time.
Multicurrency EA Specific
Q: The EA runs on multiple pairs but only trades on one symbol.
- The multicurrency EA uses OnTimer() instead of OnTick() and waits for all symbols to sync bar times. If symbols are out of sync, it skips the check silently.
- All symbols listed in the SYMBOLS input (comma-separated) must be added to Market Watch before the EA loads.
- Symbol names must exactly match your broker's naming including any suffixes such as .pro, m, or _SB.
Tip: Enable SHOWLOGS = true — if you see "Waiting for symbol synchronization..." in the Experts tab, this is the cause.
Supertrend EA — Strategy Questions
Q: What is the difference between Entry Strategy 1 and Entry Strategy 2?
- Strategy 1: Buy when Supertrend flips green (direction change); Sell when it flips red. These are reversal/flip signals triggered at the moment of trend change.
- Strategy 2: Buy when price pulls back and bounces on the green Supertrend line; Sell when price pulls back to the red line. These are continuation/retest signals.
Q: Does ENABLETRAILINGONSUPERTREND replace the normal trailing stop?
Yes. When ENABLETRAILINGONSUPERTREND = true, the Supertrend line itself dynamically acts as the trailing stop level. The stop follows the Supertrend line as it moves, instead of using the fixed pip-based trailing stop defined in the Trailing Stop settings.
2. INDICATORS — TROUBLESHOOTING
Applies to: Higher High Lower Low Indicator (MT4 and MT5)
Loading & Display Issues
Q: I attached the indicator but nothing appears on the chart.
- Ensure the .ex4 / .ex5 file is in MQL4/Indicators or MQL5/Indicators and Refresh the Navigator.
- Check that SHOWARROW = true and SHOWTEXT = true in the indicator settings.
- The indicator requires at least STARTBAR bars of history (default: 50). On newly opened charts or exotic pairs with sparse data, it returns early and draws nothing. Scroll back on the chart to load more history, then reload the indicator.
- Check the Experts tab for "Failed to create indicator handles" — this means iFractals or iATR failed to initialize. This is caused by insufficient historical data.
Q: Arrows and labels appear but they are always 2 bars behind the actual signal candle. Is this a bug?
No — this is by design. Williams Fractals require 2 bars on each side to be confirmed. A fractal at bar index i is only confirmed when bar i+2 closes. This 2-bar lag is inherent to fractal-based detection and cannot be removed without using unconfirmed/repainting signals. The signal is valid; it is simply confirmed after 2 bars.
Q: Labels overlap with candle bodies or are too far away.
- Adjust LABELOFFSET — this controls how far above/below the candle the text appears, calculated relative to ATR.
- Adjust ARROWUPSYMBOL and ARROWDOWNSYMBOL to change the arrow glyph code (default: 233 and 234).
Signal Logic Questions
Q: Do I need to add the indicator to the chart for the EA or Scanner to function?
No. The EA and Scanner calculate all indicator values internally using indicator handles (iFractals, iATR, iMA). Adding the indicator to the chart is purely for visual confirmation and does not affect any signal logic or trade execution.
Q: What is the difference between HH/LL Entry Strategy 1 and Strategy 2?
- Strategy 1: Buy signal when the pattern is HH + HL and price closes above the recent Higher High. Sell signal when the pattern is LH + LL and price closes below the recent Lower Low.
- Strategy 2: Buy signal when the pattern is LH + HL (a tightening range with bullish structure). Sell is the reverse.
Q: What does the number shown next to the signal arrow mean?
This is the switchIndex — the bar index at which the most recent signal was confirmed. A value of 1 means the signal fired on the last closed candle. Higher numbers mean the signal formed more candles ago.
Q: The MA Filter is enabled but trades seem to go in the wrong direction.
- Verify ENABLEMAFILTER = true and MA1TIMEFRAME is set to the timeframe you intend for trend bias (e.g., H4).
- If using Hull MA (HMA) mode — note that iMA() does not natively support HMA. The EA uses a custom HMA calculation that requires enough historical bars to be loaded first.
- Check which MA entry strategy is selected: some modes compare fast vs slow MA while others compare price vs MA.
3. SCANNER / DASHBOARD — TROUBLESHOOTING
Applies to: Higher High Lower Low Scanner Dashboard (MT4 and MT5)
Scanner Not Loading / Panel Not Showing
Q: I attached the scanner but the dashboard panel does not appear.
- The scanner uses EventSetTimer() for periodic refresh. If MetaTrader blocks timer events (e.g., in optimization mode), the panel will not draw.
- Check if the Hide/Show Panels button at the top of the chart is set to Show Panels. Clicking it toggles the SHOWPANEL flag.
- Try resizing the chart window slightly — this triggers OnChartEvent with CHARTEVENT_CHART_CHANGE which redraws all panel elements.
- Check the Experts tab for "No symbols found in the input list" — this means all pairs in your pairsList were unavailable in Market Watch and were filtered out.
Q: Some pairs are missing from the scanner panel. Why?
- The scanner checks each symbol via MarketInfo() (MT4) or SymbolSelect() (MT5). Symbols not in Market Watch are automatically filtered out and logged as "Symbol not available".
- Add missing symbols to Market Watch: right-click Market Watch, select Show All or search manually, then reload the indicator.
- For MT5: error code 4302 means the symbol is not in Market Watch; error code 4801 means the broker does not offer that pair.
- Ensure the symbol name in your pairsList exactly matches your broker's symbol name, including suffixes.
Q: A symbol appears in the panel but the signal cells are blank.
- The scanner needs enough historical bars for each enabled timeframe. If fewer bars than STARTBAR are loaded, GetIndicatorValues() returns false and leaves the cell blank.
- Open a chart for that symbol on the affected timeframe, scroll back to load more history, then reload the scanner.
- Check if the fractal indicator handle failed to create for that symbol/timeframe combination in the Experts tab logs.
Alerts & Notifications
Q: The scanner shows signals on the panel but I am not getting any alerts.
- ALLOWALERT, ALLOWNOTIFICATION, and ALLOWEMAIL must each be individually enabled in the Alert Settings section.
- Check if the Pause Alerts button on the dashboard was accidentally clicked. It sets SHOWALERTS = false. The button turns lime green when alerts are paused. Click it again to Resume Alerts.
- Alerts only fire on a new bar formation (isNewbarTf check). If no new bar has closed since the indicator loaded, no alert fires even if a signal exists on the panel.
- For push notifications, your MetaQuotes ID must be configured in MT5 via Tools > Options > Notifications.
Q: What is a Confluence Alert and why is it not triggering?
A confluence alert fires only when all enabled Confluence Timeframes show the same direction (all Bullish or all Bearish) simultaneously. A signal on just one timeframe will not trigger a confluence alert.
- Check the Confluence Timeframe Settings section and make sure you have enabled the timeframes you want to require agreement on.
- There are two separate timeframe sections — Individual (for panel columns) and Confluence (for cross-TF alerts). Make sure you configured the correct one.
- Enabling too many confluence timeframes makes it rare for all to align. Start with 2–3 related timeframes.
Dashboard Display & Interaction
Q: I click a symbol name in the panel but nothing happens.
- Clicking a symbol button triggers ChartSetSymbolPeriod() to switch the current chart to that symbol. This only works if the chart is not locked and the symbol is available in Market Watch.
- If the symbol name in the panel does not exactly match your broker's naming (e.g., suffix differences), the chart switch will fail silently.
Q: The panel is too small, too large, or the text is unreadable.
- Adjust PANELHEIGHTPCT, PANELWIDTHPCT, and PANELTEXTPCT — all are percentage values relative to the chart dimensions.
- Panel dimensions are recalculated via CalcuLateDimensions() every time the chart is resized. Simply resize the chart window to force an immediate re-render with new values.
Q: The scanner only shows signals for M1 and M5. How do I enable more timeframes?
There are two separate timeframe configuration sections. Both must be configured:
| Section | Setting Names | Purpose |
|---|---|---|
| Individual Scan | ENABLEIND1M, ENABLEIND5M, ENABLEIND15M... | Controls which timeframes are scanned and shown as columns in the panel |
| Confluence | ENABLE1M, ENABLE5M, ENABLE15M... | Controls which timeframes must all agree for a confluence alert to fire |
The MT5 version additionally supports non-standard timeframes (M2, M3, M4, M6, M10, M12, M20, H2, H3, H6, H8, H12) that the MT4 version does not have.
4. COMMON SETUP MISTAKES
Before You Attach Any Product
- Add all required symbols to Market Watch before loading the EA or indicator. Right-click Market Watch and select Show All, or search manually.
- Enable AutoTrading in the MetaTrader toolbar. The button must be green.
- Close any existing positions on the symbol if attaching an EA for the first time. Open positions with a different magic number can cause conflicts.
- Load sufficient historical data by scrolling back on the charts for all pairs you intend to scan or trade.
- Verify symbol names match your broker exactly, including any suffixes such as m, .pro, or _SB.
Most Common Errors and Fixes
| Mistake | What Happens | Fix |
|---|---|---|
| SL and TP both set to 0 in Pips mode | INIT_FAILED with popup error | Set at least one of SL or TP to a valid pips value greater than 0 |
| SL or TP value below broker minimum stop level | INIT_FAILED with message showing the required minimum | Increase SL/TP to exceed the broker's SYMBOLTRADESTOPSLEVEL |
| Breakeven or Trailing below minimum stop level | INIT_FAILED | Increase BREAKEVENACTIVATION or TRAILINGDISTANCE |
| Symbols missing from Market Watch | EA or Scanner filters out those pairs silently | Add all required symbols to Market Watch before loading |
| Wrong broker symbol suffix in pairs list | Symbols not found, blank panel cells | Match pairsList values exactly to broker symbol names |
| AutoTrading disabled | EA loads but never places any trade | Enable the AutoTrading button in the MetaTrader toolbar |
| Magic Number mismatch between EA instances | EA does not manage existing trades, may open duplicates | Use the same magic number across all related products |
| Martingale, Grid, and Hedge all enabled together | High Risk warning fires, exponential lot growth possible | Enable only one loss recovery mode at a time |
| SHOWDASHBOARDINTESTING = true during backtest | Backtesting becomes extremely slow | Set SHOWDASHBOARDINTESTING = false during optimization |
| Pause Alerts button accidentally clicked | No alerts fire from the scanner | Click the button again to Resume Alerts |
| Not enough historical bars loaded | Indicator or scanner shows blank cells or no signals | Scroll back on charts for all pairs to force history download |
| SINGLEENTRY = true with an existing open trade | EA skips all new entry signals | Close the existing trade or set SINGLEENTRY = false |
Filters Checklist — If Trades Are Still Not Opening
Run through this checklist in order to identify which filter is blocking trade entries:
- Dashboard status: Is "EA Active" shown? What does the Stop Reason field say?
- Spread filter: Is MAXSPREADPOINTS = 0 (disabled)? Or is the current spread exceeding the set limit?
- News filter: Is ENABLENEWSFILTER = false? Or is there an upcoming news event pausing trades?
- Time filter: Is EnableTimeFilter = false? Or is the current time outside all enabled sessions?
- Day filter: Is EnableDayFilter = false? Or is today's weekday disabled in Trade Days Settings?
- Safeguards: Have any of MAXDRAWDOWNPERCENT, DAILYSTOP, DAILYTARGET, or similar limits been triggered?
- Trade Direction: Is TRADEDIRECTION = BOTHDIRECTIONS?
- Single Entry: Is SINGLEENTRY = false, or has the existing trade been closed?
- MA / ADX / RSI / MACD filters: Are all trend and confirmation filters passing for the current market condition?
Tip: Enable SHOWLOGS = true to print the result of each check to the Experts tab for full transparency.
5. CONTACT & SUPPORT
Before contacting support, collect the following information to help resolve the issue faster:
- Enable SHOWLOGS = true and copy the relevant lines from the Experts tab.
- Note your MT4/MT5 build version, broker name, account type, and the exact product name and version number.
- Take a screenshot of your settings via right-click EA or Indicator > Properties > Inputs tab.
- Note the exact symbol name as it appears in your broker's Market Watch.
Contact channels:
- Email: support@tradingbotmaker.com
- Telegram: @pops1990
- MQL5 Store: mql5.com/en/users/biswait50/seller


