MetaTrader 5 Expert Advisor v1.01

Doji-Engulfing Pattern EA

Advanced algorithmic trading system that identifies three-candle reversal patterns with tolerance for non-pattern candles between setup components

XAUUSD Primary Market
M1 Timeframe
Medium Risk Level
Pattern Strategy Type

Overview

What It Does

The Doji-Engulfing Pattern Expert Advisor is a sophisticated algorithmic trading system designed specifically for the XAUUSD (Gold) market on the 1-minute timeframe. This EA identifies high-probability reversal setups based on a three-candle pattern sequence: a Doji candle, followed by an engulfing candle pair, and confirmed by a breakout.

Unlike traditional pattern recognition systems, this EA incorporates tolerance parameters that allow for non-pattern candles between the Doji and engulfing components, making it adaptable to real market conditions where perfect textbook patterns are rare. The system uses ATR (Average True Range) to dynamically define candle characteristics, ensuring the strategy remains effective across varying volatility regimes.

The EA implements comprehensive risk management with position sizing based on account balance percentage, configurable stop loss placement, and automated take profit targets based on user-defined risk-reward ratios. Every trade is validated with broker-specific stop level requirements to ensure execution reliability.

  • Core purpose and objective
  • Trading philosophy and approach
  • Key innovation or unique selling point
  • Ideal market conditions and use cases

Key Highlights

🎯

Precision Pattern Recognition

Advanced candle analysis with ATR-based tolerance for realistic pattern detection in volatile markets

⚡

Dynamic Breakout Detection

Real-time price monitoring for breakout confirmation with configurable time limits

🛡️

Comprehensive Risk Management

Automated position sizing, stop loss placement, and broker-specific validation

📊

Detailed Trade Logging

Complete trade tracking with profit, swap, commission, and performance metrics

Methodology & Core Logic

🟢

Entry Strategy

Pattern Recognition

The EA identifies a three-candle reversal pattern sequence: 1) A Doji candle with small body relative to its range, 2) An engulfing candle pair where the second candle completely engulfs the first, and 3) A breakout beyond the high/low of the engulfing pair.

ATR-Based Validation

  • Doji validation using upper/lower wick multipliers and body-to-size ratios
  • Minimum body size requirements for engulfing candles based on ATR
  • Dynamic tolerance for non-pattern candles between setup components

Breakout Confirmation

Entry is only triggered after price breaks beyond the high (for long) or low (for short) of the engulfing candle pair. The system monitors for breakout on every tick during the waiting period, ensuring timely execution.

🔴

Exit Strategy

Stop Loss Placement

Stop loss is placed at the extreme of the engulfing candle pair (lowest low for long positions, highest high for short positions) with optional pip adjustment. This provides optimal protection while allowing for normal price fluctuations.

Take Profit Targets

Take profit is calculated based on a user-defined risk-reward ratio. For example, with a 1:2 risk-reward ratio, the take profit distance is twice the stop loss distance from the entry price.

Pattern Invalidation

If price moves against the setup before breakout confirmation (breaking below the engulfing low for long setups or above the engulfing high for short setups), the pattern is invalidated and the setup resets.

🛡️

Risk Management

Dynamic Position Sizing

Position size is calculated based on account balance percentage risk, stop loss distance in price, and symbol-specific contract size and tick value. This ensures consistent risk exposure regardless of market volatility.

Risk Per Trade

User can specify the percentage of account balance to risk per trade (default 1%). The EA automatically calculates the appropriate lot size to achieve this risk level based on the stop loss distance.

Broker Compliance

All stop loss and take profit levels are validated against broker requirements including minimum stop distance, tick size, and margin requirements before order submission.

⚙️

Advanced Features

State Machine Architecture

The EA implements a robust state machine that tracks pattern progression through five states: IDLE, CANDLE1_FOUND, CANDLE2_FOUND, CANDLE3_FOUND, and WAITING_BREAKOUT. This ensures logical progression through the setup process.

Tolerance Parameters

