⚙️ SMART DCA EA v11.9 — Hướng dẫn cài đặt

Detailed installation guide for DCA EA on MetaTrader 5

🎬

Detailed Video Guide

1

Copy gói cài đặt vào MT5

  • Open MT5 Data folder:
    • In MT5, go to menu FileOpen Data Folder
    • Or press the shortcut Ctrl + Shift + D
  • Đóng MT5 lại.
  • Copy cả ba thư mục Experts, 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.
📦 Gói tải về đã đóng sẵn đúng cấu trúc:
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.

Ba indicator kênh giá dùng để làm gì?

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.

💡 Tip:

After copying the files, go back to MT5 → Right-click on Expert Advisors in Navigator → Select Refresh or press F5

2

Grant EA permissions: DLL imports & Algo Trading

💡 Change from new version:

EA connects to server via DLL, so no need to add URLs to the list "Allow WebRequest for listed URL" like previous versions.

1. Enable DLL permission in MT5:

  • Go to menu ToolsOptions → Tab Expert Advisors
  • ✅ Check "Allow DLL imports"
  • Press OK to save

2. Enable Algo Trading:

  • Click the button "Algo Trading" on toolbar (play button icon), or press Ctrl + E
  • Blue button = Enabled  |  ❌ Gray button = Disabled

⚠️ 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.

3

Attach EA to chart

Add EA to chart:

  • Open chart for the currency pair you want to trade (example: XAUUSD)
  • Open Navigator (press Ctrl + N)
  • Find "Expert Advisors""SMART DCA"
  • Drag and drop EA onto chart
💡 Check if EA is running:

EA is running when the icon on chart shows a smiley face 😊.

Configure in the popup window:

  • Tab Common:
    • ✅ Tick "Allow Algo Trading"
    • ✅ Tick "Allow DLL imports"
  • Tab Inputs: Set EA parameters (see step 4)

Configuration Mode

Choose mode suitable for your needs

Local Config

Configure directly on EA

  • Configuration parameters per timeframe
  • Suitable for experienced users
  • Detailed customization of Start Lot, Step, TP, Multiplier
  • Full control of trading strategy

Signal Config

Receive config from server

  • Config synced from server (GOLD100K, GOLD500K...)
  • Requires License Key
  • Optional sync of Start Lot & Max Loss from server
  • Multiple configs no extra charge
4

Configure EA parameters (Tab Inputs)

Choose configuration mode you want to use:

📡 Signal Config Setup

Good for beginners - Receive ready config from server

💰 MaxLoss ở chế độ Signal là NGÂN SÁCH, không phải mức dừng lỗ

Mỗi signal có một ngân sách gốc — xem cột Initial Capitaltrang 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 10.000 cho signal vàng → chạy quy mô
  • Khai 20.000 → chạy , lot gấp đôi
  • Để 0 → chạy đúng quy mô gốc của signal

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.

ParameterDescriptionExample
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
💡 Signal Config Note:
  • You can choose multiple different Signal Codes, no extra charge
  • To increase capital, you can turn off "Sync Start Lot" and set your own lot
  • Remember to do Step 2 to enable "Allow DLL imports"!

⚙️ Local Config Setup

For experienced users - Configure details yourself

Basic settings:
ParameterDescriptionExample
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
Set Timeframe (Time Frame 1-5):
ParameterDescriptionExample 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
Risk control (Optional):
ParameterDescriptionRecommended
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
💡 Example setup by capital:
  • $100: Lot = 0.01, Step = 100, TP = 200, Multiplier = 1.5
  • $500: Lot = 0.02, Step = 150, TP = 250, Multiplier = 1.5
  • $1000: Lot = 0.05, Step = 200, TP = 300, Multiplier = 1.5

Kích hoạt bản quyền

Ô License Key nằm ở thẻ Inputs. Máy cần kết nối Internet để xác thực.

Thành viên group VIP TradingAuto

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.

Mua License Key

Đă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.

See pricing

Test run

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.

Parameter Details

All EA configuration parameters

ParameterDescriptionExample
Trading ModeAuto = EA opens orders automatically; Manual = manual entryAuto
Trade directionAll / Buy Only / Sell OnlyAll
Max lot per single orderLimit max lot per order1.0 (tk $100)
Maximum number of ordersTotal max orders50
Number of pending orders presetPending preset (1-20)4
Maximum layers per sequenceLimit DCA layers20
💡 Example by capital:
  • $100: Max lot = 0.5, Layers = 15-20
  • $500: Max lot = 2.0, Layers = 25-30
  • $1000+: Max lot = 5.0, Layers = 30-40

ParameterDescriptionExample
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 EA50 = stop EA when loss is $50
Max loss per series (USD)Close 1 DCA series when loss reaches level30 = 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 = 05 = close both series when total profit is $5
Action when series losesClose series and open new / Stop EAOption
Break-even from layerAutomatically set TP=0 from specified level (0 = off)35 = from level 35 TP=0
💡 Scenario example (capital $500, XAUUSD):
  • Protect capital: Max Loss EA = 250 (stop when loss is 50% of capital)
  • EA take profit: Profit Target = 50 (stop EA when profit is 10%)
  • Eliminate both series: Combined Profit = 0 → when BUY loses -$20 and SELL gains +$20 → total = $0 → close both
  • Break-even: Break-even from level = 30 → series goes too deep, set TP=0 to exit quickly

Mặ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.

ParameterDescriptionExample
Bật Trailing TPBậ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 ModeCách tính trần của trailing: Cố định (Giá) or % Biên độ chuỗi.Cố định (Giá)
TP Max ValueTrầ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
💡 Ba ô này đi với nhau
  • Kích hoạt quyết định lúc nào bắt đầu trail.
  • Step quyết định dời từng bước bao nhiêu.
  • Max Value quyết định trail tới đâu thì dừng và chốt.

ParameterDescriptionExample
Enable HedgeTurn on/off Hedge featuretrue
Hedge ModeHEDGE = open reverse order to protect; CLOSE = close old order to reduce lossHEDGE
Hedge Calc ModeGAP = hedge regularly every N layers; START_STOP = hedge within fixed layer rangeGAP
[START_STOP] Start LayerStart hedge at layer10
[START_STOP] Stop LayerStop hedge at layer30
[GAP] Hedge GapHedge every N layers10
Auto Close HedgeAuto close hedge orders when main sequence closestrue
💡 Detailed Explanation of Hedge Mechanism (Layer Determination):
  • Principle: When hedge condition is met, EA takes Current Layer - Gap Distance to find Target Layer to process.
  • GAP Mode (Example Gap=15): Continuous hedge from layer 15. When BUY sequence reaches L15 → take L15 - 15 = Target L0 → process L0. When hits L16 → process L1... When hits L20 → process L5. Always close and process old layers that are 1 Gap distance from current price.
  • START_STOP Mode (Example Start=10, Stop=30): Calculation similar to GAP Mode (with Gap = Start). However, only activates when Current Layer is between 10 and 30. Hits L10 → process L0... Hits L30 → process L20. At L31 onwards, stops processing old layers.
  • HEDGE Mode vs CLOSE Mode: For Target Layer determined above (e.g., L0). HEDGE Mode will open 1 reverse order (SELL) with Volume equal to the corresponding L order to lock the loss. CLOSE Mode will directly cut the loss and close the corresponding L order instead of opening a reverse order like hedge mode.
  • Note that some brokers charge margin fees both ways, which can lead to insufficient funds to enter orders, so with hedge you need to ask the broker carefully before running to safely earn commissions

