Initial commit: MAEA Expert Advisor v1.00
- Implemented complete trend-following strategy with EMA-based signals - Added 5 visual indicator lines (3 EMAs + 2 Border Lines) - Implemented breakthrough and pullback signal detection - Added dynamic lot sizing (0.01/0.02 based on pullback) - Implemented comprehensive filters: * Volume filter (20-bar average) * Spread filter (max 30 points) * Multiple Timeframe filter (H1 trading, D1 trend confirmation) * News filter (Thailand timezone) - Added advanced risk management: * Take Profit in USD * Stop Loss at Border Lines * Breakeven (100 points) * Trailing Stop (100 points) * Max drawdown protection (10%) - Created comprehensive documentation - Connected to Gitea repository
This commit is contained in:
342
plans/MAEA-implementation-plan.md
Normal file
342
plans/MAEA-implementation-plan.md
Normal file
@@ -0,0 +1,342 @@
|
||||
# MAEA (Moving Average Expert Advisor) Implementation Plan
|
||||
|
||||
## Project Overview
|
||||
- **Name**: MAEA
|
||||
- **Type**: MQL4 Expert Advisor for MetaTrader 4
|
||||
- **Strategy**: Advanced trend-following with EMA-based signals, multiple filters, and risk management
|
||||
- **Repository**: https://git.moreminimore.com/kunthawat/MAEA
|
||||
- **Timezone**: Thailand (UTC+7)
|
||||
|
||||
## Strategy Details
|
||||
|
||||
### 1. EMA Lines (3 Base Lines)
|
||||
All EMAs use period 30 with different price sources:
|
||||
- **EMA High**: EMA of High prices - Light Blue color
|
||||
- **EMA Medium**: EMA of Close prices - Yellow color
|
||||
- **EMA Low**: EMA of Low prices - Orange color
|
||||
|
||||
### 2. Border Lines (2 Dynamic Lines)
|
||||
Calculated based on the range between EMAs:
|
||||
- **High Border Line**: EMA High + (EMA Medium - EMA Low) - Purple color
|
||||
- **Low Border Line**: EMA Low - (EMA Medium - EMA Low) - Purple color
|
||||
|
||||
**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
|
||||
```
|
||||
|
||||
### 3. Signal Types
|
||||
|
||||
#### 3.1 Breakthrough Signal
|
||||
- **Buy Signal**: Close price breaks above EMA High
|
||||
- **Sell Signal**: Close price breaks below EMA Low
|
||||
- **Purpose**: Triggers order opening
|
||||
|
||||
#### 3.2 Pullback Signal
|
||||
- **Definition**: Price hits a line and closes on the opposite side
|
||||
- **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 the same direction
|
||||
- **Tracking**: Separate tracking for buy and sell directions, resets when order opens
|
||||
- **Lot Size Impact**:
|
||||
- No pullback before breakthrough = 0.01 lot
|
||||
- Pullback occurred before breakthrough = 0.02 lot
|
||||
|
||||
### 4. Order Opening Logic
|
||||
- **Only one order at a time**
|
||||
- **Lot Size**:
|
||||
- 0.01 lot if no pullback occurred before breakthrough
|
||||
- 0.02 lot if at least one pullback occurred before breakthrough in the same direction
|
||||
- **Trigger**: Breakthrough signal only
|
||||
- **Filters Applied**:
|
||||
- Volume filter must pass
|
||||
- Spread filter must pass
|
||||
- MTF filter must pass (if enabled)
|
||||
- News filter must pass (if enabled)
|
||||
|
||||
### 5. Risk Management
|
||||
|
||||
#### 5.1 Take Profit
|
||||
- Target specified in USD (e.g., $5)
|
||||
- Closes order when profit reaches target amount
|
||||
|
||||
#### 5.2 Stop Loss
|
||||
- **Buy Orders**: SL at Low Border Line
|
||||
- **Sell Orders**: SL at High Border Line
|
||||
|
||||
#### 5.3 Breakeven
|
||||
- Triggered when profit reaches specified number of points (e.g., 100 points)
|
||||
- Moves Stop Loss to breakeven (entry price)
|
||||
|
||||
#### 5.4 Trailing Stop
|
||||
- Starts after breakeven is reached
|
||||
- Trails Stop Loss by specified number of points from current price
|
||||
- Default: 100 points trail distance
|
||||
|
||||
## Additional Filters and Features
|
||||
|
||||
### 6. Volume Filter
|
||||
- **Calculation**: Average volume of last 20 bars
|
||||
- **Condition**: Trade only when current volume > average volume
|
||||
- **Purpose**: Ensures sufficient market activity
|
||||
|
||||
### 7. Multiple Timeframe (MTF) Filter
|
||||
- **Timeframes**: H1 (trading) and D1 (filter)
|
||||
- **Status**: Optional feature (can be turned on/off)
|
||||
- **D1 Filter Logic**:
|
||||
- If D1 close > D1 EMA High: Only buy orders allowed
|
||||
- If D1 close < D1 EMA Low: Only sell orders allowed
|
||||
- If D1 close between D1 EMA High and D1 EMA Low: No orders allowed
|
||||
- **Behavior**: Order opens immediately when filter condition is met
|
||||
|
||||
### 8. Spread Filter
|
||||
- **Purpose**: Avoid trading during high spread periods
|
||||
- **Condition**: Only open orders when current spread <= maximum allowed spread
|
||||
- **Default**: 30 points
|
||||
|
||||
### 9. Risk Management
|
||||
- **Max Drawdown**: Maximum percentage drawdown allowed
|
||||
- **Behavior**: Stop trading if drawdown exceeds limit
|
||||
- **Recovery**: Resume trading when drawdown is below limit
|
||||
|
||||
### 10. News Filter
|
||||
- **Purpose**: Avoid trading during high-impact news events
|
||||
- **Implementation**: Avoid specific times (e.g., NFP, FOMC releases)
|
||||
- **Timezone**: Thailand (UTC+7) - all times must be converted accordingly
|
||||
- **Flexibility**: User can configure multiple time ranges to avoid
|
||||
|
||||
## Strategy Flow Diagram
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A[Start New Bar] --> B[Calculate EMAs]
|
||||
B --> C[Calculate Border Lines]
|
||||
C --> D[Check for Open Orders]
|
||||
D -->|Has Open Order| E[Manage Open Order]
|
||||
D -->|No Open Order| F[Check Pullback Signals]
|
||||
|
||||
E --> E1[Check Take Profit]
|
||||
E1 -->|TP Reached| E2[Close Order]
|
||||
E1 -->|TP Not Reached| E3[Check Breakeven]
|
||||
E3 -->|Breakeven Reached| E4[Move SL to Entry]
|
||||
E3 -->|Breakeven Not Reached| E5[Check Stop Loss]
|
||||
E5 -->|SL Hit| E2
|
||||
E5 -->|SL Not Hit| A
|
||||
|
||||
F --> F1[Close Below EMA High]
|
||||
F1 -->|Yes| F2[Set Pullback Flag]
|
||||
F1 -->|No| F3[Close Below EMA Medium]
|
||||
F3 -->|Yes| F2
|
||||
F3 -->|No| F4[Close Below EMA Low]
|
||||
F4 -->|Yes| F2
|
||||
F4 -->|No| F5[Check Breakthrough Signals]
|
||||
|
||||
F2 --> F5
|
||||
F5 --> F6[Close Above EMA High]
|
||||
F6 -->|Yes| F7[Open Buy Order]
|
||||
F6 -->|No| F8[Close Below EMA Low]
|
||||
F8 -->|Yes| F9[Open Sell Order]
|
||||
F8 -->|No| A
|
||||
|
||||
F7 --> F10[Set Lot Size]
|
||||
F10 -->|Pullback| F11[0.02 Lot]
|
||||
F10 -->|No Pullback| F12[0.01 Lot]
|
||||
F11 --> F13[Set SL at Low Border]
|
||||
F12 --> F13
|
||||
F13 --> F14[Set TP based on USD Target]
|
||||
F14 --> F15[Reset Pullback Flag]
|
||||
F15 --> A
|
||||
|
||||
F9 --> F16[Set Lot Size]
|
||||
F16 -->|Pullback| F17[0.02 Lot]
|
||||
F16 -->|No Pullback| F18[0.01 Lot]
|
||||
F17 --> F19[Set SL at High Border]
|
||||
F18 --> F19
|
||||
F19 --> F20[Set TP based on USD Target]
|
||||
F20 --> F21[Reset Pullback Flag]
|
||||
F21 --> A
|
||||
|
||||
E2 --> F15
|
||||
```
|
||||
|
||||
## Implementation Steps
|
||||
|
||||
### Phase 1: Project Setup & Git Configuration
|
||||
1. Create MQL4 project structure
|
||||
2. Initialize Git repository
|
||||
3. Configure remote to Gitea server (https://git.moreminimore.com/kunthawat/MAEA)
|
||||
|
||||
### Phase 2: Core EA Structure
|
||||
4. Create [`MAEA.mq4`](MAEA.mq4) with basic EA framework
|
||||
5. Define all input parameters (EMA period, lot sizes, TP, breakeven, trailing stop, filters, etc.)
|
||||
6. Set up indicator buffers for 5 visual lines
|
||||
7. Initialize global variables for state tracking
|
||||
|
||||
### Phase 3: Indicator Calculations
|
||||
8. Implement EMA calculations for High, Medium, Low (period 30)
|
||||
9. Implement Border Line calculations (High Border = High + Range, Low Border = Low - Range)
|
||||
10. Add visual indicators with correct colors (Light Blue, Yellow, Orange, Purple)
|
||||
11. Implement Volume average calculation (20-bar average)
|
||||
|
||||
### Phase 4: Signal Detection
|
||||
12. Implement breakthrough signal detection (price breaks High/Low EMA)
|
||||
13. Implement pullback signal detection (price hits line and closes on opposite side)
|
||||
14. Implement separate pullback tracking for buy and sell directions
|
||||
15. Implement pullback flag reset logic after order opens
|
||||
|
||||
### Phase 5: Multiple Timeframe Filter
|
||||
16. Implement D1 EMA calculations for MTF filter
|
||||
17. Implement MTF filter logic (D1 > High = buy only, D1 < Low = sell only, between = no trade)
|
||||
18. Add enable/disable toggle for MTF filter
|
||||
|
||||
### Phase 6: Additional Filters
|
||||
19. Implement volume filter (current volume > 20-bar average)
|
||||
20. Implement spread filter (current spread <= max spread)
|
||||
21. Implement news filter (avoid specific hours/days, Thailand timezone)
|
||||
22. Add enable/disable toggles for news filter
|
||||
|
||||
### Phase 7: Order Management
|
||||
23. Implement order opening logic with all filter checks
|
||||
24. Implement dynamic lot sizing (0.01 no pullback, 0.02 with pullback)
|
||||
25. Implement Stop Loss placement at Border Lines
|
||||
26. Implement Take Profit calculation (convert USD target to pips)
|
||||
27. Implement Breakeven logic (move SL to entry at X points)
|
||||
28. Implement Trailing Stop logic (trail by X points after breakeven)
|
||||
29. Implement single order restriction
|
||||
|
||||
### Phase 8: Risk Management
|
||||
30. Implement max drawdown calculation
|
||||
31. Implement drawdown protection (stop trading if exceeded)
|
||||
32. Implement trading resume logic when drawdown is below limit
|
||||
|
||||
### Phase 9: Order Monitoring & Management
|
||||
33. Implement Take Profit checking on each tick
|
||||
34. Implement Breakeven checking and SL modification
|
||||
35. Implement Trailing Stop checking and SL modification
|
||||
36. Implement Stop Loss checking
|
||||
37. Implement order closure logic
|
||||
|
||||
### Phase 10: Testing & Validation
|
||||
38. Test all EMA and Border Line calculations
|
||||
39. Test breakthrough and pullback signal detection
|
||||
40. Test all filters (volume, spread, MTF, news)
|
||||
41. Test order opening with correct lot sizes
|
||||
42. Test TP, SL, breakeven, and trailing stop
|
||||
43. Test drawdown protection
|
||||
44. Test visual indicators display
|
||||
|
||||
### Phase 11: Documentation & Deployment
|
||||
45. Create comprehensive [`README.md`](README.md) with strategy documentation
|
||||
46. Add parameter descriptions and usage instructions
|
||||
47. Add troubleshooting guide
|
||||
48. Commit initial code to Git
|
||||
49. Push to Gitea repository
|
||||
50. Verify repository connection and code availability
|
||||
|
||||
## Input Parameters
|
||||
|
||||
| Parameter | Description | Default Value |
|
||||
|-----------|-------------|---------------|
|
||||
| `EMAPeriod` | EMA period for all lines | 30 |
|
||||
| `LotSizeNormal` | Lot size without pullback | 0.01 |
|
||||
| `LotSizePullback` | Lot size with pullback | 0.02 |
|
||||
| `TakeProfitUSD` | Take profit target in USD | 5.0 |
|
||||
| `BreakevenPoints` | Points to trigger breakeven | 100 |
|
||||
| `TrailingStopPoints` | Points for trailing stop distance | 100 |
|
||||
| `MagicNumber` | EA unique identifier | 12345 |
|
||||
| `MaxSpread` | Maximum allowed spread in points | 30 |
|
||||
| `VolumePeriod` | Period for volume average calculation | 20 |
|
||||
| `MaxDrawdownPercent` | Maximum drawdown percentage | 10.0 |
|
||||
| `UseMTFFilter` | Enable/disable MTF filter | true |
|
||||
| `UseNewsFilter` | Enable/disable news filter | true |
|
||||
| `NewsAvoidHours` | Hours to avoid (comma-separated) | 14,15,20,21 |
|
||||
| `NewsAvoidDays` | Days to avoid (comma-separated) | 1,5 |
|
||||
|
||||
## Visual Indicators
|
||||
|
||||
| Line | Color | Description |
|
||||
|------|-------|-------------|
|
||||
| EMA High | Light Blue (clrLightBlue) | EMA of High prices |
|
||||
| EMA Medium | Yellow (clrYellow) | EMA of Close prices |
|
||||
| EMA Low | Orange (clrOrange) | EMA of Low prices |
|
||||
| High Border | Purple (clrPurple) | Upper dynamic border |
|
||||
| Low Border | Purple (clrPurple) | Lower dynamic border |
|
||||
|
||||
## Key Considerations
|
||||
|
||||
1. **Pullback Detection**: Track price hitting lines and closing on opposite side separately for buy/sell
|
||||
2. **Pullback Reset**: Reset pullback flag immediately after opening an order
|
||||
3. **Single Order**: Only one order open at any time
|
||||
4. **Dynamic SL**: Stop Loss moves with Border Lines as they update
|
||||
5. **Breakeven**: Only moves SL to entry price, not to profit
|
||||
6. **TP Calculation**: Convert USD target to pips based on lot size and symbol
|
||||
7. **Volume Filter**: Only trade when current volume exceeds 20-bar average
|
||||
8. **MTF Filter**: D1 timeframe acts as trend filter, H1 for entry signals
|
||||
9. **Spread Filter**: Avoid high spread periods
|
||||
10. **Timezone**: All time-based filters use Thailand timezone (UTC+7)
|
||||
11. **Trailing Stop**: Activates after breakeven, trails by specified points
|
||||
12. **Drawdown Protection**: Stops trading if max drawdown exceeded
|
||||
|
||||
## Technical Specifications
|
||||
|
||||
- **Platform**: MetaTrader 4
|
||||
- **Language**: MQL4
|
||||
- **Trading Timeframe**: H1 (recommended)
|
||||
- **Filter Timeframe**: D1 (for MTF filter)
|
||||
- **Currency Pairs**: All pairs (user-selectable)
|
||||
- **Account Types**: Any MT4 account type
|
||||
- **Server Timezone**: Thailand (UTC+7)
|
||||
|
||||
## Testing Checklist
|
||||
|
||||
### Core Strategy
|
||||
- [ ] EMA calculations verify correctly (High, Medium, Low)
|
||||
- [ ] Border Line calculations verify correctly
|
||||
- [ ] Breakthrough signals trigger correctly
|
||||
- [ ] Pullback signals detect correctly (buy and sell separately)
|
||||
- [ ] Pullback flag resets after order opens
|
||||
- [ ] Lot sizes apply correctly (0.01 vs 0.02)
|
||||
|
||||
### Filters
|
||||
- [ ] Volume filter works (20-bar average, current > average)
|
||||
- [ ] Spread filter prevents high spread trades
|
||||
- [ ] MTF filter works correctly (D1 > High = buy only, D1 < Low = sell only, between = no trade)
|
||||
- [ ] MTF filter can be enabled/disabled
|
||||
- [ ] News filter avoids specified times (Thailand timezone)
|
||||
- [ ] News filter can be enabled/disabled
|
||||
|
||||
### Order Management
|
||||
- [ ] Stop Loss places at correct Border Lines
|
||||
- [ ] Take Profit closes at correct USD amount
|
||||
- [ ] Breakeven triggers at correct points
|
||||
- [ ] Trailing stop activates after breakeven
|
||||
- [ ] Trailing stop trails by correct distance
|
||||
- [ ] Only one order opens at a time
|
||||
|
||||
### Risk Management
|
||||
- [ ] Max drawdown protection works
|
||||
- [ ] Trading stops when drawdown exceeds limit
|
||||
- [ ] Trading resumes when drawdown is below limit
|
||||
|
||||
### Visual & Technical
|
||||
- [ ] Visual indicators display with correct colors
|
||||
- [ ] Git repository connects to Gitea successfully
|
||||
- [ ] Code compiles without errors
|
||||
- [ ] EA runs without runtime errors
|
||||
|
||||
## Notes
|
||||
|
||||
- The strategy uses 5 visual lines on the chart
|
||||
- Pullback tracking is separate for buy and sell directions
|
||||
- Border Lines expand the range beyond the EMAs for wider stops
|
||||
- The strategy is trend-following and works best in trending markets
|
||||
- Multiple filters ensure quality trade entries
|
||||
- All time-based calculations use Thailand timezone (UTC+7)
|
||||
- MTF filter provides higher timeframe trend confirmation
|
||||
- Risk management features protect account from excessive losses
|
||||
196
plans/MAEA-summary.md
Normal file
196
plans/MAEA-summary.md
Normal file
@@ -0,0 +1,196 @@
|
||||
# MAEA Project Summary
|
||||
|
||||
## Project Overview
|
||||
**MAEA (Moving Average Expert Advisor)** - An advanced trend-following trading robot for MetaTrader 4 with sophisticated filtering and risk management features.
|
||||
|
||||
**Repository:** https://git.moreminimore.com/kunthawat/MAEA
|
||||
**Timezone:** Thailand (UTC+7)
|
||||
|
||||
## Core Strategy
|
||||
|
||||
### Indicator System (5 Visual Lines)
|
||||
1. **EMA High** (Light Blue) - EMA of High prices, period 30
|
||||
2. **EMA Medium** (Yellow) - EMA of Close prices, period 30
|
||||
3. **EMA Low** (Orange) - EMA of Low prices, period 30
|
||||
4. **High Border** (Purple) - EMA High + (EMA Medium - EMA Low)
|
||||
5. **Low Border** (Purple) - EMA Low - (EMA Medium - EMA Low)
|
||||
|
||||
### Signal Types
|
||||
|
||||
#### 1. Breakthrough Signal
|
||||
- **Buy:** Close price breaks above EMA High
|
||||
- **Sell:** 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)
|
||||
|
||||
## Advanced Filters
|
||||
|
||||
### 1. Volume Filter
|
||||
- Calculate 20-bar volume average
|
||||
- Trade only when current volume > average
|
||||
- Ensures sufficient market activity
|
||||
|
||||
### 2. Spread Filter
|
||||
- Maximum allowed spread: 30 points
|
||||
- Prevents trading during high spread periods
|
||||
|
||||
### 3. Multiple Timeframe (MTF) Filter (Optional)
|
||||
- **Trading Timeframe:** H1
|
||||
- **Filter Timeframe:** D1
|
||||
- **Logic:**
|
||||
- D1 close > D1 EMA High: Only buy orders allowed
|
||||
- D1 close < D1 EMA Low: Only sell orders allowed
|
||||
- D1 close between: No orders allowed
|
||||
- Can be enabled/disabled
|
||||
|
||||
### 4. News Filter (Optional)
|
||||
- Avoid specific hours (default: 14, 15, 20, 21)
|
||||
- Avoid specific days (default: 1, 5)
|
||||
- All times in Thailand timezone (UTC+7)
|
||||
- Can be enabled/disabled
|
||||
|
||||
### 5. Risk Management
|
||||
- **Max Drawdown:** Percentage-based protection (default 10%)
|
||||
- Stops trading if drawdown exceeds limit
|
||||
- Resumes trading when drawdown is below limit
|
||||
|
||||
## Implementation Phases
|
||||
|
||||
### Phase 1: Project Setup & Git Configuration (3 tasks)
|
||||
- Create MQL4 project structure
|
||||
- Initialize Git repository
|
||||
- Configure remote to Gitea server
|
||||
|
||||
### Phase 2: Core EA Structure (4 tasks)
|
||||
- Create MAEA.mq4 with basic framework
|
||||
- Define all input parameters
|
||||
- Set up indicator buffers
|
||||
- Initialize global variables
|
||||
|
||||
### Phase 3: Indicator Calculations (4 tasks)
|
||||
- Implement EMA calculations (High, Medium, Low)
|
||||
- Implement Border Line calculations
|
||||
- Add visual indicators with colors
|
||||
- Implement Volume average calculation
|
||||
|
||||
### Phase 4: Signal Detection (4 tasks)
|
||||
- Implement breakthrough signal detection
|
||||
- Implement pullback signal detection
|
||||
- Implement separate pullback tracking
|
||||
- Implement pullback flag reset logic
|
||||
|
||||
### Phase 5: Multiple Timeframe Filter (3 tasks)
|
||||
- Implement D1 EMA calculations
|
||||
- Implement MTF filter logic
|
||||
- Add enable/disable toggle
|
||||
|
||||
### Phase 6: Additional Filters (4 tasks)
|
||||
- Implement volume filter
|
||||
- Implement spread filter
|
||||
- Implement news filter (Thailand timezone)
|
||||
- Add enable/disable toggle for news filter
|
||||
|
||||
### Phase 7: Order Management (7 tasks)
|
||||
- Implement order opening with all filters
|
||||
- Implement dynamic lot sizing
|
||||
- Implement Stop Loss placement
|
||||
- Implement Take Profit calculation
|
||||
- Implement Breakeven logic
|
||||
- Implement Trailing Stop logic
|
||||
- Implement single order restriction
|
||||
|
||||
### Phase 8: Risk Management (3 tasks)
|
||||
- Implement max drawdown calculation
|
||||
- Implement drawdown protection
|
||||
- Implement trading resume logic
|
||||
|
||||
### Phase 9: Order Monitoring & Management (5 tasks)
|
||||
- Implement Take Profit checking
|
||||
- Implement Breakeven checking and SL modification
|
||||
- Implement Trailing Stop checking and SL modification
|
||||
- Implement Stop Loss checking
|
||||
- Implement order closure logic
|
||||
|
||||
### Phase 10: Testing & Validation (7 tasks)
|
||||
- Test all EMA and Border Line calculations
|
||||
- Test breakthrough and pullback signals
|
||||
- Test all filters
|
||||
- Test order opening with correct lot sizes
|
||||
- Test TP, SL, breakeven, and trailing stop
|
||||
- Test drawdown protection
|
||||
- Test visual indicators display
|
||||
|
||||
### Phase 11: Documentation & Deployment (5 tasks)
|
||||
- Create comprehensive README.md
|
||||
- Add parameter descriptions and usage instructions
|
||||
- Add troubleshooting guide
|
||||
- Commit initial code to Git
|
||||
- Push to Gitea repository and verify
|
||||
|
||||
## Total Tasks: 50
|
||||
|
||||
## Key Features Summary
|
||||
|
||||
✅ **Advanced Trend Following:** EMA-based with dynamic border lines
|
||||
✅ **Smart Signal Detection:** Breakthrough and pullback signals with separate tracking
|
||||
✅ **Dynamic Lot Sizing:** 0.01 or 0.02 based on market behavior
|
||||
✅ **Comprehensive Filters:** Volume, spread, MTF, news, and drawdown protection
|
||||
✅ **Risk Management:** TP in USD, SL at borders, breakeven, trailing stop
|
||||
✅ **Visual Indicators:** 5 colored lines for easy analysis
|
||||
✅ **Flexible Configuration:** All features can be enabled/disabled
|
||||
✅ **Single Order Management:** Prevents over-trading
|
||||
✅ **Timezone Aware:** Thailand timezone (UTC+7) for all time-based features
|
||||
|
||||
## Default Parameters
|
||||
|
||||
| Parameter | Value | Description |
|
||||
|-----------|-------|-------------|
|
||||
| EMA Period | 30 | Period for all EMAs |
|
||||
| Lot Size (Normal) | 0.01 | Lot without pullback |
|
||||
| Lot Size (Pullback) | 0.02 | Lot with pullback |
|
||||
| Take Profit | $5 | Target profit in USD |
|
||||
| Breakeven Points | 100 | Points to trigger breakeven |
|
||||
| Trailing Stop Points | 100 | Trail distance after breakeven |
|
||||
| Max Spread | 30 points | Maximum allowed spread |
|
||||
| Volume Period | 20 | Bars for volume average |
|
||||
| Max Drawdown | 10% | Maximum drawdown percentage |
|
||||
| MTF Filter | true | Enable/disable MTF filter |
|
||||
| News Filter | true | Enable/disable news filter |
|
||||
|
||||
## Technical Specifications
|
||||
|
||||
- **Platform:** MetaTrader 4
|
||||
- **Language:** MQL4
|
||||
- **Trading Timeframe:** H1 (recommended)
|
||||
- **Filter Timeframe:** D1 (for MTF)
|
||||
- **Currency Pairs:** All pairs (user-selectable)
|
||||
- **Account Types:** Any MT4 account
|
||||
- **Server Timezone:** Thailand (UTC+7)
|
||||
|
||||
## Next Steps
|
||||
|
||||
The implementation plan is complete and ready for execution. All 50 tasks have been clearly defined and organized into 11 logical phases. The plan includes:
|
||||
|
||||
1. ✅ Detailed strategy documentation
|
||||
2. ✅ Visual flow diagram
|
||||
3. ✅ Complete implementation steps
|
||||
4. ✅ Input parameters table
|
||||
5. ✅ Testing checklist
|
||||
6. ✅ Technical specifications
|
||||
|
||||
**Ready to proceed with implementation in Code mode.**
|
||||
Reference in New Issue
Block a user