# MAEA - Moving Average Expert Advisor Advanced trend-following Expert Advisor for MetaTrader 4 with sophisticated filtering and risk management features. ## 📋 Table of Contents - [Overview](#overview) - [Features](#features) - [Strategy Details](#strategy-details) - [Installation](#installation) - [Parameters](#parameters) - [Usage](#usage) - [Visual Indicators](#visual-indicators) - [Risk Management](#risk-management) - [Troubleshooting](#troubleshooting) - [Disclaimer](#disclaimer) ## 🎯 Overview MAEA is a sophisticated trading robot that uses Exponential Moving Averages (EMAs) with dynamic border lines to identify trend-following opportunities. The EA includes multiple filters to ensure high-quality trade entries and comprehensive risk management to protect your account. **Repository:** https://git.moreminimore.com/kunthawat/MAEA **Platform:** MetaTrader 4 **Language:** MQL4 **Timezone:** Thailand (UTC+7) ## ✨ Features ### Core Strategy - **5 Visual Indicator Lines:** 3 EMA lines + 2 dynamic Border Lines - **Breakthrough Signals:** Entry when price breaks through EMA High/Low - **Pullback Signals:** Enhanced lot sizing after pullback detection - **Dynamic Lot Sizing:** 0.01 or 0.02 lots based on market behavior - **Single Order Management:** Prevents over-trading ### Advanced Filters - **Volume Filter:** Trade only when volume exceeds 20-bar average - **Spread Filter:** Avoid high spread periods (max 30 points) - **Multiple Timeframe Filter:** D1 trend confirmation (optional) - **News Filter:** Avoid specific hours/days (Thailand timezone, optional) ### Risk Management - **Take Profit:** Target in USD (default $5) - **Stop Loss:** At dynamic Border Lines - **Breakeven:** Move SL to entry at 100 points profit - **Trailing Stop:** Trail by 100 points after breakeven - **Max Drawdown Protection:** Stop trading at 10% drawdown ## 📊 Strategy Details ### Indicator System #### EMA Lines (3 Base Lines) All EMAs use period 30 with different price sources: 1. **EMA High** (Light Blue) - EMA of High prices 2. **EMA Medium** (Yellow) - EMA of Close prices 3. **EMA Low** (Orange) - EMA of Low prices #### Border Lines (2 Dynamic Lines) Calculated based on the range between EMAs: 1. **High Border** (Purple) = EMA High + (EMA Medium - EMA Low) 2. **Low Border** (Purple) = EMA Low - (EMA Medium - EMA Low) **Example Calculation:** ``` EMA High = 3500 EMA Medium = 3400 EMA Low = 3300 Range = EMA Medium - EMA Low = 3400 - 3300 = 100 High Border = 3500 + 100 = 3600 Low Border = 3300 - 100 = 3200 ``` ### Signal Types #### 1. Breakthrough Signal - **Buy Signal:** Close price breaks above EMA High - **Sell Signal:** Close price breaks below EMA Low - **Purpose:** Triggers order opening #### 2. Pullback Signal - **Buy Pullback:** Price moves down to hit any line, then closes above the line - **Sell Pullback:** Price moves up to hit any line, then closes below the line - **Purpose:** Increases lot size when breakthrough occurs in same direction - **Tracking:** Separate for buy and sell directions ### Order Management - **Single Order:** Only one order at a time - **Dynamic Lot Sizing:** - 0.01 lot (no pullback before breakthrough) - 0.02 lot (pullback occurred before breakthrough) - **Stop Loss:** At Border Lines (Low Border for buys, High Border for sells) - **Take Profit:** Target in USD (default $5) - **Breakeven:** Move SL to entry at X points profit (default 100) - **Trailing Stop:** Trail by X points after breakeven (default 100) ## 🚀 Installation 1. **Download the EA:** - Clone the repository: `git clone https://git.moreminimore.com/kunthawat/MAEA.git` - Or download [`MAEA.mq4`](MAEA.mq4) directly 2. **Copy to MT4:** - Navigate to your MT4 data folder - Go to `MQL4/Indicators` or `MQL4/Experts` - Copy [`MAEA.mq4`](MAEA.mq4) to that folder 3. **Compile in MetaEditor:** - Open MetaEditor (press F4 in MT4) - Open [`MAEA.mq4`](MAEA.mq4) - Press F7 to compile - Ensure no compilation errors 4. **Attach to Chart:** - Open MT4 - Drag MAEA from Navigator to your chart - Recommended timeframe: H1 - Configure parameters as needed 5. **Enable Auto Trading:** - Click "Auto Trading" button in MT4 toolbar - Ensure EA is allowed to trade in Tools → Options → Expert Advisors ## ⚙️ Parameters ### EMA Settings | Parameter | Default | Description | |-----------|---------|-------------| | `EMAPeriod` | 30 | EMA period for all lines | ### Lot Settings | Parameter | Default | Description | |-----------|---------|-------------| | `LotSizeNormal` | 0.01 | Lot size without pullback | | `LotSizePullback` | 0.02 | Lot size with pullback | ### Risk Management | Parameter | Default | Description | |-----------|---------|-------------| | `TakeProfitUSD` | 5.0 | Take profit target in USD | | `BreakevenPoints` | 100 | Points to trigger breakeven | | `TrailingStopPoints` | 100 | Trailing stop distance | | `MaxDrawdownPercent` | 10.0 | Maximum drawdown percentage | ### Filters | Parameter | Default | Description | |-----------|---------|-------------| | `MaxSpread` | 30 | Maximum allowed spread in points | | `VolumePeriod` | 20 | Period for volume average | | `UseMTFFilter` | true | Enable MTF filter | | `UseNewsFilter` | true | Enable news filter | | `NewsAvoidHours` | "14,15,20,21" | Hours to avoid (Thailand time) | | `NewsAvoidDays` | "1,5" | Days to avoid (Monday=1, Friday=5) | ### General | Parameter | Default | Description | |-----------|---------|-------------| | `MagicNumber` | 12345 | EA unique identifier | ## 📖 Usage ### Basic Setup 1. Attach MAEA to an H1 chart 2. Adjust parameters according to your risk tolerance 3. Enable Auto Trading 4. Monitor the EA's performance ### Recommended Timeframes - **Trading Timeframe:** H1 (recommended) - **Filter Timeframe:** D1 (for MTF filter) ### Currency Pairs - Works on all major currency pairs - Best performance on trending pairs (EURUSD, GBPUSD, USDJPY) ### Account Types - Compatible with any MT4 account type - Ensure sufficient margin for lot sizes ## 🎨 Visual Indicators The EA displays 5 lines on your chart: | Line | Color | Style | Description | |------|-------|-------|-------------| | EMA High | Light Blue | Solid | EMA of High prices | | EMA Medium | Yellow | Solid | EMA of Close prices | | EMA Low | Orange | Solid | EMA of Low prices | | High Border | Purple | Dashed | Upper dynamic border | | Low Border | Purple | Dashed | Lower dynamic border | ### Reading the Indicators - **Price above all lines:** Strong uptrend - **Price below all lines:** Strong downtrend - **Price between lines:** Consolidation/ranging - **Border Lines:** Dynamic support/resistance levels ## 🛡️ Risk Management ### Take Profit - Closes order when profit reaches target amount in USD - Automatically calculated based on lot size and symbol ### Stop Loss - **Buy Orders:** SL at Low Border Line - **Sell Orders:** SL at High Border Line - Moves dynamically as Border Lines update ### Breakeven - Triggered when profit reaches specified points (default 100) - Moves Stop Loss to breakeven (entry price) - Protects profits while allowing room for trend continuation ### Trailing Stop - Activates after breakeven is reached - Trails Stop Loss by specified points (default 100) - Locks in profits as trend continues ### Drawdown Protection - Calculates drawdown percentage from peak equity - Stops trading if drawdown exceeds limit (default 10%) - Resumes trading when drawdown is below limit ## 🔧 Troubleshooting ### EA Not Opening Orders **Problem:** EA is attached but not opening any orders **Solutions:** 1. Check if Auto Trading is enabled (green button in MT4 toolbar) 2. Verify EA is allowed in Tools → Options → Expert Advisors 3. Check if filters are too restrictive: - Reduce `MaxSpread` if spread is too high - Disable `UseMTFFilter` temporarily - Disable `UseNewsFilter` temporarily 4. Verify account has sufficient margin 5. Check Experts tab for error messages ### Compilation Errors **Problem:** EA fails to compile in MetaEditor **Solutions:** 1. Ensure you're using MT4 (not MT5) 2. Check for missing brackets or semicolons 3. Verify all function names are spelled correctly 4. Update MetaEditor to latest version ### Incorrect Indicator Display **Problem:** Lines not displaying correctly on chart **Solutions:** 1. Ensure sufficient historical data (at least 50 bars) 2. Check if `EMAPeriod` is too high for available data 3. Refresh chart (right-click → Refresh) 4. Reattach EA to chart ### Orders Closing Prematurely **Problem:** Orders closing too early or not reaching TP **Solutions:** 1. Check if `TakeProfitUSD` is too low 2. Verify `MaxDrawdownPercent` is not too restrictive 3. Check if spread is causing SL hits 4. Review trade logs for closure reasons ### Drawdown Protection Triggering **Problem:** EA stops trading due to drawdown **Solutions:** 1. Increase `MaxDrawdownPercent` if too conservative 2. Wait for equity to recover above threshold 3. Review trading strategy and risk settings 4. Consider reducing lot sizes ### Timezone Issues **Problem:** News filter not working at expected times **Solutions:** 1. Verify your MT4 server timezone 2. Adjust `NewsAvoidHours` accordingly 3. Thailand timezone is UTC+7 4. Test with different hour values ### Performance Issues **Problem:** EA slow or causing MT4 lag **Solutions:** 1. Reduce `EMAPeriod` for faster calculations 2. Disable MTF filter if not needed 3. Close unnecessary charts and indicators 4. Check MT4 and computer performance ## 📝 Best Practices 1. **Start Small:** Begin with minimum lot sizes and conservative settings 2. **Test Thoroughly:** Use demo account before live trading 3. **Monitor Regularly:** Check EA performance and adjust as needed 4. **Keep Records:** Track trades and analyze performance 5. **Stay Informed:** Be aware of market conditions and news events 6. **Use Stop Loss:** Never disable risk management features 7. **Diversify:** Don't rely on a single EA or strategy ## ⚠️ Disclaimer **IMPORTANT NOTICE:** Trading Forex and CFDs involves significant risk of loss and may not be suitable for all investors. MAEA is provided as-is without any warranty or guarantee of performance. - Past performance is not indicative of future results - Always trade with money you can afford to lose - Test thoroughly on demo accounts before live trading - The authors are not responsible for any financial losses - Use at your own risk **By using MAEA, you acknowledge that:** - You understand the risks involved in trading - You are solely responsible for your trading decisions - You will not hold the authors liable for any losses - You have read and understood this disclaimer ## 📞 Support For issues, questions, or contributions: - **Repository:** https://git.moreminimore.com/kunthawat/MAEA - **Issues:** Report bugs or request features via repository issues ## 📄 License This project is provided for educational and research purposes. Use responsibly and in accordance with your broker's terms of service. --- **Version:** 1.00 **Last Updated:** 2026-01-02 **Timezone:** Thailand (UTC+7)