ParameterDescriptionExample
Time RangeTrading timeframe (supports overnight)08:00-22:00 or 22:00-06:00 (overnight)
Step ModeHow to calculate distance between layersFixed / Multiplier / Addition / Custom
Price StepDistance between DCA layers1 = fixed 1 price per layer
Step CoefficientStep increment coefficient (only used in Geometric/Arithmetic mode)1.3 = each layer step increases 30%
TP ModeHow to calculate Take ProfitFixed / % Range / Custom
Take ProfitTP 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 ModeHow to increase lot per layerMultiply / Add / Custom
Lot coefficientLot increase coefficient (Multiply: 1.15=+15%, Add: 0.01)1.15 = each layer lot increases 15%
Starting Lot / CustomLot of first layer or Custom series0.01
📌 Detailed Example: Step Settings
Step ModeSettingsStep result per layer (XAUUSD)
FixedStep = 1L0→L1: 1, L1→L2: 1, L2→L3: 1 ... (always 1 price)
MultiplyStep = 1, Multiplier = 1.3L0→L1: 1, L1→L2: 1.3, L2→L3: 1.69, L3→L4: 2.2 ...
AddStep = 1, Multiplier = 0.5L0→L1: 1, L1→L2: 1.5, L2→L3: 2.0, L3→L4: 2.5 ...
CustomStep Mode = Custom, Step = 1-3:x1.5-8:+0.5L0-L2: fixed 1 → L3-L7: multiply ×1.5 per layer → L8+: add +0.5 per layer (applies only when Custom mode is selected)
📌 Detailed Example: Lot Configuration
Lot ModeSettingsResulting lot per layer
MultiplyStart = 0.01, Multiplier = 1.5L0: 0.01, L1: 0.01, L2: 0.015, L3: 0.023, L4: 0.034 ...
AddStart = 0.01, Multiplier = 0.01L0: 0.01, L1: 0.01, L2: 0.02, L3: 0.03, L4: 0.04 ...
CustomLot Mode = Custom, Lot = 0.01x1.2-5:+0.02L0-L4: 0.01 multiply ×1.2 per layer → L5+: add +0.02 per layer (applies only when Custom mode is selected)
💡 Lot Notes: Multiply and Add modes keep L0 = L1 (equal), multiply/add starts from L2. Custom mode follows the exact declared sequence.
📌 Detailed Example: Take Profit Configuration
TP ModeSettingsMeaning
FixedTP = 1TP fixed one price for all layers
% RangeTP% = 20TP = 20% distance from first entry to farthest layer
CustomTP = 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)
⚠️ Negative TP: Use parentheses () to represent negative numbers. Example: (2) = -2, (5.5) = -5.5. The dash - is already used as layer separator.
💡 Example multiple timeframes (XAUUSD):
  • Timeframe 1 (Asia): 02:00-08:00 — Step=1, TP=1, Lot=0.01 (calm market, small step)
  • Timeframe 2 (Europe): 14:00-20:00 — Step=2, TP=2, Lot=0.01 (larger volatility, wider step)
  • Timeframe 3 (USA): 20:00-02:00 — Step Mode=Multiply, Step=2, Multiplier=1.3, TP=2 (strong volatility, increasing step)
🔗 Config Source

From Timeframe 2 onwards, you can select copy entire config (Step, TP, Lot, Multiplier) from another timeframe instead of setting separately.

ValueMeaning
Custom settingsUse Step/TP/Lot config specific to that timeframe
Use Config Range 1Copy entire from Timeframe 1
Use Config Range 2Copy entire from Timeframe 2 (available only for Range 3+)
Use Config Range 3Copy entire from Timeframe 3 (available only for Range 4+)
Use Config Range 4Copy entire from Timeframe 4 (available only for Range 5)
💡 Chaining: Supports automatic fallback — if Range 3 → Range 2 → Range 1 then Range 3 uses config Range 1. When you change config Range 1, all ranges pointing to Range 1 auto-update.
📅 Date Restrictions & After-Hours Actions
ParameterDescriptionExample
Enable date restrictionNo trading in specific time rangetrue
Start restrictionDate to start no trading2026.01.01 00:00
End restrictionDate to end no trading2026.01.02 23:59
After-hours actionClose All = close all orders when hours end; Keep Running = keep current sequence but don't open newKeep Running
💡 When to use?
  • Date restriction: Avoid trading on holidays, special events (NFP, FOMC...)
  • Close All: Suitable for scalping — don't want to hold orders overnight
  • Keep Running: Suitable for long-term DCA — open sequence runs until profit target

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ờ.

⚠ Bật Smart DCA thì bắt buộc phải có ngân sách

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.

Bật và chọn kênh giá
ParameterDescriptionMặ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 channelKê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
Chặn và kẹp giá trị
ParameterDescriptionMặc Định
3. Minimum rangeBiê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 đaBiê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 stepSà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ểuSà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
Ngân sách và số tầng
ParameterDescriptionMặc Định
5. Số tầng tối đa cho Smart DCATrầ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 DCANgâ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 DCABậ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
Chống nén biên độ
ParameterDescriptionMặc Định
8. Nén range: ngưỡng theo dõiKê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 đaNé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 — phần chừa ngoài kênh

Buffer là phần chừa thêm ra ngoài kênh trước khi EA coi là đã phá biên.

ParameterDescriptionMặc Định
10. Buffer% độngBậ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 đaBuffer 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ếuMố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 SmartDCABuffer riêng cho Smart DCA, tách khỏi buffer của bộ lọc. 0 = dùng chung với filter.0
Hai panel hiển thị
ParameterDescriptionMặc Định
5. Hiện Panel Smart DCAHiện panel Smart DCA trên chart. Signal có thể ghi đè giá trị này.true
5b. Hiện Debug PanelHiệ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
💡 Bật Smart DCA lần đầu nên làm gì
  • Khai ngân sách trước — Lỗ tối đa chuỗi hoặc MaxLoss riêng, một trong hai phải khác 0.
  • Để nguyên các ô chặn (Range tối thiểu / tối đa, Range Position) ở 0 cho lần chạy đầu, xem EA tính ra Step và số tầng thế nào đã.
  • Bật Panel Smart DCA để nhìn trực tiếp con số EA tự tính, rồi mới siết dần các ô chặn.

📢 Notification Settings
ParameterDescriptionExample
Telegram Bot TokenBot Token (required for both notifications and control)1234567890:ABCDEFG...
Telegram Chat IDChat ID to receive notifications. Only needed if you want to receive notifications, leave empty if only controlling123456789
Notify on Layer OpenNotify when opening new ordertrue
Notify on Layer CloseNotify when closing ordertrue
Notify on Chain CloseNotify when closing series (with P/L)true
Notify on Profit TargetNotify when reaching profit targettrue
Notify on Max LossNotify when reaching maximum losstrue
Profit Drawdown Levels (%)Drawdown warning levels, separated by comma10,20,30,50
Layer Alert LevelsAlert when series reaches specific level5,10,15,20,30,40,50
🎮 Remote Control (Bot Control)
ParameterDescriptionExample
EA display nameName to distinguish when running multiple EAs on 1 bot. Default = SymbolGOLD_VPS1
📱 Control buttons on Telegram:
ButtonFunctionDetailed description
▶ StartStart EAEA starts opening new orders
⏹ StopStop EAEA stops opening new orders, current orders remain
⏸ PausePause EATemporarily stop processing, maintain state
▶ ResumeResume EAResume after pause
❌ Close AllClose allClose all open + pending orders
📊 StatusStatusShow Account, Balance, Equity, Profit in real-time
💡 Setup guide:

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