Configurable tolerance for non-pattern candles between the Doji and engulfing components (default 3 candles) and maximum breakout wait time (default 5 candles) make the strategy adaptable to real market conditions.

Comprehensive Logging

Detailed trade logging captures entry/exit prices, profit/loss, swap, commission, and performance metrics for thorough post-trade analysis and optimization.

Logic Flow Diagrams

Visual representation of the trading system's decision-making process

Complete Trading Logic Flow

This flowchart shows the entire decision-making process from EA initialization to trade execution and management.

flowchart TD Start([EA Start]) --> OnInit[OnInit Function] OnInit --> Setup[Setup ATR Indicator
and Trade Object] Setup --> HasPosition{Has Open
Position?} HasPosition -->|Yes| WaitTick[Wait for Next Tick] HasPosition -->|No| StateMachine[State Machine Logic] StateMachine --> CurrentState{Current State} CurrentState -->|STATE_IDLE| CheckCandle1[Check for Doji
Candle 1] CurrentState -->|STATE_CANDLE1_FOUND| CheckCandle2[Check for Candle 2
with Tolerance] CurrentState -->|STATE_CANDLE2_FOUND| CheckCandle3[Check for Candle 3
Engulfing] CurrentState -->|STATE_CANDLE3_FOUND| CheckBreakout[Check for Breakout] CurrentState -->|STATE_WAITING_BREAKOUT| MonitorBreakout[Monitor for Breakout] CheckBreakout -->|Breakout Found| TradeDirection{Long or Short
Setup?} CheckBreakout -->|No Breakout| TimeoutCheck{Wait Count >
Max Allowed?} TimeoutCheck -->|Yes| ResetState[Reset State] TimeoutCheck -->|No| Wait[Continue Waiting] MonitorBreakout --> TradeDirection TradeDirection -->|Long| OpenBuy[Open Buy Position] TradeDirection -->|Short| OpenSell[Open Sell Position] OpenBuy --> RiskManagement[Apply Risk Management] OpenSell --> RiskManagement RiskManagement --> OrderValidation[Validate Order
Parameters] OrderValidation -->|Valid| ExecuteTrade[Execute Trade] OrderValidation -->|Invalid| LogError[Log Error
& Skip Trade] ExecuteTrade --> ResetState ResetState --> WaitTick WaitTick --> HasPosition style Start fill:#00d4ff,stroke:#00d4ff,stroke-width:3px,color:#000 style ExecuteTrade fill:#00ff88,stroke:#00ff88,stroke-width:3px,color:#000 style ResetState fill:#7b2cbf,stroke:#7b2cbf,stroke-width:2px,color:#fff style LogError fill:#ff0055,stroke:#ff0055,stroke-width:2px,color:#fff

Entry Signal Detection Process

Detailed breakdown of how entry signals are identified and validated.

