607 lines
12 KiB
Markdown
607 lines
12 KiB
Markdown
### USER
|
|
could you generate a pdf file for presentation on this framework
|
|
|
|
### ASSISTANT
|
|
I cannot directly generate a PDF file, but I can create a comprehensive presentation outline in a format that you can easily convert to PDF. Here's a structured presentation content:
|
|
|
|
---
|
|
|
|
# **SaherElm IT Center MQL5 Trading Framework**
|
|
## A Comprehensive Algorithmic Trading Solution
|
|
|
|
**Presented by:** Hadi Khazaee Asl
|
|
**Contact:** hadi_khazaee_asl@yahoo.com
|
|
**Website:** https://saherelm.ir
|
|
|
|
---
|
|
|
|
## **Table of Contents**
|
|
|
|
1. Framework Overview
|
|
2. Architecture & Core Components
|
|
3. Trading Management System
|
|
4. Risk Management & Guards
|
|
5. Market Analysis Tools
|
|
6. Visualization & Drawing Tools
|
|
7. X121XKI Indicator System
|
|
8. Data Management
|
|
9. Key Features & Benefits
|
|
10. Use Cases
|
|
11. Getting Started
|
|
|
|
---
|
|
|
|
## **1. Framework Overview**
|
|
|
|
### What is SaherElm MQL5 Framework?
|
|
|
|
A professional-grade, object-oriented trading framework for MetaTrader 5 that provides:
|
|
|
|
- **Complete trading infrastructure**
|
|
- **Advanced risk management**
|
|
- **Market pattern detection**
|
|
- **Automated position management**
|
|
- **Professional visualization tools**
|
|
- **Extensible architecture**
|
|
|
|
### Version: 1.00
|
|
### Copyright: 2023, SaherElm IT Center
|
|
|
|
---
|
|
|
|
## **2. Architecture & Core Components**
|
|
|
|
### Framework Structure
|
|
|
|
```
|
|
SaherElm Framework
|
|
├── Base Classes
|
|
│ ├── XCBase (Foundation)
|
|
│ ├── XCBaseExpert (Expert Advisor Base)
|
|
│ └── XCBaseHelper (Indicator Helper Base)
|
|
│
|
|
├── Trading Core
|
|
│ ├── XCTrade (Trade Management)
|
|
│ ├── XCAccount (Account Management)
|
|
│ └── XCGuard (Protection System)
|
|
│
|
|
├── Analysis Tools
|
|
│ ├── XCMarketPatternDetector
|
|
│ ├── XCBarAnalyser
|
|
│ └── XPOIDetector
|
|
│
|
|
├── Visualization
|
|
│ ├── XCPositionDrawer
|
|
│ ├── XCPOIDrawer
|
|
│ └── XCChartHelper
|
|
│
|
|
└── Utilities
|
|
├── XCAlert (Notification System)
|
|
├── XCDataCollector
|
|
├── XCHttp (Web Services)
|
|
└── Common Libraries
|
|
```
|
|
|
|
---
|
|
|
|
## **3. Trading Management System**
|
|
|
|
### XCTrade Class - Core Trading Engine
|
|
|
|
**Key Features:**
|
|
- Market, Limit, and Stop order execution
|
|
- Position management (open, close, modify)
|
|
- Partial position closing
|
|
- Multi-symbol support
|
|
- Magic number management
|
|
- Slippage control
|
|
|
|
**Core Methods:**
|
|
```mql5
|
|
// Position Management
|
|
bool Buy(symbol, period, volume, price, sl, tp, comment)
|
|
bool Sell(symbol, period, volume, price, sl, tp, comment)
|
|
bool Modify(ticket, sl, tp, comment)
|
|
bool Close(ticket, comment)
|
|
bool ClosePartial(ticket, volume, comment)
|
|
|
|
// Order Management
|
|
bool BuyLimit(symbol, period, volume, price, sl, tp, ...)
|
|
bool SellStop(symbol, period, volume, price, sl, tp, ...)
|
|
bool CancelOrder(ticket)
|
|
```
|
|
|
|
### Signal Execution System
|
|
|
|
**XSignal Structure:**
|
|
- Entry price, SL, TP
|
|
- Volume management
|
|
- Order mode (Market/Limit/Stop)
|
|
- Execution validation
|
|
- Multi-timeframe support
|
|
|
|
---
|
|
|
|
## **4. Risk Management & Guards**
|
|
|
|
### XCGuard - Position Protection System
|
|
|
|
**Guard Actions:**
|
|
1. **Close Positions**
|
|
- Close specific position
|
|
- Close all positions
|
|
- Close by type (Long/Short)
|
|
- Close by status (Profit/Loss)
|
|
|
|
2. **Partial Close**
|
|
- Volume-based partial closing
|
|
- Profit-based partial closing
|
|
|
|
3. **Trailing Functions**
|
|
- Trail Stop Loss
|
|
- Trail Take Profit
|
|
|
|
4. **Hedging**
|
|
- Automatic hedge position opening
|
|
- Risk-based hedge calculation
|
|
|
|
**Guard Configuration:**
|
|
```mql5
|
|
enum ENUM_X_GUARD_ACTIONS
|
|
{
|
|
X_GUARD_ACTION_CLOSE,
|
|
X_GUARD_ACTION_CLOSE_ALL,
|
|
X_GUARD_ACTION_CLOSE_LONGS,
|
|
X_GUARD_ACTION_CLOSE_SHORTS,
|
|
X_GUARD_ACTION_CLOSE_IN_PROFITS,
|
|
X_GUARD_ACTION_CLOSE_IN_LOSTS,
|
|
X_GUARD_ACTION_PARTIAL_CLOSE,
|
|
X_GUARD_ACTION_TRAIL_STOP,
|
|
X_GUARD_ACTION_TRAIL_TARGET,
|
|
X_GUARD_ACTION_HEDGE
|
|
}
|
|
```
|
|
|
|
### Account Policy Management
|
|
|
|
**Built-in Checks:**
|
|
- Maximum spread validation
|
|
- Maximum positions limit
|
|
- Equity/drawdown protection
|
|
- Volume validation
|
|
- Symbol restrictions
|
|
|
|
---
|
|
|
|
## **5. Market Analysis Tools**
|
|
|
|
### XCMarketPatternDetector
|
|
|
|
**Pattern Detection Capabilities:**
|
|
|
|
1. **Candlestick Patterns**
|
|
- Engulfing patterns
|
|
- Pin bars
|
|
- Star patterns (Morning/Evening)
|
|
- Piercing patterns
|
|
- Rising/Falling patterns
|
|
- Flag patterns
|
|
|
|
2. **Market Structure**
|
|
- Support/Resistance detection
|
|
- Swing high/low identification
|
|
- Trend detection
|
|
- Break of structure
|
|
|
|
3. **Order Flow Analysis**
|
|
- Bullish/Bearish order flow
|
|
- Confluence detection
|
|
- Zone validation
|
|
|
|
### XPOIDetector - Point of Interest Detection
|
|
|
|
**Detects:**
|
|
- **Order Blocks (OB)**
|
|
- **Fair Value Gaps (FVG)**
|
|
- **Supply/Demand Zones**
|
|
- **Liquidity Pools**
|
|
- **Breaker Blocks**
|
|
|
|
**Validation Features:**
|
|
- Zone strength calculation
|
|
- Time-based validation
|
|
- Price action confirmation
|
|
- Multi-timeframe analysis
|
|
|
|
---
|
|
|
|
## **6. Visualization & Drawing Tools**
|
|
|
|
### XCPositionDrawer
|
|
|
|
**Features:**
|
|
- Real-time position visualization
|
|
- Risk/Reward box drawing
|
|
- Entry/SL/TP level markers
|
|
- Profit/Loss color coding
|
|
- Position age tracking
|
|
|
|
**Drawing Elements:**
|
|
```mql5
|
|
- Risk Box (Red/Magenta)
|
|
- Reward Box (Green/Aqua)
|
|
- Price Box (Dynamic color)
|
|
- Entry lines
|
|
- SL/TP lines
|
|
- Position labels
|
|
```
|
|
|
|
### XCPOIDrawer
|
|
|
|
**Capabilities:**
|
|
- Draw Order Blocks
|
|
- Draw FVG zones
|
|
- Draw Support/Resistance
|
|
- Draw Trend lines
|
|
- Draw Pivot points
|
|
- Pattern visualization
|
|
|
|
**Styling Options:**
|
|
- Customizable colors
|
|
- Line styles (Solid, Dash, Dot)
|
|
- Width control
|
|
- Fill options
|
|
- Label support
|
|
|
|
### XCChartHelper
|
|
|
|
**Chart Management:**
|
|
- Chart navigation
|
|
- Template application
|
|
- Screenshot capture
|
|
- Indicator management
|
|
- Symbol/Period switching
|
|
|
|
---
|
|
|
|
## **7. X121XKI Indicator System**
|
|
|
|
### Overview
|
|
|
|
A comprehensive multi-indicator system providing:
|
|
|
|
**Components:**
|
|
1. **KI (Kijun) Lines**
|
|
- Fast KI (26 period)
|
|
- Slow KI (104 period)
|
|
- Super Slow KI (208 period)
|
|
|
|
2. **Moving Averages**
|
|
- Fast MA
|
|
- Slow MA
|
|
- Super Slow MA
|
|
|
|
3. **Wave Indicator**
|
|
- KI Wave calculation
|
|
- Smoothing options
|
|
|
|
4. **Supporting Indicators**
|
|
- RSI (Relative Strength Index)
|
|
- ATR (Average True Range)
|
|
- Peak/Vale detection
|
|
|
|
### XCX121XKIHelper
|
|
|
|
**Features:**
|
|
- Multi-timeframe analysis
|
|
- Buffer management
|
|
- State detection (Bullish/Bearish)
|
|
- Crossover detection
|
|
- Rejection detection
|
|
|
|
**Key Methods:**
|
|
```mql5
|
|
// KI Values
|
|
double GetKIFast(barIndex)
|
|
double GetKISlow(barIndex)
|
|
double GetKISuperSlow(barIndex)
|
|
|
|
// MA Values
|
|
double GetMAFast(barIndex)
|
|
double GetMASlow(barIndex)
|
|
|
|
// State Detection
|
|
bool IsKIFastBullish(barIndex)
|
|
bool IsKIFastBearish(barIndex)
|
|
bool IsKIFastSwitchedToBullish(barIndex)
|
|
|
|
// Rejection Detection
|
|
bool IsKIFastRejected(direction, barIndex)
|
|
```
|
|
|
|
### XCX121XKIPoiDetector
|
|
|
|
**Specialized Detection:**
|
|
- Strategy-specific pattern detection
|
|
- Multi-timeframe confluence
|
|
- Demand/Supply zone detection
|
|
- Swing validation
|
|
- Order flow analysis
|
|
|
|
---
|
|
|
|
## **8. Data Management**
|
|
|
|
### XCDataCollector
|
|
|
|
**Capabilities:**
|
|
- File-based data storage
|
|
- Append/Read operations
|
|
- Organized folder structure
|
|
- CSV/Text format support
|
|
- Automatic file management
|
|
|
|
**Usage:**
|
|
```mql5
|
|
// Save data
|
|
collector.Save(fileName, content)
|
|
|
|
// Append data
|
|
collector.Append(fileName, content)
|
|
|
|
// Read data
|
|
collector.Read(fileName, content)
|
|
```
|
|
|
|
### XCHttp - Web Services
|
|
|
|
**Features:**
|
|
- GET/POST requests
|
|
- File download capability
|
|
- Timeout management
|
|
- Response handling
|
|
- Header management
|
|
|
|
**Methods:**
|
|
```mql5
|
|
int GetRequest(url, headers, payload, response, ...)
|
|
int PostRequest(url, headers, payload, response, ...)
|
|
bool Download(url, fileName)
|
|
```
|
|
|
|
---
|
|
|
|
## **9. Key Features & Benefits**
|
|
|
|
### **Modular Architecture**
|
|
- Object-oriented design
|
|
- Easy to extend
|
|
- Reusable components
|
|
- Clean separation of concerns
|
|
|
|
### **Professional Risk Management**
|
|
- Multi-layer protection
|
|
- Position sizing
|
|
- Drawdown control
|
|
- Equity protection
|
|
- Spread filtering
|
|
|
|
### **Advanced Analysis**
|
|
- Pattern recognition
|
|
- Multi-timeframe analysis
|
|
- Market structure detection
|
|
- Order flow analysis
|
|
- Confluence validation
|
|
|
|
### **Visualization**
|
|
- Professional charting
|
|
- Real-time updates
|
|
- Customizable styles
|
|
- Clear position marking
|
|
|
|
### **Automation**
|
|
- Signal execution
|
|
- Position management
|
|
- Guard triggers
|
|
- Event handling
|
|
- Trade reporting
|
|
|
|
### **Reliability**
|
|
- Error handling
|
|
- Validation checks
|
|
- State management
|
|
- Recovery mechanisms
|
|
|
|
---
|
|
|
|
## **10. Use Cases**
|
|
|
|
### **1. Automated Trading EA**
|
|
```mql5
|
|
// Use XCBaseExpert as base
|
|
// Implement signal generation
|
|
// Auto-execute trades
|
|
// Apply guards for protection
|
|
```
|
|
|
|
### **2. Signal Provider**
|
|
```mql5
|
|
// Generate signals using pattern detection
|
|
// Send alerts via XCAlert
|
|
// Track performance
|
|
// Manage subscriber positions
|
|
```
|
|
|
|
### **3. Risk Management Tool**
|
|
```mql5
|
|
// Monitor open positions
|
|
// Apply trailing stops
|
|
// Auto-close losing positions
|
|
// Hedge when needed
|
|
```
|
|
|
|
### **4. Market Analysis Dashboard**
|
|
```mql5
|
|
// Detect patterns across symbols
|
|
// Draw POIs on charts
|
|
// Generate reports
|
|
// Visualize market structure
|
|
```
|
|
|
|
### **5. Indicator Development**
|
|
```mql5
|
|
// Use XCX121XKIHelper
|
|
// Create custom indicators
|
|
// Multi-timeframe analysis
|
|
// Buffer management
|
|
```
|
|
|
|
---
|
|
|
|
## **11. Getting Started**
|
|
|
|
### **Installation**
|
|
|
|
1. Copy framework files to MQL5 folders:
|
|
```
|
|
/MQL5/Include/SaherElm/
|
|
/MQL5/Indicators/
|
|
/MQL5/Experts/
|
|
```
|
|
|
|
2. Include required libraries:
|
|
```mql5
|
|
#include <SaherElm/Classes/x-saherelm.x-trade.class.mq5>
|
|
#include <SaherElm/Classes/x-saherelm.x-alert.class.mq5>
|
|
```
|
|
|
|
### **Basic EA Template**
|
|
|
|
```mql5
|
|
#include <SaherElm/Classes/x-saherelm.x-expert.class.mq5>
|
|
|
|
class MyExpert : public XCBaseExpert
|
|
{
|
|
public:
|
|
void OnTick() override
|
|
{
|
|
// Your trading logic here
|
|
// Use eaTrader for execution
|
|
// Use eaGuard for protection
|
|
// Use eaAlert for notifications
|
|
}
|
|
};
|
|
```
|
|
|
|
### **Configuration Example**
|
|
|
|
```mql5
|
|
// Initialize Trade Manager
|
|
eaTrader = new XCTrade(
|
|
10, // Slippage
|
|
12345, // Magic Number
|
|
25, // Max Spread
|
|
5, // Max Positions
|
|
0.2 // Max Drawdown Factor
|
|
);
|
|
|
|
// Setup Alerts
|
|
eaAlert.SetEnableAlerts(true);
|
|
eaAlert.SetLogAlerts(true);
|
|
eaAlert.SetPushAlerts(true);
|
|
|
|
// Configure Guards
|
|
XGuard guard;
|
|
guard.action = X_GUARD_ACTION_TRAIL_STOP;
|
|
guard.sl = calculatedSL;
|
|
eaGuard.DoGuard(guard);
|
|
```
|
|
|
|
---
|
|
|
|
## **Support & Resources**
|
|
|
|
### **Documentation**
|
|
- Complete class reference
|
|
- Code examples
|
|
- Video tutorials (coming soon)
|
|
|
|
### **Contact**
|
|
- **Email:** hadi_khazaee_asl@yahoo.com
|
|
- **Website:** https://saherelm.ir
|
|
- **Support:** Available for licensed users
|
|
|
|
### **Updates**
|
|
- Regular bug fixes
|
|
- New features
|
|
- Performance improvements
|
|
- Community contributions welcome
|
|
|
|
---
|
|
|
|
## **License & Disclaimer**
|
|
|
|
**License:**
|
|
- Copyright 2023, SaherElm IT Center
|
|
- All rights reserved
|
|
- Commercial use requires license
|
|
|
|
**Disclaimer:**
|
|
- Trading involves substantial risk
|
|
- Past performance ≠ future results
|
|
- Use at your own risk
|
|
- No guarantee of profits
|
|
- Test thoroughly on demo account
|
|
|
|
---
|
|
|
|
## **Q&A**
|
|
|
|
**Thank You!**
|
|
|
|
---
|
|
|
|
## **Appendix: Class Reference**
|
|
|
|
### Core Classes
|
|
|
|
| Class | Purpose |
|
|
|-------|---------|
|
|
| XCBase | Foundation class with common utilities |
|
|
| XCTrade | Trade execution and management |
|
|
| XCAccount | Account information and calculations |
|
|
| XCAlert | Notification system (Log, Email, Push) |
|
|
| XCGuard | Position protection and management |
|
|
| XCBaseExpert | Base class for Expert Advisors |
|
|
|
|
### Analysis Classes
|
|
|
|
| Class | Purpose |
|
|
|-------|---------|
|
|
| XCMarketPatternDetector | Candlestick and pattern detection |
|
|
| XCBarAnalyser | Bar-by-bar analysis |
|
|
| XPOIDetector | Point of Interest detection |
|
|
| XCX121XKIHelper | X121XKI indicator helper |
|
|
|
|
### Visualization Classes
|
|
|
|
| Class | Purpose |
|
|
|-------|---------|
|
|
| XCPositionDrawer | Position visualization |
|
|
| XCPOIDrawer | POI and pattern drawing |
|
|
| XCChartHelper | Chart management utilities |
|
|
|
|
### Utility Classes
|
|
|
|
| Class | Purpose |
|
|
|-------|---------|
|
|
| XCDataCollector | File-based data storage |
|
|
| XCHttp | Web request handling |
|
|
| XCRMPanel | Risk management panel |
|
|
|
|
---
|
|
|
|
**End of Presentation**
|
|
|
|
---
|