🔹 Control only (no notifications):
  • Just enter Bot Token, leave Chat ID empty
  • Send /start to bot → use buttons to control EA
🔹 Want notifications + control:
  • Example Bot Token + Chat ID
  • Get Chat ID: open @userinfobot or @getmyid_bot on Telegram → send /start → receive Chat ID
  • EA will automatically send notifications to Chat ID and you can also control via Inline Keyboard

📰 News Filter
ParameterDescriptionExample
News level to filterNews type to avoidOnly HIGH impact news
Minutes to stop BEFORE newsStop trading before news30
Minutes to stop AFTER newsStop trading after news15
📈 Spread Filter
ParameterDescriptionExample
Max Spread (Price)Max spread allowed (0 = off)XAUUSD: 50
Suspension time (minutes)Pause time when spread is high30

Auto block orders based on technical signals. Each filter has its own Timeframe! Click each filter to see detailed description.

🔄 OSCILLATION (OB/OS) — 10 filters Block when overbought / oversold
1. RSI — Relative Strength Index
RSI measures speed and magnitude of price change, ranges 0-100. When RSI > the Overbought threshold (default 70) → price is overbought → block BUY. When RSI < the Oversold threshold (30) → price is oversold → block SELL. This is the most common OB/OS filter, ideal for stopping the EA from opening trades in the same direction once price has run too far.
🔍 What is RSI?
RSI (Relative Strength Index) measures speed and magnitude of price change, ranges 0-100. Formula: RSI = 100 − 100/(1 + RS), where RS = Avg Gain / Avg Loss in N candles.

Application: When RSI > the OB threshold → price is overbought → Block BUY. When RSI < the OS threshold → price is oversold → Block SELL. This is the most popular OB/OS filter.
ParameterDefaultDescription
Enable/DisablefalseEnable RSI filter
Overbought70Block BUY when RSI ≥ 70
Oversold30Block SELL when RSI ≤ 30
Period14RSI Period (standard: 14)
TimeframeCurrentRSI Timeframe
💡 Example:
  • RSI = 75 ≥ 70: Overbought → Block BUY
  • RSI = 22 ≤ 30: Oversold → Block SELL
  • RSI = 55: Neutral zone → OK
2. Stochastic — Stochastic Oscillator
Stochastic compares current closing price against High-Low range in period, made up of the %K and %D lines, ranges 0-100. When %K > 80 → overbought → block BUY. When %K < 20 → oversold → block SELL. Compared with RSI, Stochastic reacts faster to short-term moves and suits small timeframes (M1-M15).
🔍 What is Stochastic?
Stochastic compares current closing price against High-Low range in period. Consists of 2 lines: %K (fast) and %D (SMA of %K). Ranges 0-100.

Application: %K > OB → overbought → Block BUY. %K < OS → oversold → Block SELL. More sensitive than RSI, suits small timeframes.
ParameterDefaultDescription
Enable/DisablefalseEnable Stochastic filter
Overbought80Block BUY when %K ≥ 80
Oversold20Block SELL when %K ≤ 20
%K Period14%K Period
%D Period3%D signal line period
Slowing3Smoothing factor
TimeframeCurrentStochastic timeframe
💡 Example:
  • %K = 85 ≥ 80: Overbought → Block BUY
  • %K = 15 ≤ 20: Oversold → Block SELL
  • %K = 50: Middle zone → OK
3. CCI — Commodity Channel Index
CCI measures price deviation from statistical average, with no fixed scale. When CCI > +100 → price is in overbought zone. When CCI < -100 → oversold zone. CCI swings wider than RSI/Stoch, so it gives fewer false signals but reacts more slowly.
🔍 What is CCI?
CCI measures price deviation from statistical average. No fixed scale (it can go > +200 or < -200). CCI = (Typical Price − SMA) / (0.015 × Mean Deviation).

Application: CCI > OB (+100) → overbought → Block BUY. CCI < OS (-100) → oversold → Block SELL. A wider range than RSI means fewer false signals.
ParameterDefaultDescription
Enable/DisablefalseEnable CCI filter
Overbought100Block BUY when CCI ≥ +100
Oversold-100Block SELL when CCI ≤ -100
Period14CCI period
TimeframeCurrentCCI timeframe
💡 Example:
  • CCI = +150 ≥ +100: Overbought → Block BUY
  • CCI = -120 ≤ -100: Oversold → Block SELL
  • CCI = +30: Neutral zone → OK
4. Williams %R
Williams %R is similar to RSI but uses reverse scale (0 to -100). Value near 0 (default -20) = overbought. Near -100 (default -80) = oversold. %R reacts very quickly to price changes, suitable for early OB/OS detection.
🔍 What is Williams %R?
Williams %R is similar to Stochastic but uses reverse scale (0 to -100). Formula: %R = (Highest High − Close) / (Highest High − Lowest Low) × (-100).

Application: %R near 0 (> -20) → overbought → Block BUY. %R near -100 (< -80) → oversold → Block SELL. Reacts very fast.
ParameterDefaultDescription
Enable/DisablefalseEnable Williams %R filter
Overbought-20Block BUY when %R ≥ -20 (near 0)
Oversold-80Block SELL when %R ≤ -80 (near -100)
Period14Williams %R period
TimeframeCurrent%R timeframe
💡 Example:
  • %R = -10 ≥ -20: Overbought → Block BUY
  • %R = -90 ≤ -80: Oversold → Block SELL
  • %R = -50: Middle zone → OK
5. MFI — Money Flow Index
MFI is "RSI weighted by volume" — it combines price movement with trading volume, ranges 0-100. When MFI > 80 → money flow is overbought. When MFI < 20 → money flow is oversold. MFI is more reliable than plain RSI because volume confirms it.
🔍 What is MFI?
MFI is "RSI weighted by volume" — combines price movement with trading volume. Ranges 0-100. Formula based on Money Flow = Typical Price × Volume.

Application: MFI > OB → money flow overbought → Block BUY. MFI < OS → money flow oversold → Block SELL. More reliable than RSI thanks to volume confirmation.
ParameterDefaultDescription
Enable/DisablefalseEnable MFI filter
Overbought80Block BUY when MFI ≥ 80
Oversold20Block SELL when MFI ≤ 20
Period14MFI period
TimeframeCurrentMFI timeframe
💡 Example:
  • MFI = 85 ≥ 80: Money flow overbought → Block BUY
  • MFI = 15 ≤ 20: Money flow oversold → Block SELL
  • MFI = 55: Money flow balanced → OK
6. DeMarker — DeMarker Oscillator
DeMarker compares current High/Low with previous High/Low to gauge buying/selling pressure, ranges 0-1. When DeM > 0.7 → strong buying pressure (overbought). When DeM < 0.3 → strong selling pressure (oversold). DeMarker is good at spotting potential reversal point.
🔍 What is DeMarker?
DeMarker compares current High/Low with previous High/Low to measure buying/selling pressure. Ranges 0-1. DeM is good for detecting potential reversal point.

Application: DeM > OB (0.7) → buying pressure too strong → Block BUY. DeM < OS (0.3) → selling pressure too strong → Block SELL.
ParameterDefaultDescription
Enable/DisablefalseEnable DeMarker filter
Overbought0.7Block BUY when DeM ≥ 0.7
Oversold0.3Block SELL when DeM ≤ 0.3
Period14DeMarker period
TimeframeCurrentDeMarker timeframe
💡 Example:
  • DeM = 0.82 ≥ 0.7: Strong buying pressure → Block BUY
  • DeM = 0.2 ≤ 0.3: Strong selling pressure → Block SELL
  • DeM = 0.5: Balanced → OK