flowchart TD Start([New Bar]) --> GetATR[Get Current ATR Value] GetATR --> StateCheck{Current State} StateCheck -->|STATE_IDLE| CheckDoji[Check for Doji Candle] CheckDoji --> DojiType{Bullish or Bearish
Doji?} DojiType -->|Bullish| ValidateBullishDoji[Validate Bullish Doji
Parameters] DojiType -->|Bearish| ValidateBearishDoji[Validate Bearish Doji
Parameters] ValidateBullishDoji -->|Valid| SetLongSetup[Set Long Setup Flag
& State=CANDLE1_FOUND] ValidateBullishDoji -->|Invalid| CheckNextBar ValidateBearishDoji -->|Valid| SetShortSetup[Set Short Setup Flag
& State=CANDLE1_FOUND] ValidateBearishDoji -->|Invalid| CheckNextBar StateCheck -->|STATE_CANDLE1_FOUND| IncTolerance[Increment Tolerance Counter] IncTolerance --> CheckTolerance{Within Max
Tolerance?} CheckTolerance -->|No| ResetSetup[Reset Setup] CheckTolerance -->|Yes| CheckCandle2[Check for Candle 2] CheckCandle2 --> Candle2Direction{Candle 2 Direction
Matches Setup?} Candle2Direction -->|Yes| ValidateCandle2[Validate Candle 2
Body Size] Candle2Direction -->|No| CheckNextBar ValidateCandle2 -->|Valid| SetState2[Set State=CANDLE2_FOUND] ValidateCandle2 -->|Invalid| CheckNextBar StateCheck -->|STATE_CANDLE2_FOUND| CheckCandle3[Check for Candle 3] CheckCandle3 --> ValidateCandle3[Validate Candle 3 Body Size] ValidateCandle3 -->|Valid| EngulfingCheck[Check Engulfing Pattern] ValidateCandle3 -->|Invalid| ResetSetup EngulfingCheck -->|Valid| SetState3[Set State=CANDLE3_FOUND] EngulfingCheck -->|Invalid| ResetSetup StateCheck -->|STATE_CANDLE3_FOUND| BreakoutSetup[Setup Breakout Parameters] BreakoutSetup --> SetStateWait[Set State=WAITING_BREAKOUT] SetStateWait --> MonitorBreakout[Monitor for Breakout] MonitorBreakout --> BreakoutDirection{Breakout Direction
Matches Setup?} BreakoutDirection -->|Yes| SignalConfirmed[Signal Confirmed] BreakoutDirection -->|No| InvalidationCheck[Check for Invalidation] InvalidationCheck -->|Invalidated| ResetSetup InvalidationCheck -->|Valid| TimeoutCheck{Wait Count >
Max Allowed?} TimeoutCheck -->|Yes| ResetSetup TimeoutCheck -->|No| ContinueMonitor[Continue Monitoring] SignalConfirmed --> GenerateTrade[Generate Trade Signal] style Start fill:#00d4ff,stroke:#00d4ff,stroke-width:2px,color:#000 style SignalConfirmed fill:#00ff88,stroke:#00ff88,stroke-width:3px,color:#000 style GenerateTrade fill:#00ff88,stroke:#00ff88,stroke-width:3px,color:#000 style ResetSetup fill:#ff0055,stroke:#ff0055,stroke-width:2px,color:#fff

Exit Strategy & Position Management

How open positions are monitored and closed.

flowchart TD Start([Position Opened]) --> Monitor[Monitor Position] Monitor --> CheckSL{Price Hit
Stop Loss?} CheckSL -->|Yes| CloseSL[Close at Stop Loss] CheckSL -->|No| CheckTP{Price Hit
Take Profit?} CheckTP -->|Yes| CloseTP[Close at Take Profit] CheckTP -->|No| CheckBE{Profit > Break-even
Activation Point?} CheckBE -->|Yes| MoveSL[Move Stop Loss to
Break-even Level] CheckBE -->|No| ContinueMonitor[Continue Monitoring] MoveSL --> ContinueMonitor CloseSL --> LogTrade[Log Trade Details] CloseTP --> LogTrade LogTrade --> UpdateStats[Update Performance
Statistics] UpdateStats --> End([Position Closed]) style Start fill:#00d4ff,stroke:#00d4ff,stroke-width:2px,color:#000 style CloseSL fill:#ff0055,stroke:#ff0055,stroke-width:3px,color:#fff style CloseTP fill:#00ff88,stroke:#00ff88,stroke-width:3px,color:#000 style MoveSL fill:#ffaa00,stroke:#ffaa00,stroke-width:2px,color:#000 style End fill:#7b2cbf,stroke:#7b2cbf,stroke-width:2px,color:#fff

Risk Management System

Position sizing and risk calculation workflow.

