Detailed installation guide for DCA EA on MetaTrader 5
File → Open Data FolderCtrl + Shift + DExperts, Libraries and Indicators từ gói vừa giải nén vào thư mục MQL5, chọn ghi đè khi được hỏi.MQL5\
├─ Experts\ SMART DCA.ex5
├─ Libraries\ DCA_Http.dll
└─ Indicators\ DCA_BBChannel.ex5
DCA_DonchianChannel.ex5
DCA_KeltnerChannel.ex5
Copy đủ ba thư mục là xong ngay — không phải chờ EA tự ghi file DLL rồi gắn lại lần hai.
Chúng dùng để VẼ kênh giá lên biểu đồ cho bạn nhìn. Bộ lọc kênh giá vẫn chạy đúng kể cả khi thiếu chúng — phần tính toán dùng chỉ báo có sẵn của MT5. Thiếu thì chỉ là không thấy kênh vẽ trên chart.
After copying the files, go back to MT5 → Right-click on Expert Advisors in Navigator → Select Refresh or press F5
EA connects to server via DLL, so no need to add URLs to the list "Allow WebRequest for listed URL" like previous versions.
Tools → Options → Tab Expert AdvisorsCtrl + E⚠️ Note: This step is REQUIRED if you use Signal Config, and the machine running EA needs Internet connection to verify license and load config from server.
Ctrl + N)EA is running when the icon on chart shows a smiley face 😊.
Choose mode suitable for your needs
Configure directly on EA
Receive config from server
Choose configuration mode you want to use:
Good for beginners - Receive ready config from server
Mỗi signal có một ngân sách gốc — xem cột Initial Capital ở trang danh sách signal. Signal vàng hiện là 10.000.
EA lấy số bạn khai ÷ ngân sách gốc làm hệ số nhân, rồi nhân hệ số đó vào lot khởi đầu, mức lỗ tối đa và mức lỗ Smart DCA:
Khai THẤP HƠN ngân sách gốc thì EA không khởi động được — nó hiện thông báo "cần điền MaxLoss tối thiểu $Y" rồi dừng. Đây là lỗi hay gặp nhất khi mới cài.
| Parameter | Description | Example |
|---|---|---|
| Config Mode | Pick Signal Config | Signal Config |
| License Key | Xem ba trường hợp ngay dưới bảng này | demo |
| Signal Code | Name of config you want to use | GOLD100K, GOLD500K |
| [Signal] Start Lot | Starting lot (if you want to customize) | 0.01 |
| Sync Start Lot from Server | On = use lot from server | true |
| Sync MaxLoss from Server | On = use max loss from server | true |
For experienced users - Configure details yourself
| Parameter | Description | Example |
|---|---|---|
| Config Mode | Pick Local Config | Local Config |
| License Key | License code | ABC123XYZ |
| Trading Mode | Auto (EA opens orders) / Manual (open by hand) | Auto |
| Trade direction | All / Buy Only / Sell Only | All |
| Max lot | Limit max lot per order | 0.5 |
| Max layers | Limit DCA layers | 20 |
| Parameter | Description | Example XAUUSD |
|---|---|---|
| Time Range | Trade timeframe | 00:00-23:59 |
| Price Step | Distance between layers (price) example: GOLD 5000 and 4999 are 1 price apart | 1 |
| Take Profit | Profit target (price) | 2 |
| Multiplier | Multiply lot per layer | 1.5 |
| Starting Lots | First layer lot | 0.01 |
| Parameter | Description | Recommended |
|---|---|---|
| Max loss per series (USD) | Close series when loss reaches this | 40 cho $100 |
| Max profit per series (USD) | Close profit for series | 10 |
| Break-even from layer | Set TP=0 starting from specified layer | 35 |
Ô License Key nằm ở thẻ Inputs. Máy cần kết nối Internet để xác thực.
Không cần điền key. Toàn bộ tài khoản của bạn đều được dùng miễn phí, tool tự kiểm tra tính hợp lệ.
Liên hệ admin để biết điều kiện tham gia: Zalo 0387654360 hoặc Telegram @duyquang555.
Đăng nhập vào website rồi mua key ngay tại trang sản phẩm. Key cấp xong điền vào ô License Key là chạy.
Fill in demo. EA chạy được trên tài khoản Demo của mọi sàn, để bạn thử trước khi quyết định. Key này không chạy trên tài khoản Real.
Không có gói nào bị khoá tính năng. Dùng đủ toàn bộ tool và cả 35 bộ lọc — không có bản rút gọn.
All EA configuration parameters
| Parameter | Description | Example |
|---|---|---|
| Trading Mode | Auto = EA opens orders automatically; Manual = manual entry | Auto |
| Trade direction | All / Buy Only / Sell Only | All |
| Max lot per single order | Limit max lot per order | 1.0 (tk $100) |
| Maximum number of orders | Total max orders | 50 |
| Number of pending orders preset | Pending preset (1-20) | 4 |
| Maximum layers per sequence | Limit DCA layers | 20 |
| Parameter | Description | Example |
|---|---|---|
| EA profit target (USD) | EA stops when total profit reaches this level (0 = disabled) | 100 = stop EA when profit is $100 |
| Maximum loss for EA (USD) | Close all orders and stop EA | 50 = stop EA when loss is $50 |
| Max loss per series (USD) | Close 1 DCA series when loss reaches level | 30 = close BUY series if loss is $30 |
| Combined Profit (USD) | Take profit both BUY+SELL when total profit reaches level. 0 = close both chains when total = 0 | 5 = close both series when total profit is $5 |
| Action when series loses | Close series and open new / Stop EA | Option |
| Break-even from layer | Automatically set TP=0 from specified level (0 = off) | 35 = from level 35 TP=0 |
250 (stop when loss is 50% of capital)50 (stop EA when profit is 10%)0 → when BUY loses -$20 and SELL gains +$20 → total = $0 → close both30 → series goes too deep, set TP=0 to exit quicklyMặc định EA chốt lãi ở mức TP cố định. Bật Trailing TP thì sau khi lãi đủ lớn, EA dời SL chạy theo giá để giữ phần lãi đã có, thay vì ngồi chờ đúng mức TP.
| Parameter | Description | Example |
|---|---|---|
| Bật Trailing TP | Bật thì sau khi lãi đủ, EA dời SL theo giá để giữ phần lãi đã có thay vì chờ TP cố định. | false |
| TP Kích hoạt (Giá) | Lãi chạm mức này thì bắt đầu dời SL. Đặt thấp quá thì trail kích hoạt sớm và hay bị quét ở nhiễu giá. | 5.0 |
| Trailing Step (Giá) | Mỗi lần dời SL thì dời bao nhiêu. Bước nhỏ thì bám sát giá nhưng dễ bị quét; bước lớn thì thả lỏng hơn. | 3.0 |
| TP Max Mode | Cách tính trần của trailing: Cố định (Giá) or % Biên độ chuỗi. | Cố định (Giá) |
| TP Max Value | Trần của trailing — tới đây thì chốt hẳn, không trail nữa. Đơn vị là giá hay phần trăm tuỳ TP Max Mode ở trên. | 20.0 |
| Parameter | Description | Example |
|---|---|---|
| Enable Hedge | Turn on/off Hedge feature | true |
| Hedge Mode | HEDGE = open reverse order to protect; CLOSE = close old order to reduce loss | HEDGE |
| Hedge Calc Mode | GAP = hedge regularly every N layers; START_STOP = hedge within fixed layer range | GAP |
| [START_STOP] Start Layer | Start hedge at layer | 10 |
| [START_STOP] Stop Layer | Stop hedge at layer | 30 |
| [GAP] Hedge Gap | Hedge every N layers | 10 |
| Auto Close Hedge | Auto close hedge orders when main sequence closes | true |
Current Layer - Gap Distance to find Target Layer to process.| Parameter | Description | Example |
|---|---|---|
| Time Range | Trading timeframe (supports overnight) | 08:00-22:00 or 22:00-06:00 (overnight) |
| Step Mode | How to calculate distance between layers | Fixed / Multiplier / Addition / Custom |
| Price Step | Distance between DCA layers | 1 = fixed 1 price per layer |
| Step Coefficient | Step increment coefficient (only used in Geometric/Arithmetic mode) | 1.3 = each layer step increases 30% |
| TP Mode | How to calculate Take Profit | Fixed / % Range / Custom |
| Take Profit | TP value (or Custom series) | 1 = fixed TP at 1 price |
| TP % | TP by % range (when Mode = Percent) | 20 = TP equals 20% of series distance |
| Lot Mode | How to increase lot per layer | Multiply / Add / Custom |
| Lot coefficient | Lot increase coefficient (Multiply: 1.15=+15%, Add: 0.01) | 1.15 = each layer lot increases 15% |
| Starting Lot / Custom | Lot of first layer or Custom series | 0.01 |
| Step Mode | Settings | Step result per layer (XAUUSD) |
|---|---|---|
| Fixed | Step = 1 | L0→L1: 1, L1→L2: 1, L2→L3: 1 ... (always 1 price) |
| Multiply | Step = 1, Multiplier = 1.3 | L0→L1: 1, L1→L2: 1.3, L2→L3: 1.69, L3→L4: 2.2 ... |
| Add | Step = 1, Multiplier = 0.5 | L0→L1: 1, L1→L2: 1.5, L2→L3: 2.0, L3→L4: 2.5 ... |
| Custom | Step Mode = Custom, Step = 1-3:x1.5-8:+0.5 | L0-L2: fixed 1 → L3-L7: multiply ×1.5 per layer → L8+: add +0.5 per layer (applies only when Custom mode is selected) |
| Lot Mode | Settings | Resulting lot per layer |
|---|---|---|
| Multiply | Start = 0.01, Multiplier = 1.5 | L0: 0.01, L1: 0.01, L2: 0.015, L3: 0.023, L4: 0.034 ... |
| Add | Start = 0.01, Multiplier = 0.01 | L0: 0.01, L1: 0.01, L2: 0.02, L3: 0.03, L4: 0.04 ... |
| Custom | Lot Mode = Custom, Lot = 0.01x1.2-5:+0.02 | L0-L4: 0.01 multiply ×1.2 per layer → L5+: add +0.02 per layer (applies only when Custom mode is selected) |
| TP Mode | Settings | Meaning |
|---|---|---|
| Fixed | TP = 1 | TP fixed one price for all layers |
| % Range | TP% = 20 | TP = 20% distance from first entry to farthest layer |
| Custom | TP = 0:100-5:50-15:0-20:(2) | Layer 0-4: TP=100, Layer 5-14: TP=50, Layer 15-19: TP=0 (break-even), Layer 20+: TP=-2 (accept loss) |
() to represent negative numbers. Example: (2) = -2, (5.5) = -5.5. The dash - is already used as layer separator. 1, TP=1, Lot=0.01 (calm market, small step)2, TP=2, Lot=0.01 (larger volatility, wider step)Multiply, Step=2, Multiplier=1.3, TP=2 (strong volatility, increasing step)From Timeframe 2 onwards, you can select copy entire config (Step, TP, Lot, Multiplier) from another timeframe instead of setting separately.
| Value | Meaning |
|---|---|
Custom settings | Use Step/TP/Lot config specific to that timeframe |
Use Config Range 1 | Copy entire from Timeframe 1 |
Use Config Range 2 | Copy entire from Timeframe 2 (available only for Range 3+) |
Use Config Range 3 | Copy entire from Timeframe 3 (available only for Range 4+) |
Use Config Range 4 | Copy entire from Timeframe 4 (available only for Range 5) |
| Parameter | Description | Example |
|---|---|---|
| Enable date restriction | No trading in specific time range | true |
| Start restriction | Date to start no trading | 2026.01.01 00:00 |
| End restriction | Date to end no trading | 2026.01.02 23:59 |
| After-hours action | Close All = close all orders when hours end; Keep Running = keep current sequence but don't open new | Keep Running |
Smart DCA là tính năng nặng nhất của tool. Bật lên thì EA tự tính khoảng cách tầng và hệ số nhân lot từ kênh giá, thay cho các con số bạn khai ở từng khung giờ. Các ô dưới đây dùng chung cho tất cả năm khung giờ.
Một trong hai ô Lỗ tối đa chuỗi or MaxLoss riêng cho Smart DCA phải khác 0. Để cả hai bằng 0 thì EA báo lỗi và không khởi động.
| Parameter | Description | Mặc Định |
|---|---|---|
| 1. Smart DCA (Bật/Tắt) | Bật thì EA tự tính Step và hệ số nhân lot từ kênh giá, thay vì dùng con số bạn khai ở từng khung giờ. | Disable |
| 2. Reference price channel | Kênh làm mốc để Smart DCA tính toán: High Low Breakout, Bollinger Bands, Keltner, or Donchian. Ba kênh sau cần file indicator tương ứng nếu muốn nhìn thấy kênh vẽ trên chart — phần tính toán vẫn chạy kể cả khi không có file. | High Low Breakout |
| Parameter | Description | Mặc Định |
|---|---|---|
| 3. Minimum range | Biên độ kênh hẹp hơn mức này thì chặn không vào lệnh — thị trường đang quá im, DCA không có chỗ để giãn. 0 = tắt. | 0.0 |
| 3b. Range tối đa | Biên độ kênh rộng hơn mức này thì chặn không vào lệnh — biến động quá lớn. 0 = tắt. | 0.0 |
| 4. Minimum step | Sàn cho khoảng cách tầng mà Smart DCA tự tính. Tính ra nhỏ hơn thì tự nâng lên mức này, không chặn lệnh. | 0.0 |
| 4b. PriceRange tối thiểu | Sàn cho biên độ giá dùng trong tính toán. Nhỏ hơn thì kẹp lên mức này. | 0.0 |
| 5b. Range Position % | Chặn theo vị trí giá trong kênh. Đặt 30 nghĩa là không mở SELL khi giá đang ở vùng 30% gần đáy, và không mở BUY khi ở 30% gần đỉnh — tránh vào lệnh ngược ngay chỗ giá đã đi hết biên. 0 = tắt. | 0 |
| Parameter | Description | Mặc Định |
|---|---|---|
| 5. Số tầng tối đa cho Smart DCA | Trần tầng riêng của Smart DCA. Khác Maximum layers per sequence ở chỗ nó chỉ áp khi Smart DCA đang bật. | 40 |
| 6. MaxLoss riêng cho Smart DCA | Ngân sách riêng, tách khỏi Lỗ tối đa chuỗi chung. 0 = dùng chung. Ở chế độ Signal, đây thường mới là con số được lấy làm ngân sách gốc. | 0.0 |
| 7. Khóa tối đa tầng theo Smart DCA | Bật thì trần tầng lấy theo Smart DCA tính ra; tắt thì lấy theo Số tầng tối đa chung. | true |
| Parameter | Description | Mặc Định |
|---|---|---|
| 8. Nén range: ngưỡng theo dõi | Kênh giá co lại dưới ngưỡng này thì EA bắt đầu đếm giờ. Đơn vị là giá. 0 = tắt. | 0.0 |
| 9. Nén range: thời gian tối đa | Nén liên tục quá bấy nhiêu phút thì EA can thiệp — thị trường bị ép biên quá lâu thường là dấu hiệu sắp phá biên mạnh. | 60 phút |
Buffer là phần chừa thêm ra ngoài kênh trước khi EA coi là đã phá biên.
| Parameter | Description | Mặc Định |
|---|---|---|
| 10. Buffer% động | Bật thì buffer tự co giãn theo độ rộng biên: biên rộng dùng buffer cơ sở, biên hẹp nâng dần lên tới mức tối đa. Tắt thì dùng một con số cố định. | false |
| 10a. Buffer% cơ sở | Buffer khi biên rộng. | 15.0 |
| 10b. Buffer% tối đa | Buffer khi biên hẹp — biên càng hẹp càng cần chừa nhiều, vì nhiễu giá dễ chạm mép. | 50.0 |
| 10c. Biên tham chiếu | Mốc biên để nội suy giữa hai mức buffer trên. 0 = EA tự lấy Range tối thiểu × 2.4. | 0.0 |
| 11. Buffer% riêng SmartDCA | Buffer riêng cho Smart DCA, tách khỏi buffer của bộ lọc. 0 = dùng chung với filter. | 0 |
| Parameter | Description | Mặc Định |
|---|---|---|
| 5. Hiện Panel Smart DCA | Hiện panel Smart DCA trên chart. Signal có thể ghi đè giá trị này. | true |
| 5b. Hiện Debug Panel | Hiện panel P/L chi tiết của phần cắt lỗ và hedge. Hữu ích khi đang dò cấu hình, nên tắt khi chạy thật cho đỡ rối chart. | true |
| Parameter | Description | Example |
|---|---|---|
| Telegram Bot Token | Bot Token (required for both notifications and control) | 1234567890:ABCDEFG... |
| Telegram Chat ID | Chat ID to receive notifications. Only needed if you want to receive notifications, leave empty if only controlling | 123456789 |
| Notify on Layer Open | Notify when opening new order | true |
| Notify on Layer Close | Notify when closing order | true |
| Notify on Chain Close | Notify when closing series (with P/L) | true |
| Notify on Profit Target | Notify when reaching profit target | true |
| Notify on Max Loss | Notify when reaching maximum loss | true |
| Profit Drawdown Levels (%) | Drawdown warning levels, separated by comma | 10,20,30,50 |
| Layer Alert Levels | Alert when series reaches specific level | 5,10,15,20,30,40,50 |
| Parameter | Description | Example |
|---|---|---|
| EA display name | Name to distinguish when running multiple EAs on 1 bot. Default = Symbol | GOLD_VPS1 |
| Button | Function | Detailed description |
|---|---|---|
▶ Start | Start EA | EA starts opening new orders |
⏹ Stop | Stop EA | EA stops opening new orders, current orders remain |
⏸ Pause | Pause EA | Temporarily stop processing, maintain state |
▶ Resume | Resume EA | Resume after pause |
❌ Close All | Close all | Close all open + pending orders |
📊 Status | Status | Show Account, Balance, Equity, Profit in real-time |
Step 1: Open Telegram → search for @BotFather → send /newbot → set name → receive Bot Token
Step 2: Enter Token in EA → send /start to your bot → Inline Keyboard appears
/start to bot → use buttons to control EA/start → receive Chat ID| Parameter | Description | Example |
|---|---|---|
| News level to filter | News type to avoid | Only HIGH impact news |
| Minutes to stop BEFORE news | Stop trading before news | 30 |
| Minutes to stop AFTER news | Stop trading after news | 15 |
| Parameter | Description | Example |
|---|---|---|
| Max Spread (Price) | Max spread allowed (0 = off) | XAUUSD: 50 |
| Suspension time (minutes) | Pause time when spread is high | 30 |
Auto block orders based on technical signals. Each filter has its own Timeframe! Click each filter to see detailed description.
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable RSI filter |
| Overbought | 70 | Block BUY when RSI ≥ 70 |
| Oversold | 30 | Block SELL when RSI ≤ 30 |
| Period | 14 | RSI Period (standard: 14) |
| Timeframe | Current | RSI Timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable Stochastic filter |
| Overbought | 80 | Block BUY when %K ≥ 80 |
| Oversold | 20 | Block SELL when %K ≤ 20 |
| %K Period | 14 | %K Period |
| %D Period | 3 | %D signal line period |
| Slowing | 3 | Smoothing factor |
| Timeframe | Current | Stochastic timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable CCI filter |
| Overbought | 100 | Block BUY when CCI ≥ +100 |
| Oversold | -100 | Block SELL when CCI ≤ -100 |
| Period | 14 | CCI period |
| Timeframe | Current | CCI timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable Williams %R filter |
| Overbought | -20 | Block BUY when %R ≥ -20 (near 0) |
| Oversold | -80 | Block SELL when %R ≤ -80 (near -100) |
| Period | 14 | Williams %R period |
| Timeframe | Current | %R timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable MFI filter |
| Overbought | 80 | Block BUY when MFI ≥ 80 |
| Oversold | 20 | Block SELL when MFI ≤ 20 |
| Period | 14 | MFI period |
| Timeframe | Current | MFI timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable DeMarker filter |
| Overbought | 0.7 | Block BUY when DeM ≥ 0.7 |
| Oversold | 0.3 | Block SELL when DeM ≤ 0.3 |
| Period | 14 | DeMarker period |
| Timeframe | Current | DeMarker timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable Ultimate Oscillator filter |
| Overbought | 70 | Block BUY when UO ≥ 70 |
| Oversold | 30 | Block SELL when UO ≤ 30 |
| Fast Period | 7 | Fast period (weight ×4) |
| Medium Period | 14 | Medium period (weight ×2) |
| Slow Period | 28 | Slow period (weight ×1) |
| Timeframe | Current | UO timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable BB%B filter |
| Overbought | 1.0 | Block BUY when %B ≥ 1.0 (breaks Upper Band) |
| Oversold | 0.0 | Block SELL when %B ≤ 0.0 (breaks Lower Band) |
| BB Period | 20 | Bollinger Bands period |
| BB Deviation | 2.0 | Standard deviation coefficient |
| Timeframe | Current | BB%B timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable RCI filter |
| Overbought | 80 | Block BUY when RCI ≥ +80 |
| Oversold | -80 | Block SELL when RCI ≤ -80 |
| Period | 14 | RCI calculation period |
| Timeframe | Current | RCI timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable RVI filter |
| Overbought | 0.3 | Block BUY when RVI ≥ 0.3 (buying strength too strong) |
| Oversold | -0.3 | Block SELL when RVI ≤ -0.3 (selling strength too strong) |
| Period | 14 | RVI period |
| Timeframe | Current | RVI timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable ADX filter |
| Trending Level | 25 | Block DCA when ADX ≥ 25 |
| Period | 14 | ADX period |
| Timeframe | Current | ADX timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable Choppiness filter |
| Trending Level | 38.2 | Block when CI ≤ 38.2 (strong trend) |
| Period | 14 | Choppiness Period |
| Timeframe | Current | Choppiness Timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable Aroon filter |
| Trending Level | 70 | Block when Aroon Up or Down ≥ 70 |
| Period | 14 | Aroon Period |
| Timeframe | Current | Aroon Timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable DMI filter |
| Trending Level | 10 | Block when |+DI − −DI| ≥ value. 10 = 10 points difference |
| Period | 14 | DMI period |
| Timeframe | Current | DMI timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable VIDYA filter |
| MA Period | 14 | VIDYA line period |
| CMO Period | 9 | Chande Momentum period (self-adjust speed) |
| Slope Threshold | 50 | Slope threshold (points/bar). Trending when slope ≥ value |
| Timeframe | Current | VIDYA timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable Elder Power filter |
| Trending Level | 50 | Block when |Bulls/Bears Power| ≥ 50 points |
| EMA Period | 13 | EMA period for Power calculation (standard: 13) |
| Timeframe | Current | Elder timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable MACD Histogram filter |
| Fast EMA | 12 | Fast EMA period (standard MACD) |
| Slow EMA | 26 | Slow EMA period |
| Signal | 9 | Signal line period |
| Trending Level | 5 | Block when |Histogram| ≥ value (original price unit). Ex: XAUUSD = 5 points |
| Timeframe | Current | MACD timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable Parabolic SAR filter |
| SAR Step | 0.02 | SAR step size. Increase → SAR chases price faster |
| SAR Maximum | 0.2 | Max step value. Limits pursuit speed |
| Trending Level | 10 | Block when |SAR − Close| ≥ value (original price units) |
| Timeframe | Current | SAR timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable Supertrend filter |
| ATR Period | 10 | ATR period. Larger → Supertrend smoother |
| Multiplier | 3.0 | ATR multiplier. Increase → fewer reversal signals, Supertrend farther from price |
| Trending Level | 50 | Block when distance |Price − ST| ≥ value (points) |
| Timeframe | Current | Supertrend timeframe |
High higher than all N candles on left and N candles on right → that is High. Similar for Low. | Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable HIGH LOW filter |
| Left Bars (Candles on the left) | 5 | Number of candles on the left used to confirm High/Low. The larger → the more certain, but slower reaction |
| Right Bars (Candles on the right) | 5 | Number of candles on the right used to confirm High/Low. Must wait for enough confirming candles to determine |
| Buffer % against fake breakouts | 5 | Add buffer zone around High/Low to avoid false signals. 5 = add 5% range amplitude on both sides |
| Timeframe | Current | Timeframe for HIGH LOW calculation (may differ from chart TF) |
| Step | Description |
|---|---|
| 1. Find High | Scan backward from current candle, find candle with High higher than 5 candles on the left and 5 candles on the right → local peak. Ex: High = 2935 |
| 2. Find Low | Similarly, find candle with Low lower than both sides → local bottom. Ex: Low = 2920 |
| 3. Determine zone | Sideway Zone = Low ↔ High (with buffer). Ex: Range = 15, Buffer 5% = 0.75 → Zone = 2919.25 ↔ 2935.75 |
| 4. Compare price | Within zone → Sideway. Breaks out → Trending |
| 5. Return | Previous candle closes inside zone → return Sideway |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable BB Channel filter |
| BB Period | 20 | SMA Period. 20 is standard |
| BB Deviation | 2.0 | σ Coefficient. 2.0 = 95% data within bands |
| Timeframe | Current | Timeframe for calculating BB |
| Buffer % | 5 | Buffer zone outside BB against false breaks |
| Step | Description |
|---|---|
| 1. Calculate BB | Use iBands() MT5 → Upper, Middle, Lower. VD: Upper = 2938, Lower = 2922 |
| 2. Calculate Buffer | Buffer = Bandwidth × %. VD: BW=16, Buffer 5% = 0.8 → Breakout = 2938.8 / 2921.2 |
| 3. Compare | Within zone → Sideway. Breaks out → Trending |
| 4. Return | Candle closes within original BB (no buffer) → Sideway |
2938, Middle=2930, Lower=2922| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable Keltner Channel filter |
| EMA Period | 20 | Center EMA Period |
| ATR Period | 10 | ATR Period for edge |
| ATR Multiplier | 1.5 | ATR multiplier. Increase → wider channel |
| Timeframe | Current | KC Timeframe |
| Buffer % | 5 | Buffer zone against false breaks |
2937.5, Lower = 2922.5| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable Donchian Channel filter |
| Period | 20 | Number of candles for Highest High / Lowest Low |
| Timeframe | Current | Timeframe for Donchian calculation |
| Buffer % | 5 | Buffer zone against false breaks |
2940, Lowest Low = 2915 → Channel width 25 price| BB | Keltner | Donchian | |
|---|---|---|---|
| Edge | Standard Deviation | ATR | Absolute High/Low |
| Pros | Stretches with volatility | Stable during spikes | Simplest |
| Suitable for | Even volatility | Spiking candles | Clear range |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable Ichimoku | false | Enable Ichimoku Cloud filter (button [Ichi] on panel) |
| Tenkan Period | 9 | Fast line period |
| Kijun Period | 26 | Slow line period |
| Senkou B Period | 52 | Cloud edge slow period |
| Check compressed Cloud | true | Enable thin Cloud check (button [Compress]) |
| Cloud measurement mode | ATR | Price: use fixed price threshold. ATR: auto-adapt to volatility (recommended) |
| Compression threshold | 0.5 | When selecting Price: price units (Ex: 0.5). When selecting ATR: ATR ratio (Ex: 0.5 = 50% ATR) |
| ATR Period | 14 | ATR period for Cloud measurement mode (use only when selecting ATR) |
| Timeframe | Current | Ichimoku timeframe |
| Status | Meaning | Action |
|---|---|---|
| Trong Cloud | Trend unclear | ✅ DCA both directions |
| Above Cloud ▲ | Uptrend | ❌ Block BUY |
| Below Cloud ▼ | Downtrend | ❌ Block SELL |
| Compress! | Thin Cloud, easy to penetrate | ❌ Block both directions |
2928, Span B = 2922 (thick 60 points)0 thì bộ lọc coi như tắt — phải đặt một mức thật nó mới chặn được gì. 0. Bật bộ lọc mà để nguyên số đó thì bộ lọc không chặn gì cả — EA ghi một dòng vào tab Experts để báo, nhưng bạn dễ tưởng nó đang hoạt động. Đơn vị là giá gốc của mã, mỗi mã một mức khác nhau: vàng và EURUSD không dùng chung con số được. | Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable ATR filter |
| ATR Max | 0 | Block when ATR ≥ value (in price units). 0 = off |
| Period | 14 | ATR Period |
| Timeframe | Current | ATR timeframe |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable ADR filter |
| ADR Period | 14 | Number of days for average (14 = 2 weeks) |
| Threshold % | 80 | Block when today's range ≥ 80% of ADR |
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable Squeeze filter |
| Data Mode | Independent | Independent: use separate params. Shared: use params BB XII.16 + KC XII.17. Toggle with button [S] on panel |
| BB Period | 20 | BB period (Independent mode) |
| BB Deviation | 2.0 | BB standard deviation (Independent mode) |
| KC EMA Period | 20 | EMA period for KC (Independent mode) |
| KC ATR Multiplier | 1.5 | ATR multiplier for KC (Independent mode) |
| Timeframe | Current | Timeframe (Independent mode) |
| Mode | BB params | KC params | Timeframe |
|---|---|---|---|
| Independent | Separate (XII.25) | Separate (XII.25) | Squeeze TF |
| Shared [S] | From BB Channel (XII.16) | From KC (XII.17) | TF of BB + TF of KC |
| Status | Meaning | Action |
|---|---|---|
| Compressed! (BB inside KC) | Volatility is narrowing, energy accumulates → strong breakout about to happen | ❌ Block DCA — Dangerous! |
| OK (BB outside KC) | Volatility normal, no compression signs | ✅ Cho DCA |
"Not compressed" (BB outside KC) can be:
→ Squeeze cannot distinguish between these 2 cases. Need 1 sideways filter (BBCh, ADX, Ichi...) to confirm "sideways" first, then Squeeze adds value.
| Parameter | Default | Description |
|---|---|---|
| Enable/Disable | false | Enable OBV filter |
| OBV SMA Period | 10 | SMA period to measure OBV slope |
| Threshold | 0 | Slope threshold. 0 = block when slope positive/negative any |
| Timeframe | Current | OBV timeframe |
| Group | Filter | Function |
|---|---|---|
| 🔄 OB/OS (10 filter) |
Stoch, RSI, CCI, WPR, MFI, DeM, UO, BB%B, RCI, RVI | Block when overbought/oversold in specific direction |
| 📈 Trend (9 filter) |
ADX, Chop, Aroon, DMI, VIDYA, Elder, MACD, SAR, Supertrend | Determine sideways vs trending |
| 📏 Price Channel (5 filter) |
HIGH LOW, BBCh, KC, DC, Ichimoku | Determine reasonable oscillation zone on chart |
| 🔥 Volatility (3 filter) |
ATR, ADR, Squeeze | Measure volatility / compression alert |
| 📊 Volume (1 filter) |
OBV | Measure trading volume trend |
Squeeze is the only filter that cannot be enabled independently. When you click to enable Squeeze without any sideways confirmation filter enabled, EA will display Alert warning and do not allow activation. Must enable at least 1 of the 14 filters in the Trend or Channel group first.
When you enable multiple filters at the same time, Combine Mode decides how the EA combines signals from the filters.
| Combine Mode | Name | Meaning | Example |
|---|---|---|---|
| Optimize Sideway | Prioritize Sideway | Just need 1 filter report Trending → EA considers it Trending. All must be Sideway to be Sideway | RSI=Sideway + ADX=Trending → Trending (block) |
| Optimize Trending | Prioritize Trending | Just need 1 filter report Sideway → EA considers it Sideway. All must be Trending to be Trending | RSI=Trending + ADX=Sideway → Sideway (allow) |
Optimize Sideway (default) for safer operation — just need 1 filter suspect Trending and the EA will react. When filters confirm the market is Trending, the EA will perform actions according to the chosen Action Mode.
| Mode | Name | Khi Trending | When Sideway returns |
|---|---|---|---|
| 0 | Close 2C+Block 2C | Close both BUY+SELL chains + block opening orders both directions until Sideway returns | Unlock both directions, EA trades normally |
| 1 | Block 1 Way Default | Block opening NEW in direction same as trend (e.g.: Trending up → block new BUY). Old orders remain | Unlock, allow trading both directions |
| 2 | Continue+Block 2C | Running chain still continue running, block opening chain new both directions | Unlock, allow opening new chains |
| 3 | Close 2C+Block 1C | Close both chains + block 1 direction with trend (e.g.: Trending UP → close all + block new BUY) | Unlock blocked direction |
| 4 | Smart Reset | Close chain opposite trend to cut loss (e.g.: Trending UP → close old losing SELL, ManageGrid opens new clean SELL) | Keep running chain as is |
| 5 | Breakeven+Block 1C | Set TP = Breakeven for all chains + block opening new orders with trend | Restore original TP + unlock |
| 6 | Switch Market Stop | If running Pending or Market → switch to Market Stop + delete hanging pending. No direction blocked | Restore old mechanism (Pending/Market) |
| 7 | Leo Thang (Escalation) | Below N filters report Trending → Block 2 ways. Khi ≥ N filter → Close 2 chains + Block. N = Escalation threshold (default 2) | Gradually unlock as filter count decreases |
| Value | Meaning | Real example (BUY chain has 10 orders) |
|---|---|---|
0 |
Exact breakeven | TP set at total profit price = $0 → when price returns to breakeven area → close all |
positive (VD: 5) |
Breakeven + profit | TP set at total profit zone = +$5 → exit with small profit $5 |
negative (VD: -10) |
Accept loss | TP set at total profit zone = -$10 → accept loss $10 to exit fast on strong trend |
Enable RSI + ADX, Combine = Optimize Sideway, Action = Mode 1
→ RSI enters the OB zone + ADX > 25 → the EA block opening new BUY (because price is overbought). Old SELL chain continues DCA normally. When Trending ends → reopen both directions.
Enable ADX + Choppiness, Action = Mode 5, Breakeven TP = -5
→ Trending detected → Opposite chain set TP at -$5 loss zone to exit fast + block new orders with trend. When Sideway → TP restores, reopen both directions.
Enable ADX, Action = Mode 6
→ ADX > 25 (Trending) → the EA switches to Market Stop (only enters when price touches it, with no pending order set in advance) + deletes the old pendings. When ADX < 25 → Pending is restored.
filter_action_mode and filter_combine_mode from server → EA auto-updatesKill Channel creates outer boundary line based on price channel (Pivot/BB/KC/DC). When price breaks outside boundary → EA automatically closes chain and resets to cut loss early, not wait for MaxLoss. Boundary is locked when opening chain and only resets when chain ends.
| Parameter | Description | Example |
|---|---|---|
| Enable/Disable Kill Channel | Enable outside channel barrier feature | false |
| Channel type | Price channel data source: Pivot (swing high/low), BB Channel, Keltner Channel, Donchian Channel | Pivot |
| Timeframe | Timeframe for calculating Kill Channel (usually use larger TF than trade TF) | H1 |
| Step | Description |
|---|---|
| 1. Lock boundary | When opening new chain, EA calculates and lock 2 lines Upper/Lower of Kill Channel at that moment. Buffer % is added to avoid false breaks. This boundary fixed until chain ends. |
| 2. Monitor | Every tick, EA checks: Does current price break outside locked Upper or Lower boundary? Also check if price channel filter is reporting Breakout no. |
| 3. Trigger | Khi price breaks boundary + filter reports Breakout → EA close entire chain (both position and pending) and reset Smart DCA. New chain will be recalculated from start with new boundary. |
| Channel | How to calculate Upper/Lower | Characteristics |
|---|---|---|
| Pivot | Nearest Swing High / Swing Low + Buffer% | Reflects real support/resistance zones, best fit for most pairs |
| BB Channel | Bollinger Upper/Lower + Buffer% | Adapts to volatility range, stretches with volatility |
| Keltner | EMA ± ATR × Multiplier + Buffer% | More stable than BB, less affected by spikes |
| Donchian | Highest High / Lowest Low + Buffer% | Reflects actual range best, simple and intuitive |
⚠️ Note: Kill Channel requires at least 1 active price channel filter (Pivot, BB Channel, Keltner, or Donchian) to work. If no channel filter is enabled, Kill Channel will not activate.
When the market shifts from Sideway → Trending (breakout), Breakout Adjust auto widens step and/or reduce multiplier to adapt. This module works supporting for filter, not a new action mode — activates when filter detects breakout and the sequence is open.
| Parameter | Description | Example |
|---|---|---|
| Enable/Disable Breakout Adjust | Enable the feature to adjust parameters on breakout | false |
| Step Widening Mode | How to calculate the new step when breakout occurs | Disable |
| Step Coefficient | Step widening coefficient (depends on mode: multiply ×1.5, add +5.0, or momentum factor) | 1.5 |
| Reduce Multi on Breakout | Whether to reduce Multiplier on breakout | false |
| Multi Coefficient | Multiplication factor to reduce Multi (0.8 = reduce 20%) | 0.8 |
| ATR Timeframe | ATR Timeframe (used only for Momentum mode) | H1 |
| ATR Period | ATR Period | 14 |
| Mode | Formula | Example (Step=1, Factor=1.5) |
|---|---|---|
| Disable | No step widening, only reduce Multi (if enabled) | Step unchanged = 1 |
| Multiply once | Step × Factor, fixed lock for all new layers | Step = 1 × 1.5 = 1.5 (fixed) |
| Multiply progressively | Layer k: Step × Factork | K1: 1.5, K2: 2.25, K3: 3.375 (increasing) |
| Add progressively | Layer k: Step + Factor × k | K1: 2.5, K2: 4.0, K3: 5.5 (constant increase) |
| Momentum | Layer k: Step × (1 + ATR_ratio × Factor)k | Auto-adapts based on ATR at breakout time |
| Stage | Description |
|---|---|
| ⚡ Activation | Filter shifts from Sideway → Trending while sequence is open → EA calculates new step/multi, locks parameters, deletes old pending. System auto-creates new pending with new parameters. MaxLayers is also recalculated based on remaining budget. |
| 🔒 Active | Parameters locked do not change until the sequence closes, even if market returns to Sideway. All new layers use the adjusted step/multi. |
| 🔄 Reset | Only when sequence closes completely (TP or MaxLoss) → parameters reset to original Smart DCA values. New sequence recalculates from the start. |
⚠️ Note: Breakout Adjust must be used with Smart DCA (enabled) and at least 1 price channel filter to have Sideway→Trending signal. If Smart DCA is off or no filters enabled, module will not activate.
Đây là một khối riêng, bật tắt độc lập với phần giãn Step ở trên. Khi giá phá kênh, EA mở lệnh ngược bằng đúng khối lượng để khoá lỗ lại. Lãi lỗ của phần hedge này được theo dõi tách riêng khỏi chuỗi chính.
| Parameter | Description | Mặc Định |
|---|---|---|
| 1. Bật/Tắt Breakout Hedge | Mở lệnh ngược bằng đúng khối lượng để khoá lỗ khi giá phá kênh. | false |
| 2. Chế độ Exit | Cách thoát phần hedge: BE + Step (SL hoà vốn cho cả cụm, rồi dời theo bước giá) hoặc Pivot Exit (đóng khi thị trường quay về sideway / pivot đổi chiều). | BE + Step |
| 3. Cutoff % | Giá vượt bấy nhiêu phần trăm kênh thì đóng phần hedge. | 30.0 |
| 4. Cluster SL Step | Bước dời SL của cụm hedge. Đơn vị là giá. | 5.0 |
| 5. Single Hedge Buffer | Khoảng đệm cho trường hợp chỉ hedge lẻ một lệnh. Đơn vị là giá. | 10.0 |
| Parameter | Description | Example |
|---|---|---|
| Enable order pruning | Enable automatic order reduction to shorten sequence | true |
| Trigger Offset k | Layer position using profit to offset loss (counted backward from newest order layer n). Loss-offset trigger layer = n - k | 1 = Take profit from layer n-1 to offset loss. When satisfied, close from layer n-1 to n together with most loss-heavy order |
| Minimum layers | Must have at least N layers to prune | 4 = no pruning while the sequence is < 4 layers |
| Maximum layers when pruning | Limit remaining layers after pruning | 100 = no limit |
| Reduce TP after pruning | Adjust TP after pruning completes | true |
BUY sequence 10 orders in red: L1 (heaviest loss from buying at peak), L2 (loss), ... L9 (profit), L10 (most profit from buying at bottom)
With Trigger Offset k=2: Profit-trigger layer = 10 - 2 = 8. Bot uses profit from order L8 alone to check loss offset for L1:
| Parameter | Description | Example |
|---|---|---|
| Enable Order Control | Enable remote control | true |
| Control Symbol | Control Symbol (different from trading symbol) | BTCUSD, ETHUSD |
| Control Price - START | Price to START EA | 1 |
| Control Price - STOP | Price to STOP EA | 2 |
| Control Price - REST | Price to REST | 3 |
| Control Price - CONTINUE | Price to CONTINUE | 4 |
Place a BUY LIMIT pending order at the corresponding price on your phone to execute the action. EA will receive and execute the order, then delete the pending order automatically.
Ba ô dưới đây không đụng gì tới cách EA vào lệnh. Chúng dùng để soi lại kết quả và để chạy Strategy Tester cho nhanh.
| Parameter | Description | Example |
|---|---|---|
| Bật ghi log chuỗi vào CSV | Ghi lại diễn biến từng chuỗi ra file CSV để soi lại sau. Không ảnh hưởng cách giao dịch. | false |
| Hệ số nhân Lot→USD trong Tester | CHỈ dùng trong Strategy Tester, và chỉ khi bật Smart DCA. Hệ số quy đổi lot sang USD để Smart DCA tính đúng ngân sách trong môi trường test. Tài khoản Cent thường để 100. 0 = không quy đổi. | 0 or 100 |
| ⚡ Virtual Optimize | CHỈ dùng trong Strategy Tester. Bật thì chạy bằng máy ảo nội bộ, nhanh khoảng 10 lần, nhưng phải chọn hàm tối ưu là Custom max. Dùng khi quét tối ưu nhiều tổ hợp tham số. | false |
Custom max thì kết quả tối ưu không đúng.Ctrl + T)✅ "EA DCA Starting" ✅ "Running in Auto Mode" or "Running in Manual Mode" ❌ Any errors if any
Input boxes allow changing parameters directly on interface: Lot, Step, Profit, Multi
Break-Even Button: Set TP = 0 immediately for current sequence (close order at break-even)
DCA_Http.dll trong MQL5\Libraries\, haven't enabled "Allow DLL imports", machine lost Internet, or firewall/antivirus blocks EAEA is ready to trade. Good luck!