
DML EA SR Channel
DML EA SR Channel is an advanced trading bot (Expert Advisor) for the MetaTrader platform. Its strategy is based on trading within a price channel, which is determined by dynamically identified Support and Resistance levels. The EA uses a proprietary Deep Market Level (DML) methodology to find these key zones and then opens positions when the price reaches them.

Main Startup Settings
- Trading ON on init: Determines whether the EA should start trading automatically when placed on the chart.
- Setting it to `false` (default) provides a safety measure. After an accidental platform restart, the robot will manage existing orders but will not open new ones without manual activation via the on-chart button.
- Setting it to `true` will start trading immediately.
Important Note: When backtesting in the Strategy Tester, the Trading ON on init parameter must be set to TRUE. Otherwise, the tester will visualize the levels, but the robot will not open any positions.
- Trade Activation
- Opening Hours
- Minimum Channel Range
You can separately enable or disable the opening of buy positions at support levels and sell positions at resistance levels.
The user can define a specific time frame during the day (e.g., from 8:00 to 16:00) in which the bot can initiate new trades. Outside of these hours, new order grids will not be opened.
You can set the minimum width of the channel (in pips) between the support and resistance levels. This is a necessary condition for trade activation, which prevents opening positions during periods of low volatility.

Global Parameters
Basic configuration settings for the EA.
- Symbol Selection Mode: `Automatic` auto-detects the symbol from the chart. `Manual` allows you to enter the instrument name by hand.
- Manual Name For Symbol: A field to manually enter the symbol (e.g., `EURUSD`) when in `Manual` mode.
- Broker Server Time (GMT): Sets the time zone offset of your broker's server relative to GMT.
- Magic Number: A unique identifier. Each EA instance on your platform must have a different Magic Number to avoid conflicts.

Proximity Alerts
This feature notifies you when the price approaches a selected DML level.
- Proximity alerts: Enables or disables the alert functionality.
- Proximity activation distance (Points): Specifies the distance in points from the level that will trigger an alert.
- Popup Alerts: Enables pop-up notifications on the MT5 platform.
- Mobile Alerts: Enables push notifications to your MT5 mobile app.

Button Parameters
Settings for the on-chart control panel.
- Show Button: Shows or hides the button panel on the chart.
- Buttons Position: Selects the corner of the chart where the panel will be displayed.
- Helper Buttons: The panel includes additional function buttons:
- H (Hide): Toggles the visibility of all DML levels on the chart.
- E (Extend): Activates a mode to permanently extend level lines into the future.
- A (Alert): Activates a mode to permanently set proximity alerts on levels.
- Helper Buttons Position: This parameter determines where the helper buttons (H, E, A) will appear relative to the main level buttons (e.g., top, bottom, left, or right).
- Other Parameters: Allow for detailed customization of the panel's appearance, such as button size (`Button X/Y Size`), text color, font size, and spacing.

Levels Parameters
The core of the bot is its mechanism for identifying support and resistance levels. The user can configure two independent sets of levels.
- Name and Color: The ability to customize the name and color for each type of level (e.g., blue for support, red for resistance), which facilitates their visual identification on the chart.

Strategy Parameters
Trading Direction: This parameter is a global filter for trade direction that works independently of the chosen strategy. It allows you to force the EA to open positions only in one specific direction.
- BUY_and_SELL: The EA opens both buy and sell positions.
- only_BUY: The EA will only open buy positions.
- only_SELL: The EA will only open sell positions.
Min Distance Between Setups: This parameter defines the minimum distance in points that must be maintained between a newly opened setup and any other already existing on the chart. This is a safeguard against opening too many order grids in close proximity, which could lead to an excessive concentration of risk.