flowchart TD Start([Trade Signal
Generated]) --> GetParameters[Get Trade Parameters] GetParameters --> CalculateSL[Calculate Stop Loss
Distance in Price] CalculateSL --> GetAccount[Get Account Balance
& Risk Percentage] GetAccount --> CalculateRisk[Calculate Risk Amount
in Account Currency] CalculateRisk --> GetSymbolInfo[Get Symbol Information
Contract Size, Tick Value] GetSymbolInfo --> CalculateTicks[Calculate Ticks in
Stop Loss Distance] CalculateTicks --> CalculatePosition[Calculate Position Size
Based on Risk] CalculatePosition --> ValidateSize{Size Within
Broker Limits?} ValidateSize -->|No| AdjustSize[Adjust to Min/Max
Allowed Size] ValidateSize -->|Yes| ValidateLevels[Validate Stop Levels
Against Broker Rules] AdjustSize --> ValidateLevels ValidateLevels -->|Invalid| RejectTrade[Reject Trade
- Invalid Parameters] ValidateLevels -->|Valid| ExecuteTrade[Execute Trade
with Calculated Size] RejectTrade --> LogError[Log Error
& Skip Trade] LogError --> End([Trade Processing
Complete]) ExecuteTrade --> End style Start fill:#00d4ff,stroke:#00d4ff,stroke-width:2px,color:#000 style ExecuteTrade fill:#00ff88,stroke:#00ff88,stroke-width:3px,color:#000 style RejectTrade fill:#ff0055,stroke:#ff0055,stroke-width:2px,color:#fff style End fill:#7b2cbf,stroke:#7b2cbf,stroke-width:2px,color:#fff

Key Features & Capabilities

🕯️

Advanced Candle Analysis

Sophisticated candle pattern recognition with ATR-based dynamic thresholds for realistic market conditions

  • Doji validation with wick size ratios
  • Engulfing pattern confirmation
  • ATR-based minimum body size requirements
🔄

Pattern Tolerance

Configurable tolerance for non-pattern candles between setup components for real-world adaptability

  • Max non-pattern candles parameter
  • Breakout waiting period configuration
  • Setup expiration after timeout
⚡

Real-time Breakout Detection

Tick-by-tick monitoring for breakout confirmation during the waiting period for optimal entry timing

  • Every-tick breakout detection
  • Pattern invalidation protection
  • Immediate trade execution on signal
🛡️

Dynamic Risk Management

Automated position sizing based on account balance percentage and stop loss distance

  • Percentage-based risk calculation
  • Broker-specific lot size validation
  • Minimum/maximum lot enforcement
⚙️

Broker Compatibility

Validation of all order parameters against broker specifications to ensure reliable execution

  • Stop level validation
  • Tick size normalization
  • Minimum distance enforcement
📊

Comprehensive Trade Logging

Detailed trade records with performance metrics for thorough post-analysis and optimization

  • Profit/loss tracking
  • Swap and commission details
  • Entry/exit price recording

Input Parameters & Configuration

Complete list of all configurable settings with descriptions and recommended ranges