7. Ultimate Oscillator — Combines 3 periods
Ultimate Oscillator combines 3 periods (7, 14, 28) into a single figure, ranges 0-100. When UO > 70 → overbought, when UO < 30 → oversold. Advantage: fewer false signals than a single-period oscillator, thanks to weightings from three different timeframes.
🔍 What is Ultimate Oscillator?
UO combines 3 periods (Fast/Medium/Slow) into 1 single indicator, ranges 0-100. Uses weights: Fast ×4, Medium ×2, Slow ×1 to reduce false signals.

Application: UO > OB → overbought → Block BUY. UO < OS → oversold → Block SELL. Fewer false signals thanks to multi-timeframe.
ParameterDefaultDescription
Enable/DisablefalseEnable Ultimate Oscillator filter
Overbought70Block BUY when UO ≥ 70
Oversold30Block SELL when UO ≤ 30
Fast Period7Fast period (weight ×4)
Medium Period14Medium period (weight ×2)
Slow Period28Slow period (weight ×1)
TimeframeCurrentUO timeframe
💡 Example:
  • UO = 78 ≥ 70: Overbought (all 3 periods hot) → Block BUY
  • UO = 25 ≤ 30: Oversold → Block SELL
  • UO = 52: Neutral → OK
8. Bollinger %B — Price position in BB
BB%B measures relative price position within Bollinger Bands, much like "where is price sitting inside the band". %B > 1.0 → price broke above the Upper Band (overbought). %B < 0.0 → price broke below the Lower Band (oversold). %B = 0.5 → price sits exactly on the Middle Band.
🔍 What is BB%B?
BB%B measures relative price position within Bollinger Bands. Formula: %B = (Close − Lower) / (Upper − Lower). %B = 0 → price at Lower, %B = 1 → price at Upper, %B = 0.5 → price at Middle.

Application: %B > 1.0 → price broke Upper (overbought) → Block BUY. %B < 0.0 → price broke Lower (oversold) → Block SELL.
ParameterDefaultDescription
Enable/DisablefalseEnable BB%B filter
Overbought1.0Block BUY when %B ≥ 1.0 (breaks Upper Band)
Oversold0.0Block SELL when %B ≤ 0.0 (breaks Lower Band)
BB Period20Bollinger Bands period
BB Deviation2.0Standard deviation coefficient
TimeframeCurrentBB%B timeframe
💡 Example:
  • %B = 1.15 ≥ 1.0: Price breaks Upper Band → Block BUY
  • %B = -0.1 ≤ 0.0: Price breaks Lower Band → Block SELL
  • %B = 0.6: Price within BB, slightly above Middle → OK
9. RCI — Rank Correlation Index
RCI (Spearman Rank Correlation) measures correlation level between time order and price order, ranges -100 to +100. When RCI > 80 → price has been rising too steadily (overbought). When RCI < -80 → price has been falling too steadily (oversold). RCI is barely affected by price spikes.
🔍 What is RCI?
RCI (Spearman Rank Correlation) measures correlation level between time order and price order. Ranges -100 to +100. If price increases consistently over time → RCI near +100. Consistent decrease → near -100.

Application: RCI > OB (+80) → rising too steadily (overbought) → Block BUY. RCI < OS (-80) → falling too steadily (oversold) → Block SELL. Barely affected by price spikes.
ParameterDefaultDescription
Enable/DisablefalseEnable RCI filter
Overbought80Block BUY when RCI ≥ +80
Oversold-80Block SELL when RCI ≤ -80
Period14RCI calculation period
TimeframeCurrentRCI timeframe
💡 Example:
  • RCI = +90 ≥ +80: Price rises too consistently → Block BUY
  • RCI = -85 ≤ -80: Price falls too consistently → Block SELL
  • RCI = +20: Weak correlation → OK
10. RVI — Relative Vigor Index
RVI measures strength of close relative to candle range. When the market rises → the close sits near the High → RVI is positive. When it falls → the close sits near the Low → RVI is negative. RVI > 0.3 → buying strength too high (overbought). RVI < -0.3 → selling strength too high (oversold). Unlike other oscillators, RVI uses the candle range instead of absolute price.
🔍 What is RVI?
RVI measures closing strength relative to candle range. When market rises, price usually closes near High → RVI positive. When falls → RVI negative. Oscillates around 0.

Application: Similar to RSI but based on close price vs range instead of pure price movement. Overbought/Oversold filter.
ParameterDefaultDescription
Enable/DisablefalseEnable RVI filter
Overbought0.3Block BUY when RVI ≥ 0.3 (buying strength too strong)
Oversold-0.3Block SELL when RVI ≤ -0.3 (selling strength too strong)
Period14RVI period
TimeframeCurrentRVI timeframe
💡 Example:
  • RVI = 0.45 ≥ 0.3: Buying strength too strong (overbought) → Block BUY
  • RVI = -0.5 ≤ -0.3: Selling strength too strong (oversold) → Block SELL
  • RVI = 0.15: Lies within -0.3 ↔ 0.3 zone → OK
📈 TREND — 9 filters Distinguish Sideway vs Trending
11. ADX — Average Directional Index
ADX measures trend strength (regardless of direction), ranges 0-100. ADX < 25 → the market is ranging (safe for DCA). ADX ≥ 25 → strongly trending (dangerous for DCA). This is the most basic and most widely used trending filter.
🔍 What is ADX?
ADX measures trend strength (regardless of up/down direction), ranges 0-100. ADX is calculated from +DI and -DI. This is the most basic and common trending filter.

Application: ADX < Trending Level → the market is Sideway → Allow DCA. ADX ≥ Trending Level → market Strong trending → Block DCA.
ParameterDefaultDescription
Enable/DisablefalseEnable ADX filter
Trending Level25Block DCA when ADX ≥ 25
Period14ADX period
TimeframeCurrentADX timeframe
💡 Example:
  • ADX = 35 ≥ 25: Strong trend → Trending → Block DCA ❌
  • ADX = 18 < 25: Sideway market → Sideway → DCA OK ✅
12. Choppiness Index — Measures price "choppiness"
Choppiness Index measures level of "choppiness" of the market, ranges 0-100. CI < 38.2 → price is strongly trending → block DCA. CI > 61.8 → price is ranging (sideway). Choppiness does not tell you the direction trend, only shows whether market is trending or choppy.
🔍 What is Choppiness Index?
Choppiness measures level of "choppiness" of the market, ranges 0-100. Uses ATR and High-Low range in period. Choppiness does not show direction, only shows whether market is trending or choppy.

Application: CI < 38.2 → price is strongly trending → Block DCA. CI > 61.8 → price is ranging (sideway) → Allow DCA. The logic is the reverse of ADX.
ParameterDefaultDescription
Enable/DisablefalseEnable Choppiness filter
Trending Level38.2Block when CI ≤ 38.2 (strong trend)
Period14Choppiness Period
TimeframeCurrentChoppiness Timeframe
💡 Example:
  • CI = 30 ≤ 38.2: Strong trend → Trending → Block DCA ❌
  • CI = 65 > 61.8: Choppy/sideway → Sideway → DCA OK ✅
  • CI = 50: Middle zone → Unclear