Lot Size Management / Setup Parameters
This extensive section of parameters is the heart of the strategy. It controls not only when and how often the EA can initiate new order grids ('setups'), but also how much capital it will risk and the technical manner in which it will open positions. Proper configuration of these options is fundamental for risk management and the overall performance of the bot.
- Setup Initiation and Limit Control: Manages the lifecycle of a potential trade and imposes limits to prevent over-trading. This includes the signal's expiration time and daily limits on the number of grids that can be opened.
- Position Sizing (Lot Size) Management: Defines how large the volume (lot) of each position will be. This is a key element of risk control.
- Grid and Entry Configuration: Determines the technical aspects of order placement, such as their type (market/pending), the reference point for subsequent positions, and the method for calculating the distance between them.
- Key Risk Management Options:
- Lot Size Mode: Allows for selecting the lot calculation method: fixed, based on balance, or dynamically adjusted to a percentage/amount of risk.
- Lot Difference: Determines whether subsequent orders in the grid have a constant volume or an increasing one based on a multiplier (a progressive strategy).
- Daily Limits: Parameters like `Max Opened Setup Number` act as a safety brake, limiting daily risk exposure and protecting capital during high-volatility days.
- Lot Size Mode:
- fixed: A constant lot size, manually defined in the grid parameters.
- Lot_perBalance: Lot size is calculated proportionally to the account balance, based on the `Balance for position` value.
- Risk_from_Balance: Lot size is calculated based on a percentage of the account balance (`riskedPercent`).
- Risk_from_Equity: Lot size is calculated based on a percentage of the account equity (`riskedPercent`).
- Risk_from_Amount: Lot size is calculated so that the potential loss does not exceed the amount defined in `riskedAmount`.
- Lot Difference:
- same_for_all: All positions in the grid will have the size defined by the user settings.
- multiplier_for_baseLot: The size of subsequent positions in the grid is determined by a multiplier, allowing for strategies like Martingale.
Very Important Note: In risk-based modes, if the calculated position size is smaller than the broker's minimum allowed lot (e.g., 0.01), the robot will open a position with the minimum size. On small accounts, this could lead to a loss greater than the defined risk.

MMD Grid Orders Filter
This group of parameters is used to configure a trend filter based on the MMD methodology. Its purpose is to conditionally allow the opening of subsequent orders in a grid based on the analysis of moving average clouds. This filter applies to all positions in the Grid, beyond the value entered in the Open Pending Grid Number parameter.
- Use MMD Grid Orders Filter
The main on/off switch for the filter. Setting it to
true
activates filtering. Whenfalse
, subsequent grid orders will be opened based solely on the price levels defined in the grid parameters, without trend verification. - Fast MA Cloud Period
Defines the period for the fast moving average cloud. Based on this value, the EA creates a cloud consisting of a Simple Moving Average (SMA) and an Exponential Moving Average (EMA) of the same period. This cloud reacts more quickly to price changes.
- Slow MA Cloud Period
Defines the period for the slow moving average cloud. Similarly, it creates a cloud from an SMA and EMA with a longer, smoother period, which helps in identifying a more stable trend.
- Time Frame for MA Clouds
Defines the timeframe on which both moving average clouds are calculated. This allows the trend analysis to be based on a different timeframe than the one the Expert Advisor is running on.
How the filter works:
The MMD filter analyzes the relative position of the clouds.
- To open a subsequent BUY order from the Grid, the fast moving average cloud must be above the slow moving average cloud.
- To open a subsequent SELL order from the Grid, the fast moving average cloud must be below the slow moving average cloud.
If the condition is not met (e.g., the EA wants to open a BUY position, but the clouds indicate a downtrend), the order will not be opened, even if the price reaches its level from the Grid. The EA will wait for the moment the cloud configuration reverses and aligns with the direction of the grid being built.