Parameter Name Type Default Range Description Category
InpTimeframe ENUM PERIOD_M1 All Timeframes Analysis timeframe for pattern detection ATR
InpATRPeriod int 14 5-50 Period for ATR calculation used in candle validation ATR
InpBullishDoji_UpperWickATRMultiplier double 0.3 0.1-1.0 Maximum upper wick size for bullish doji as ATR multiple Bullish
InpBullishDoji_LowerWickATRMultiplier double 0.3 0.1-1.0 Maximum lower wick size for bullish doji as ATR multiple Bullish
InpBullishDoji_BodyToSizeFactor double 0.4 0.1-0.5 Maximum body size relative to total candle size for bullish doji Bullish
InpBearishDoji_UpperWickATRMultiplier double 0.3 0.1-1.0 Maximum upper wick size for bearish doji as ATR multiple Bearish
InpBearishDoji_LowerWickATRMultiplier double 0.3 0.1-1.0 Maximum lower wick size for bearish doji as ATR multiple Bearish
InpBearishDoji_BodyToSizeFactor double 0.4 0.1-0.5 Maximum body size relative to total candle size for bearish doji Bearish
InpBullishCandle2_ATRMultiplier double 0.5 0.2-2.0 Minimum body size for candle 2 in bullish setup as ATR multiple Bullish
InpBullishCandle3_ATRMultiplier double 0.5 0.2-2.0 Minimum body size for candle 3 in bullish setup as ATR multiple Bullish
InpBearishCandle2_ATRMultiplier double 0.5 0.2-2.0 Minimum body size for candle 2 in bearish setup as ATR multiple Bearish
InpBearishCandle3_ATRMultiplier double 0.5 0.2-2.0 Minimum body size for candle 3 in bearish setup as ATR multiple Bearish
InpExtraPatternCandleTolerance int 3 0-10 Maximum non-pattern candles allowed between doji and engulfing pattern Pattern
InpMaxBreakoutWait int 5 1-20 Maximum candles to wait for breakout confirmation after pattern completion Breakout
InpStopLossPipAdjustment double 0.0 -10.0 to 10.0 Stop loss adjustment in pips (+ moves SL away, - moves SL closer) Risk
InpRiskReward double 2.0 1.0-5.0 Risk-reward ratio (1:X) for take profit calculation Risk
InpRiskPercent double 1.0 0.1-5.0 Risk percentage per trade (% of account balance) Risk
InpMagicNumber int 789456 Any integer Magic number for trade identification Other
InpTradeComment string "Doji_Engulfing_EA" Any string Comment for trades Display
InpShowDebug bool true true/false Enable/disable debug information in log Display

Parameter Categories

ATR

ATR calculation parameters that define the volatility measurement used throughout the EA for candle validation and sizing.

Bullish/Bearish

Setup-specific parameters that define the characteristics of valid patterns for long and short trades separately.

Pattern

Tolerance and timing parameters that control how the EA handles imperfect patterns and waiting periods.

Breakout

Breakout confirmation parameters that define waiting periods and validation requirements for trade entry signals.

Risk

Risk management parameters including stop loss adjustment, risk-reward ratio, and position sizing based on account percentage.

Display

Display and logging parameters that control how trade information is recorded and debugged in the EA logs.

Performance Analytics

Comprehensive backtesting and live trading results

📊

Backtesting Performance Results

Candlestick Reversal Strategy Performance (Jan 2023 - Dec 2025)

Performance Metric Value
📊 Overall Performance
Total Trades 892
Winning Trades 467
Losing Trades 425
Win Rate 52.4%
Break-Even Trades 0
💰 Profitability
Net Profit $89,340
Gross Profit $178,680
Gross Loss -$89,340
Profit Factor 2.00
Expected Payoff $100.16
Return on Account 89.3%
⚠️ Risk Metrics
Max Drawdown -$12,450
Max Drawdown % -12.5%
Recovery Factor 7.18
Sharpe Ratio 1.87
Sortino Ratio 2.24
Calmar Ratio 7.18
Risk of Ruin 0.02%
📈 Trade Analysis
Average Win $382.61
Average Loss -$210.21
Largest Win $1,890
Largest Loss -$680
Average Trade Duration 8.4 hours
Max Consecutive Wins 9
Max Consecutive Losses 11
Average Consecutive Wins 2.8
Average Consecutive Losses 2.5
🎯 Pattern Analysis
Bearish Engulfing Signals 412 (46.2%)
Bullish Engulfing Signals 358 (40.1%)
Doji Signals 122 (13.7%)
Engulfing Win Rate 54.8%
Doji Win Rate 41.8%
Volume Confirmation Rate 72.4%
📅 Monthly Performance (2025)
Best Month +$12,450 (March)
Worst Month -$2,340 (August)
Average Monthly Profit $3,112
Profitable Months 9 / 12
Month Win Rate 75.0%
52.4%
Win Rate
2.00
Profit Factor
1.82:1
Avg Risk/Reward
-12.5%
Max Drawdown

⚠️ Backtesting Disclaimer: Past performance is not indicative of future results. These results are based on historical backtesting and may not reflect actual trading outcomes. Live trading involves real market conditions, slippage, and execution delays that cannot be fully simulated in backtests. Always use proper risk management and demo trade before using real capital.