13. Aroon — Measure age of high/low
Aroon has 2 lines: Aroon Up (distance to recent high) and Aroon Down (distance to recent low), range 0-100. When Aroon Up ≥ 70 → strong uptrend. When Aroon Down ≥ 70 → strong downtrend. Both low → sideway. Aroon detects trend earlier than ADX.
🔍 What is Aroon?
Aroon has 2 lines: Aroon Up (how many bars since recent high) and Aroon Down (how many bars since recent low), range 0-100. Aroon detects trend earlier than ADX.

Application: Aroon Up ≥ 70 → strong uptrend → Block per Action Mode. Aroon Down ≥ 70 → strong downtrend → Block. Both low → sideway → Allow DCA.
ParameterDefaultDescription
Enable/DisablefalseEnable Aroon filter
Trending Level70Block when Aroon Up or Down ≥ 70
Period14Aroon Period
TimeframeCurrentAroon Timeframe
💡 Example:
  • Aroon Up = 85 ≥ 70: Recent new high → Uptrend → Block BUY ❌
  • Aroon Down = 90 ≥ 70: Recent new low → Downtrend → Block SELL ❌
  • Up = 40, Down = 35: Both low → Sideway
14. DMI — Directional Movement Index (+DI / −DI)
DMI consists of 2 lines: +DI (rising strength) and −DI (falling strength). When difference |+DI − −DI| large → one direction dominant → trending. When difference small → 2 forces balanced → sideway. Unlike ADX (only measures strength), DMI clearly distinguishes up/down direction.
🔍 What is DMI?
DMI consists of 2 lines: +DI (uptrend strength) and −DI (downtrend strength). When difference |+DI − −DI| large, market is trending strong in one direction. When difference small, market sideway.