Grid Setup Parameters
Open Pending Grid Number: This parameter manages how the Expert Advisor builds the grid of pending orders on the market.
- Description: It defines how many pending orders from the grid are placed on the market at one time. After an initial signal, the EA places exactly the number of pending orders defined in this parameter (e.g.,
2
). Subsequent orders from the grid are not added automatically after a previous one is activated. - Logic for Placing Subsequent Orders:
A new pending order from the sequence is placed only when the price reaches the level defined for that order in the grid parameters. This process, however, depends on the state of the MMD Grid filter:
- When the MMD filter is disabled (
Use MMD Grid Orders Filter
=false
): The EA will unconditionally place the next pending order as soon as the price touches its defined level in the grid. - When the MMD filter is enabled (
Use MMD Grid Orders Filter
=true
): For the EA to place the next pending order, two conditions must be met simultaneously:- The price must reach the level of that order as defined in the Grid.
- The direction indicated by the moving average clouds must be consistent with the order's direction.
- When the MMD filter is disabled (
A grid involves opening subsequent orders at predetermined intervals as the price moves against your initial position. The main goal is to average the entry price, which means a smaller price movement in the desired direction is needed to achieve profit or reach Break-Even.
Position Size Fixed/Multiplier 01 ... 10: Here you define the lot size for each of the up to 10 levels of the grid. If you only want to use 5 orders, leave the value 0.0 in fields 06 through 10.
Open Shift 01 ... 10: This is a crucial setting that determines where the pending orders will be placed. It works as follows:
- Open Shift 01: Defines the distance of the first order from the DML SkyBlue level. A value of 0 means the first order will be placed exactly on the level.
- Open Shift 02 to 10: Define the distance of subsequent orders from order #1. This is not the distance from the previous order, but from the first one.
Open Shift Mode: Decides how the distance for the Open Shift parameter is measured:
- range_Multiplier: The distance is dynamic and depends on the DML level's "range," which is the distance between the solid line (main level) and the dashed line (extended level).
- in_points: The distance is fixed and specified directly in points.

Pyramid Setup Parameters
Pyramiding is a strategy of adding more orders as the price moves in the direction of your open position that is already profitable. The goal is to maximize profit during a strong, one-directional market move.
Use Piramide Orders: The master switch (true/false) to enable or disable the entire pyramiding function.
Position Size Fixed/Multiplier 01 ... 10 (in the Piramide section): Works the same as in the grid—it specifies the lot size for each subsequent order added to a profitable position.
Open Shift 01 ... 10 (in the Piramide section): Defines how far from the initial order the next positions should be opened. Unlike the grid, these distances are calculated in the profitable direction.

TP & SL Management
Advanced options for managing Stop Loss and Take Profit orders.
- TP Mode / SL Mode: Allows setting Take Profit and Stop Loss levels in points (`in_points`) or as a multiplier of the range (`range_Multiplier`).
- Use Move TP: Activates the dynamic Take Profit adjustment feature. You can define up to 4 conditions – after a specific position in the grid is opened, the common TP for all orders will be moved to a new, defined level.
- Move SL/BE: A dynamic function to move the Stop Loss (or to Break Even).
- Reference Price: The reference point for calculations can be the price of the first order or the DML level that generated the signal.
- Triggers & Shifts: You can set 4 thresholds. Each threshold consists of two values: the distance from the reference point that activates the change (Trigger), and the new level to which the SL will be moved (Shift).

Risk & Safety Functions
Additional modules to protect capital and secure profits.
- Safe Profit Function: A profit protection feature. It's activated after a specific position number is opened. When the price gets close to the TP by a defined distance, the function "arms" itself. If the price then retreats and reaches a second defined distance, the orders are closed.
- Operating Modes: It can close all positions in the setup, or only those that are currently in profit. In the second scenario, positions closed with a profit will be re-established as pending orders.
- Max Daily Loss: The maximum allowable daily loss in your account currency. Once reached, the robot stops opening new setups for that trading day.

Time & Session Filters
Time filters allow you to adapt the EA's operation to specific sessions or avoid undesirable market periods.
- Trading Time Parameters: Allows you to precisely define the days of the week and hours during which the robot is allowed to open new setups.
- Exclude Time Parameters: Lets you define a "time window" during which the robot will not open new orders (e.g., during spread widening at session rollovers). All previously opened setups will continue to be managed according to their logic.
- MMD Filter Parameters: A trade filter based on the MMD methodology (moving average clouds). It allows you to define two moving averages (SMA and EMA) from a selected timeframe. The robot will only open positions if the signal aligns with the direction indicated by the clouds, enabling strategies like trading with the higher-timeframe trend.

Download
To download the current version of DML EA SR Channel, go to the Download section in your client panel.