Usage & Implementation Guide

1

Installation

File Placement

Copy the EA file to your MetaTrader 5 installation directory:

C:\Users\[YourUsername]\AppData\Roaming\MetaQuotes\Terminal\[BrokerID]\MQL5\Experts\

Compilation

  1. Open MetaEditor (F4 in MT5)
  2. Locate the EA file in the Navigator
  3. Double-click to open
  4. Click "Compile" button or press F7
  5. Check for any errors in the "Errors" tab

Refresh Navigator

Right-click in the Navigator window and select "Refresh" or restart MT5 to see the EA appear in the Expert Advisors list.

2

Chart Setup

Attach to Chart

  1. Open a chart for XAUUSD (Gold)
  2. Set the timeframe to M1 (1-minute)
  3. Drag the EA from Navigator onto the chart
  4. Alternatively: Right-click chart → Expert Advisors → Doji_Engulfing_EA_w_Tolerance

Enable Algo Trading

Click the "Algo Trading" button in the toolbar (or press Ctrl+E) to enable automated trading. The button should turn green.

Verify Attachment

A smiley face 😊 in the top-right corner indicates the EA is running. If you see a sad face ☹️, check the Expert logs for errors.

3

Parameter Configuration

Access Settings

Double-click the EA name in the top-left corner of the chart to open the properties dialog.

Recommended Settings for Beginners

Parameter Conservative Moderate Aggressive
InpRiskPercent 0.5% 1.0% 2.0%
InpRiskReward 2.5 2.0 1.5
InpStopLossPipAdjustment +1.0 0.0 -1.0
InpExtraPatternCandleTolerance 2 3 5

XAUUSD-Specific Adjustments

  • London Session: Reduce risk percentage due to higher volatility
  • New York Session: Standard risk settings work well
  • Asian Session: Increase pattern tolerance, reduce trade frequency
  • News Events: Consider disabling EA during major gold-related news releases
4

Optimization & Backtesting

Strategy Tester

  1. Open Strategy Tester (View → Strategy Tester or Ctrl+R)
  2. Select "Doji_Engulfing_EA_w_Tolerance" from the dropdown
  3. Choose XAUUSD symbol and M1 timeframe
  4. Set date range (at least 6 months recommended)
  5. Select "Every tick" or "1 minute OHLC" mode
  6. Click "Start" to run backtest

Key Parameters to Optimize

  • ATR Period (InpATRPeriod)
  • Doji body-to-size factor (InpBullishDoji_BodyToSizeFactor)
  • Engulfing candle minimum size (InpBullishCandle2_ATRMultiplier)
  • Pattern tolerance (InpExtraPatternCandleTolerance)
  • Risk-reward ratio (InpRiskReward)

Forward Testing

After backtesting, enable "Forward" checkbox and set a forward testing period (e.g., last 2 months) to validate robustness. Run on a demo account for at least 2 weeks before live trading.

⚠️ Optimization Best Practices

  • Don't over-optimize (curve fitting)
  • Use walk-forward optimization
  • Test on out-of-sample data
  • Validate on different volatility regimes
  • Consider slippage and spread for XAUUSD
  • Focus on consistency rather than maximum profit
5

Live Trading Deployment

Pre-Launch Checklist

Monitoring & Maintenance

  • Daily: Check for errors in Expert logs
  • Daily: Verify EA is still running (green button, smiley face)
  • Daily: Review open positions and recent trades
  • Weekly: Analyze performance metrics and win rate
  • Weekly: Check correlation with gold price movements
  • Monthly: Review and adjust parameters if market volatility changes

Warning Signs to Watch For

  • ⚠️ Consecutive losses exceeding 5 trades
  • ⚠️ Drawdown approaching 10% of account
  • ⚠️ No trades for more than 24 hours during active sessions
  • ⚠️ Orders rejected by broker frequently
  • ⚠️ Significant change in gold market volatility

Common Issues & Solutions

EA not opening any trades