Unlike ADX: ADX only measures strength of trend (doesn't distinguish direction). DMI clearly distinguishes up or down direction → more useful for blocking specific direction.
ParameterDefaultDescription
Enable/DisablefalseEnable DMI filter
Trending Level10Block when |+DI − −DI| ≥ value. 10 = 10 points difference
Period14DMI period
TimeframeCurrentDMI timeframe
💡 Example:
  • +DI = 25, −DI = 12: Gap = 13 ≥ 10 → Trending ↑ (strong uptrend, block BUY per Action Mode)
  • +DI = 18, −DI = 16: Gap = 2 < 10 → Sideway (2 forces balanced, normal DCA)
15. VIDYA — Variable Index Dynamic Average
VIDYA is adaptive moving average using Chande Momentum Oscillator (CMO) to auto-adjust speed. EA measures slope (steepness) of VIDYA — large slope → price moving strongly → trending → block DCA. Small slope → VIDYA flat → sideway.
🔍 What is VIDYA?
VIDYA is adaptive moving average (adaptive moving average) using Chande Momentum Oscillator (CMO) to auto-adjust response speed. When volatility high → VIDYA responds fast. When market sideway → VIDYA flatter.

Application: EA measures slope of VIDYA. Large slope = price trending strongly → Block DCA.
ParameterDefaultDescription
Enable/DisablefalseEnable VIDYA filter
MA Period14VIDYA line period
CMO Period9Chande Momentum period (self-adjust speed)
Slope Threshold50Slope threshold (points/bar). Trending when slope ≥ value
TimeframeCurrentVIDYA timeframe
💡 Example:
  • Slope = 80 ≥ 50: VIDYA sloping up strongly → Trending ↑
  • Slope = 15 < 50: VIDYA flat → Sideway
16. Elder Power — Bulls Power + Bears Power
Bulls Power = High − EMA (buy strength), Bears Power = Low − EMA (sell strength). When |Bulls/Bears Power| large → one side dominant → trending. When both small → forces balanced → sideway. This filter is especially good at detecting trend based on actual buy/sell strength.
🔍 What is Elder Power?
Bulls Power = High − EMA (buy side strength), Bears Power = Low − EMA (sell side strength). Developed by Dr. Alexander Elder.

Application: When Bulls/Bears Power large (absolute) → one side dominant → Trending. When both small → force balanced → Sideway.
ParameterDefaultDescription
Enable/DisablefalseEnable Elder Power filter
Trending Level50Block when |Bulls/Bears Power| ≥ 50 points
EMA Period13EMA period for Power calculation (standard: 13)
TimeframeCurrentElder timeframe
17. MACD Histogram — Measure Trend Momentum
MACD = EMA(Fast) − EMA(Slow), Histogram = MACD − Signal. When |Histogram| large → strong momentum → market trending → risky for DCA. When Histogram small → weak momentum → sideway. MACD Histogram measures "acceleration" of trend.
🔍 What is MACD Histogram?
MACD = EMA(Fast) − EMA(Slow). Histogram = MACD − Signal Line. Positive large = momentum rising strongly, negative large = momentum falling strongly.

Application: When |Histogram| large → market has strong momentum → Trending → Risky for DCA.
ParameterDefaultDescription
Enable/DisablefalseEnable MACD Histogram filter
Fast EMA12Fast EMA period (standard MACD)
Slow EMA26Slow EMA period
Signal9Signal line period
Trending Level5Block when |Histogram| ≥ value (original price unit). Ex: XAUUSD = 5 points
TimeframeCurrentMACD timeframe
💡 Example (XAUUSD):
  • Histogram = +7 ≥ 5: Momentum rising strongly → Trending ↑
  • Histogram = −8 ≥ 5 (absolute): Momentum falling strongly → Trending ↓
  • Histogram = +2 < 5: Weak momentum → Sideway
18. Parabolic SAR — Stop And Reverse
Parabolic SAR places dots above/below price. Distance |SAR − Close| larger → stronger trend. When distance ≥ threshold → trending → block DCA. When distance small → price near reversal → sideway.
🔍 What is Parabolic SAR?
Parabolic SAR places dots above or below price. Dots below price = uptrend, dots above price = downtrend. Distance from SAR to Close larger → stronger trend.

Application: When distance |SAR − Close| large → price in strong trend → Block DCA. When distance small → price near reversal → Sideway.
ParameterDefaultDescription
Enable/DisablefalseEnable Parabolic SAR filter
SAR Step0.02SAR step size. Increase → SAR chases price faster
SAR Maximum0.2Max step value. Limits pursuit speed
Trending Level10Block when |SAR − Close| ≥ value (original price units)
TimeframeCurrentSAR timeframe
💡 Example (XAUUSD):
  • SAR = 2920, Close = 2935: Gap = 15 ≥ 10 → Trending ↑ (SAR far below, strong uptrend)
  • SAR = 2932, Close = 2935: Gap = 3 < 10 → Sideway (SAR about to reverse)
19. Supertrend — ATR-based Trend
Supertrend is a trend line based on ATR, shown above/below price. When distance |Price − Supertrend| ≥ threshold → strong trend → block DCA. When distance small → price near Supertrend → sideway. Advantage: simple, fewer false signals.
🔍 What is Supertrend?
Supertrend is ATR-based trend line, shown above or below price. When price above Supertrend → uptrend. When price below → downtrend. Distance from price to Supertrend larger → stronger trend.

Application: When distance |Price − Supertrend| ≥ threshold → market has strong trend → Block DCA. When distance small → sideway → Allow DCA.
ParameterDefaultDescription
Enable/DisablefalseEnable Supertrend filter
ATR Period10ATR period. Larger → Supertrend smoother
Multiplier3.0ATR multiplier. Increase → fewer reversal signals, Supertrend farther from price
Trending Level50Block when distance |Price − ST| ≥ value (points)
TimeframeCurrentSupertrend timeframe
💡 Example (XAUUSD):
  • Price = 2935, Supertrend = 2900: Gap = 35 < 50 → Sideway
  • Price = 2960, Supertrend = 2900: Gap = 60 ≥ 50 → Trending ↑
  • Price = 2850, Supertrend = 2900: Gap = 50 ≥ 50 → Trending ↓
📏 PRICE CHANNEL — 5 filters Define reasonable range
📍 20. HIGH LOW — Block Breakout/Sideway
🔍 What is HIGH LOW?
HIGH LOW is method to identify high (High) and low (Low) locally on price chart by comparing each candle with surrounding candles. If a candle has price High higher than all N candles on left and N candles on right → that is High. Similar for Low.

Application in DCA: When price stays in zone High ↔ Low → market Sideway (suitable for DCA). When price breaks out zone → market Trending/Breakout (dangerous for DCA).
ParameterDefaultDescription
Enable/DisablefalseEnable HIGH LOW filter
Left Bars (Candles on the left)5Number of candles on the left used to confirm High/Low. The larger → the more certain, but slower reaction
Right Bars (Candles on the right)5Number of candles on the right used to confirm High/Low. Must wait for enough confirming candles to determine
Buffer % against fake breakouts5Add buffer zone around High/Low to avoid false signals. 5 = add 5% range amplitude on both sides
TimeframeCurrentTimeframe for HIGH LOW calculation (may differ from chart TF)
📐 Detailed operation:
StepDescription
1. Find HighScan 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 LowSimilarly, find candle with Low lower than both sides → local bottom. Ex: Low = 2920
3. Determine zoneSideway Zone = LowHigh (with buffer). Ex: Range = 15, Buffer 5% = 0.75 → Zone = 2919.252935.75
4. Compare priceWithin zone → Sideway. Breaks out → Trending
5. ReturnPrevious candle closes inside zone → return Sideway
💡 Example (XAUUSD, M5): Left/Right = 5, Buffer = 5%
  • High = 2935, Low = 2920 → Zone width 15 price, Breakout = 2919.25 ↔ 2935.75
  • Price = 2928: Within zone → Sideway
  • Price = 2936: Breaks Breakout High → Trending ↑
📊 21. BB Channel — Bollinger Bands breakout
🔍 What is BB Channel?
BB consists of 3 lines: Upper Band, Middle Band (SMA), Lower Band. Formula: Middle = SMA(Period), Upper/Lower = Middle ± Deviation × σ.

Application: Price within BB → Sideway. Breaks out → Trending → block DCA. BB auto-adjusts with volatility.
ParameterDefaultDescription
Enable/DisablefalseEnable BB Channel filter
BB Period20SMA Period. 20 is standard
BB Deviation2.0σ Coefficient. 2.0 = 95% data within bands
TimeframeCurrentTimeframe for calculating BB
Buffer %5Buffer zone outside BB against false breaks
📐 How it works:
StepDescription
1. Calculate BBUse iBands() MT5 → Upper, Middle, Lower. VD: Upper = 2938, Lower = 2922
2. Calculate BufferBuffer = Bandwidth × %. VD: BW=16, Buffer 5% = 0.8 → Breakout = 2938.8 / 2921.2
3. CompareWithin zone → Sideway. Breaks out → Trending
4. ReturnCandle closes within original BB (no buffer) → Sideway
💡 Example (XAUUSD, M5): Period=20, Dev=2.0, Buffer=5%
  • BB: Upper=2938, Middle=2930, Lower=2922
  • Price = 2929: Trong BB → Sideway
  • Price = 2939: Breaks Upper → Trending ↑
📈 22. Keltner Channel — EMA + ATR price channel
🔍 What is Keltner Channel?
KC consists of: EMA center, Upper = EMA + Multiplier × ATR, Lower = EMA − Multiplier × ATR. Unlike BB (uses σ), KC uses ATR → more stable when price spikes.

Application: Price within KC → Sideway. Breaks out → Trending → block DCA.
ParameterDefaultDescription
Enable/DisablefalseEnable Keltner Channel filter
EMA Period20Center EMA Period
ATR Period10ATR Period for edge
ATR Multiplier1.5ATR multiplier. Increase → wider channel
TimeframeCurrentKC Timeframe
Buffer %5Buffer zone against false breaks
💡 Example (XAUUSD, M5): EMA=20, ATR=10, Mult=1.5
  • EMA=2930, ATR=5: Upper = 2937.5, Lower = 2922.5
  • Price = 2928: Within channel → Sideway
  • Price = 2939: Breaks Upper → Trending ↑
📉 23. Donchian Channel — Highest High / Lowest Low
🔍 What is Donchian Channel?
Simplest price channel: Upper = Highest High N candles, Lower = Lowest Low N candles, Middle = (Upper+Lower)/2. Classic breakout method.

Application: Price within channel → Sideway. Breaks Highest High/Lowest Low → Trending → block DCA.
ParameterDefaultDescription
Enable/DisablefalseEnable Donchian Channel filter
Period20Number of candles for Highest High / Lowest Low
TimeframeCurrentTimeframe for Donchian calculation
Buffer %5Buffer zone against false breaks
💡 Example (XAUUSD, M15): Period=20
  • 20 candles: Highest High = 2940, Lowest Low = 2915 → Channel width 25 price
  • Price = 2928: Within channel → Sideway
  • Price breaks 2940: New High → Trending ↑
⚠️ Compare 3 Channels:
BBKeltnerDonchian
EdgeStandard DeviationATRAbsolute High/Low
ProsStretches with volatilityStable during spikesSimplest
Suitable forEven volatilitySpiking candlesClear range
☁️ 24. Ichimoku Cloud — Japanese trend cloud
🔍 What is Ichimoku Cloud?
Japanese analysis system with 5 lines: Tenkan-sen, Kijun-sen, Senkou Span A/B (cloud), Chikou Span.

Application:
• Price trong Cloud → Sideway → ✅ Cho DCA
• Price above Cloud → Uptrend → ❌ Block BUY
• Price below Cloud → Downtrend → ❌ Block SELL
ParameterDefaultDescription
Enable/Disable IchimokufalseEnable Ichimoku Cloud filter (button [Ichi] on panel)
Tenkan Period9Fast line period
Kijun Period26Slow line period
Senkou B Period52Cloud edge slow period
Check compressed CloudtrueEnable thin Cloud check (button [Compress])
Cloud measurement modeATRPrice: use fixed price threshold. ATR: auto-adapt to volatility (recommended)
Compression threshold0.5When selecting Price: price units (Ex: 0.5). When selecting ATR: ATR ratio (Ex: 0.5 = 50% ATR)
ATR Period14ATR period for Cloud measurement mode (use only when selecting ATR)
TimeframeCurrentIchimoku timeframe
📐 Status:
StatusMeaningAction
Trong CloudTrend unclear✅ DCA both directions
Above Cloud ▲Uptrend❌ Block BUY
Below Cloud ▼Downtrend❌ Block SELL
Compress!Thin Cloud, easy to penetrate❌ Block both directions
💡 Example (XAUUSD, M15):
  • Cloud: Span A = 2928, Span B = 2922 (thick 60 points)
  • Price = 2925: Trong Cloud → DCA OK
  • Price = 2935: Above Cloud → Block BUY
  • Thin Cloud: thick 0.5 → Compress!
🎨 Auto-draw: Enable Ichimoku → EA draws Cloud on chart. Disable → delete. Change TF → redraw.
🔥 VOLATILITY — 3 filters Measure volatility / compression alert
25. ATR — Average True Range
ATR measures average volatility range over the last N candles. When ATR exceeds threshold → volatility too high → block DCA (rủi ro lệnh mới bị cuốn). ATR không xác định hướng, chỉ đo mức biến động tuyệt đối. Ngưỡng để 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ì.
🔍 What is ATR?
ATR measures average volatility range over the last N candles. True Range = max(High-Low, |High-Close[1]|, |Low-Close[1]|). ATR does not determine direction, only measures absolute volatility.

Application: When ATR exceeds threshold → volatility too high → Block DCA (rủi ro lệnh mới bị cuốn).

⚠️ Nhớ đặt ngưỡng, đừng để 0
Mặc định ô ngưỡng là 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.
ParameterDefaultDescription
Enable/DisablefalseEnable ATR filter
ATR Max0Block when ATR ≥ value (in price units). 0 = off
Period14ATR Period
TimeframeCurrentATR timeframe
💡 Example (XAUUSD):
  • ATR = 12, Max = 10: Volatility 12 ≥ 10 → Block DCA
  • ATR = 7, Max = 10: Volatility 7 < 10 → OK
26. ADR — Average Day Range
ADR measures average daily range over the last N days, then compares with today's range. When today's range ≥ X% of ADR → price has moved too much → block DCA. No need for TF button because it always calculates on D1. Runs independently; does not need sideways filter support.
🔍 What is ADR?
ADR (Average Day Range) measures average daily range over the last N days. Filter compares today's range with ADR to determine if the market has moved too far yet.

Application: When today's range ≥ X% of ADR → price has moved too much in the day → Block DCA (because probability of strong continued movement is low, or inversely, it may reverse strongly).
ParameterDefaultDescription
Enable/DisablefalseEnable ADR filter
ADR Period14Number of days for average (14 = 2 weeks)
Threshold %80Block when today's range ≥ 80% of ADR
💡 Example (XAUUSD):
  • ADR 14 days = 25 points: Average range = 25 points/day
  • Today High = 2945, Low = 2930: Range = 15, ratio = 15/25 = 60% < 80% → OK
  • Today High = 2955, Low = 2930: Range = 25, ratio = 25/25 = 100% ≥ 80% → Block
💡 Note: ADR filter no need for TF button because it always calculates on D1. ADR also runs independently — unlike Squeeze, ADR measures absolute volatility, does not need sideways filter support.
27. Squeeze — BB inside KC (compression alert)
Squeeze occurs when BB lies completely inside KC → volatility is being compressed → about to explode (breakout). Supports 2 modes: Independent (separate params) and Shared (uses params + TF from BB Channel XII.16 and KC XII.17).
⚠️ What is Squeeze?
Squeeze occurs when Bollinger Bands lie completely inside Keltner Channel. This means price volatility is being compressed — like a compressed spring, energy accumulates, about to explode (strong breakout).

⚡ 2 modes: Button [S] on panel to switch: Independent (uses separate params) ↔ Shared (borrows params from BB/KC Channel). Button [S] blue = Shared, gray = Independent.
ParameterDefaultDescription
Enable/DisablefalseEnable Squeeze filter
Data ModeIndependentIndependent: use separate params. Shared: use params BB XII.16 + KC XII.17. Toggle with button [S] on panel
BB Period20BB period (Independent mode)
BB Deviation2.0BB standard deviation (Independent mode)
KC EMA Period20EMA period for KC (Independent mode)
KC ATR Multiplier1.5ATR multiplier for KC (Independent mode)
TimeframeCurrentTimeframe (Independent mode)
🔀 Comparison table of 2 modes:
ModeBB paramsKC paramsTimeframe
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
📐 Operating logic:
StatusMeaningAction
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
⚠️ Why can't Squeeze be enabled independently?

"Not compressed" (BB outside KC) can be:

  • Normal sideways — safe for DCA ✅
  • Strong trending — BB expanded because price moved 1 direction → VERY dangerous! ❌

→ Squeeze cannot distinguish between these 2 cases. Need 1 sideways filter (BBCh, ADX, Ichi...) to confirm "sideways" first, then Squeeze adds value.

💡 Best combination:
  • BBCh + Squeeze: BBCh confirms sideways → Squeeze warns "about to breakout" → maximum safety
  • ADX + Squeeze: ADX confirms sideways (ADX < 25) → Squeeze detects the compression → blocks in time
  • ⚠️ If you enable Squeeze without enabling a sideways filter → EA will alert Alert and will not allow enabling
📊 VOLUME — 1 filter Confirm trend using volume
28. OBV — On Balance Volume
OBV accumulate volume by price direction: price up → add volume, price down → subtract volume. EA measures slope OBV (short-term SMA): positive slope large → money flowing in → Inflow. Negative slope large → money flowing out → Outflow. OBV confirms whether the trend has money support.
🔍 What is OBV?
OBV accumulate volume by price direction: price up → add volume, price down → subtract volume. EA measures slope OBV (short-term SMA) to determine money flow.

Application: Positive slope large → money flowing in (Inflow) → Block BUY. Negative slope large → money flowing out (Outflow) → Block SELL. OBV confirms whether the trend has money support.
ParameterDefaultDescription
Enable/DisablefalseEnable OBV filter
OBV SMA Period10SMA period to measure OBV slope
Threshold0Slope threshold. 0 = block when slope positive/negative any
TimeframeCurrentOBV timeframe
💡 Example:
  • OBV slope positive large: Money flowing in → Inflow ↑ → Block BUY ❌
  • OBV slope negative large: Money flowing out → Outflow ↓ → Block SELL ❌
  • OBV slope small: Money flow balanced → Neutral
🧩 Filter Group & Strategy Combination ▶ Click to view
📊 29 filters divided into 5 groups by function:
GroupFilterFunction
🔄 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
💡 Real-world filter combination strategies:
  • BBCh + Squeeze: BBCh confirms sideways → Squeeze warns of spring compression → Block before breakout → Maximum safety
  • Ichimoku + ADR: Ichi confirms price in Cloud (sideways) + ADR controls daily range → double protection
  • ADX + Supertrend: ADX measures trend strength + Supertrend confirms specific direction → fewer missed trends
  • Channel (BBCh + KC + DC): 3 price channels with different reference frames, Combine = Optimal Sideways → safest
  • DMI + MACD + SAR: Detect trends from 3 angles: force direction (DMI), momentum (MACD), distance (SAR)
  • RSI/Stoch + ATR: OB/OS filter + volatility → avoid opening orders when price overbought/oversold + high volatility
⚠️ Important note about Squeeze:

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.

🔀 Combine Mode — How to combine multiple filters ▶ Click to view

When you enable multiple filters at the same time, Combine Mode decides how the EA combines signals from the filters.

Combine ModeNameMeaningExample
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)
💡 Hint: DCA Bot runs best when the market Sideway. Use Optimize Sideway (default) for safer operation — just need 1 filter suspect Trending and the EA will react.
⚙️ Action Mode — Actions when Trending is detected ▶ Click to view

When filters confirm the market is Trending, the EA will perform actions according to the chosen Action Mode.

ModeNameKhi TrendingWhen 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
🎯 Breakeven TP (use with Mode 5)
ValueMeaningReal 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
📌 Real examples
Scenario 1: Safest (Mode 1)

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.

Scenario 2: Exit fast (Mode 5)

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.

Scenario 3: Change mechanism (Mode 6)

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.

🔧 How to set up:
  • Input: Set Combine Mode and Action Mode directly in EA's Input Parameters
  • Panel: Press button 📊 Filters on panel → Click filter name to enable/disable → Click [H1] to change Timeframe → Change Action Mode and Combine Mode directly
  • Signal Config: Change filter_action_mode and filter_combine_mode from server → EA auto-updates
  • ✅ Applies to both Local Config and Signal Config

Kill 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.

ParameterDescriptionExample
Enable/Disable Kill ChannelEnable outside channel barrier featurefalse
Channel typePrice channel data source: Pivot (swing high/low), BB Channel, Keltner Channel, Donchian ChannelPivot
TimeframeTimeframe for calculating Kill Channel (usually use larger TF than trade TF)H1
📌 How it works
StepDescription
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.
🔍 Kill Channel sources
ChannelHow to calculate Upper/LowerCharacteristics
PivotNearest Swing High / Swing Low + Buffer%Reflects real support/resistance zones, best fit for most pairs
BB ChannelBollinger Upper/Lower + Buffer%Adapts to volatility range, stretches with volatility
KeltnerEMA ± ATR × Multiplier + Buffer%More stable than BB, less affected by spikes
DonchianHighest High / Lowest Low + Buffer%Reflects actual range best, simple and intuitive
💡 When to use Kill Channel?
  • Protect capital: When price breaks channel means market switched to strong trend → cut loss early before MaxLoss
  • Combine with Smart DCA: Kill Channel uses same channel source (Pivot/BB/KC/DC) as Smart DCA → ensures barrier is outside DCA zone
  • Use larger TF: Should use H1 or H4 to avoid false signals from short-term volatility
  • Auto-reset: After Kill → new chain locks new boundary, EA auto-adapts to new market