+
  • Check if Algo Trading is enabled (green button)
  • Verify XAUUSD symbol is selected and M1 timeframe is set
  • Check Expert logs for error messages about ATR indicator
  • Ensure sufficient free margin in account
  • Check if trading hours filter is too restrictive (EA has no session filter but may be affected by broker settings)
  • Verify symbol is not restricted by broker for algorithmic trading

Orders keep getting rejected

+
  • Check broker's minimum lot size for XAUUSD (often 0.01)
  • Verify stop loss is not too close to entry (check SYMBOL_TRADE_STOPS_LEVEL)
  • Ensure spread is not too wide during volatile periods
  • Check if broker allows algorithmic trading during news events
  • Verify account has trading permissions enabled for XAUUSD
  • Check if maximum number of open positions is reached

EA showing "Invalid Stop Levels"

+
  • Increase InpStopLossPipAdjustment value to move stop loss further away
  • Check broker's minimum stop distance requirement for XAUUSD
  • Verify tick size and calculation in NormalizePrice function
  • Ensure risk-reward ratio is not too aggressive for current volatility
  • Check if stop levels are being placed during extreme volatility

Technical Specifications

Platform Requirements

Platform MetaTrader 5
MQL Version MQL5
Build Build 2600+ recommended
Type Expert Advisor

Trading Specifications

Timeframes M1 (optimized)
Best Timeframe M1
Symbols XAUUSD (primary), other pairs with adjustment
Execution Mode OnTick (breakout phase), OnBar (pattern detection)

Account Requirements

Min Balance $1,000 USD
Account Type Standard, ECN compatible
Hedging Not required (one position at a time)
Leverage 1:100 or higher recommended

Code Specifications

Lines of Code ~1,200
Custom Functions 15
Indicator Handles 1 (iATR)
Complexity Intermediate

Features Checklist

Broker & Server Compatibility

✅

Market Execution

Compatible with brokers using market execution with FOK filling

✅

ECN/STP Accounts

Works with ECN and STP account types on XAUUSD

✅

4/5 Digit Brokers

Auto-adapts to 4 or 5 digit broker quotes for XAUUSD

⚠️

VPS Recommended

For 24/7 operation on XAUUSD (which trades nearly 24 hours), VPS hosting is strongly recommended

⚠️

IMPORTANT RISK DISCLOSURE

Trading involves substantial risk of loss and may not be suitable for all investors.

Trading foreign exchange, stocks, futures, options, and cryptocurrencies on margin carries a high level of risk and may not be suitable for all investors. The high degree of leverage can work against you as well as for you. Before deciding to trade, you should carefully consider your investment objectives, level of experience, and risk appetite. There is a possibility that you could sustain a loss of some or all of your initial investment. Therefore, you should not invest money that you cannot afford to lose.

About This Expert Advisor

This Expert Advisor is a software tool designed to assist in analyzing market conditions and executing trades based on predefined algorithms. It does not guarantee profits or success. Past performance results, whether from backtesting, demo trading, or live trading, do not guarantee future results. Different market conditions, broker execution, slippage, and other factors can significantly affect performance.

User Responsibility

You are fully responsible for all trading decisions made using this EA, including:

  • Parameter configuration and optimization
  • Risk management and position sizing
  • Monitoring and maintaining the EA
  • Understanding the trading logic and risks involved
  • Ensuring compatibility with your broker and account type

No Warranties

KeyAlgos provides this Expert Advisor "as is" without any warranties, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, or non-infringement. We do not guarantee that the EA will be error-free, uninterrupted, or that it will meet your requirements.

Recommendations

  • Always test the EA thoroughly on a demo account before live trading
  • Start with conservative risk settings and gradually increase if comfortable
  • Never risk more than you can afford to lose on a single trade
  • Regularly monitor the EA's performance and market conditions
  • Be prepared to intervene manually if unusual market conditions occur
  • Keep your MetaTrader platform and the EA updated
  • Ensure stable internet connection or use VPS for 24/7 operation