⚠️ 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.

ParameterDescriptionExample
Enable/Disable Breakout AdjustEnable the feature to adjust parameters on breakoutfalse
Step Widening ModeHow to calculate the new step when breakout occursDisable
Step CoefficientStep widening coefficient (depends on mode: multiply ×1.5, add +5.0, or momentum factor)1.5
Reduce Multi on BreakoutWhether to reduce Multiplier on breakoutfalse
Multi CoefficientMultiplication factor to reduce Multi (0.8 = reduce 20%)0.8
ATR TimeframeATR Timeframe (used only for Momentum mode)H1
ATR PeriodATR Period14
📌 5 Step Widening Modes
ModeFormulaExample (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
📌 Lifecycle
StageDescription
⚡ 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.
💡 Real-world Example (XAUUSD):
  • Scenario: EA running Smart DCA, Step auto = 1.0, Multi = 1.2. Enable BBChannel filter.
  • Breakout occurs: Price breaks above Upper BB → Filter reports Trending → Breakout Adjust activates
  • Result (Mode Multiply Once, Factor=1.5): New Step = 1.0 × 1.5 = 1.5. If Reduce Multi enabled (Factor=0.8): Multi = 1.2 × 0.8 = 0.96
  • Benefits: Distance between layers widens → EA places fewer orders when trending. Multi cutting → lot increases slower → reduces risk when market runs strong

⚠️ 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.


Breakout Hedge — khoá lỗ 1:1 khi phá kênh

Đâ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.

ParameterDescriptionMặc Định
1. Bật/Tắt Breakout HedgeMở lệnh ngược bằng đúng khối lượng để khoá lỗ khi giá phá kênh.false
2. Chế độ ExitCá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 StepBước dời SL của cụm hedge. Đơn vị là giá.5.0
5. Single Hedge BufferKhoảng đệm cho trường hợp chỉ hedge lẻ một lệnh. Đơn vị là giá.10.0

ParameterDescriptionExample
Enable order pruningEnable automatic order reduction to shorten sequencetrue
Trigger Offset kLayer position using profit to offset loss (counted backward from newest order layer n). Loss-offset trigger layer = n - k1 = 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 layersMust have at least N layers to prune4 = no pruning while the sequence is < 4 layers
Maximum layers when pruningLimit remaining layers after pruning100 = no limit
Reduce TP after pruningAdjust TP after pruning completestrue
💡 Detailed pruning example:

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:

  • ✅ If Profit(L8) ≥ Loss(L1) → EA closes loss order L1 together with orders L8, L9, L10 (close 4 orders)
  • ✅ 10-layer sequence now has only 6 layers, significantly reducing margin pressure
  • 💰 Result: "fry the fat", use profit from bottom cluster to offset top order, help pull common TP line to shore faster

ParameterDescriptionExample
Enable Order ControlEnable remote controltrue
Control SymbolControl Symbol (different from trading symbol)BTCUSD, ETHUSD
Control Price - STARTPrice to START EA1
Control Price - STOPPrice to STOP EA2
Control Price - RESTPrice to REST3
Control Price - CONTINUEPrice to CONTINUE4
💡 How to use:

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.

ParameterDescriptionExample
Bật ghi log chuỗi vào CSVGhi 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 TesterCHỈ 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 OptimizeCHỈ 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
💡 Lưu ý
  • Hai ô Tester không có tác dụng gì khi chạy tài khoản thật — để mặc định cũng được.
  • Bật Virtual Optimize mà quên chọn Custom max thì kết quả tối ưu không đúng.
5

Check operation

  • Press OK to save settings
  • Check info panel displayed on chart:
    • Total EA Profit: Total profit
    • BUY/SELL: Order series information
    • Expiry: License expiration date
  • Click the button "Start" on panel to start EA trading

Check EA log:

  • Open tab "Experts" in Terminal (press Ctrl + T)
  • Look for messages:
    ✅ "EA DCA Starting" ✅ "Running in Auto Mode" or "Running in Manual Mode" ❌ Any errors if any

Panel Usage Guide

Main Panel - Main Control Panel

Start Stop Rest
  • AUTO: EA opens orders from signals, BUY/SELL buttons to toggle direction
  • MANUAL: EA doesn't open orders, BUY/SELL buttons to open manually
  • Total EA Profit: Total profit from all order sequences (USD)
  • BUY/SELL: Profit/MaxLoss (Current Layer / Max) TP Distance

Close Panel - Close Orders Panel

Close All Close Buy Close Sell
  • Signal Config: Switch to use config from server
  • Local Config: Switch to use config in EA
  • BUY/SELL: Mode AUTO: toggle direction | Mode MANUAL: open order

Quick Update - Quick Update

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)

🔧

Fix common errors

Error 1: EA can't connect to server (Signal Config)
  • Cause: Missing file DCA_Http.dll trong MQL5\Libraries\, haven't enabled "Allow DLL imports", machine lost Internet, or firewall/antivirus blocks EA
  • Solution: Kiểm tra lại Bước 1 (copy đủ ba thư mục Experts, Libraries và Indicators) và Bước 2 (quyền DLL), kiểm tra Internet, thêm MT5 vào danh sách ngoại lệ của tường lửa/antivirus
Error 2: "License Invalid"
  • Cause: License key is invalid or expired
  • Solution: Check license key again, contact support
Error 3: EA won't open orders
  • Cause: Algo Trading not enabled (see Step 2) or stuck in Manual Mode
  • Solution: Check Algo Trading button + Click "Start" on panel
Error 4: EA shows sad face 😟
  • Cause: Haven't granted EA permission
  • Solution: Right-click chart → Expert Advisor → Properties → Check "Allow Algo Trading"

⚠️ Important note

  • Test first: Always test on Demo account before using real money
  • Risk management: Set lot and layers suitable for your capital
  • Follow-up: Check EA operation regularly

🎉 Complete!

EA is ready to trade. Good luck!