DML EA Aqua

DML EA Aqua

DML EA Aqua is an advanced automated strategy designed for the MetaTrader platform. Its main task is to open and manage positions based on unique and predefined "Aqua" price levels.

The EA is highly configurable and equipped with three distinct strategic modes that allow for trading in various market conditions. Additionally, it features an extensive order grid system (grid and pyramid), advanced position management functions such as a dynamic Stop Loss, a dynamic Take Profit, a "Safe Profit" function, as well as time and trend filters (MMD Filter), which increase its flexibility and allow for customization to the individual preferences of the trader.

DML EA Aqua main settings

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.

Aqua Reaction Parameters

Strategy Modes

Here is a detailed description of the 3 strategy modes (Aqua Reaction Parameters) along with their dedicated parameters.

  • Strategy 1: Reaction to an Active Level (base_reaction_logic) This is the basic reaction strategy. The EA waits for the price to reach a newly formed Aqua level and then "reacts" to it.
    • Level "Usage" Limit (nrOfCanTouch): Specifies how many times the price can touch a given level before the EA considers it "used up" and stops trading on it. A low value (e.g., 0) will make the EA trade reactions only on "fresh" levels.
    • Setups Limit per Level (maxNumberOfTradesPerLevel): Defines how many separate trading cycles (setups) the EA can open at the same level. A setting of 1 means that after a trade from a given level is closed (either at TP or SL), it will not be used again.
    • Minimum Price "Bounce" for Entry (distToOpen): The minimum distance in points that the price must move away from the level for the EA to open a grid of pending orders in anticipation of a return and reaction. This acts as a confirmation filter that the reaction to the level is genuine and not just market noise.
  • Strategy 2: Trading the Reaction After a Level Ends (after_level_reaction_logic) This strategy searches recent history for Aqua levels that existed but were never tested by the price after they concluded. It treats these zones as still-active "price traps" and waits for the price to return to them to open a "reaction" position.
    • Level "Untouchable" Period (CantBeTouchecdLastMinutesNr): A key condition. A level qualifies for this strategy only if the price has not touched it for a specified number of the final minutes of its validity. This ensures that we are trading on genuinely untested and untraded zones.
    • Level Search Range (hoursLookBack): Specifies how far back (in hours) the EA should look for such "orphaned" levels. A value of 12 means that Aqua levels from the last 12 hours will be considered.
  • Strategy 3: Return (Approach) Logic After Level Creation (back_logic) This is a strategy based on patience. When a new level appears, the EA first observes if the market keeps the price away from it. If so, the algorithm assumes the level is significant and sets orders to catch a stronger move when the price finally decides to test it.
    • Initial Observation Window (barsCanTouch_Back): The time (in number of 1-minute candles) immediately after a level is created, during which the price is allowed to touch the level.
    • Allowable Number of Touches in the Window (nrOfCanTouch_Back): The maximum number of times the price can touch the level during the "Observation Window." If the price touches the level more times than the set limit during this period, the EA will consider the level to have been tested and will not set the "trap."
DML EA Aqua Global Parameters

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.
DML Proximity Alert

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.
DML Button Parameters

Button Parameters

Settings for the on-chart control panel.

  • 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.
DML EA Aqua Strategy Parameters

Strategy Parameters

Global settings that affect the logic of opening and managing positions.

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.

DML Setup Parameters

Lot Size Management / Setup Parameters

This key section allows you to precisely define what size the opened positions will have and how the EA will initiate and manage the entire lifecycle of a trading setup.

Setup Lifecycle Management

These parameters control how long a setup is active and under what conditions it is removed.

  • Setup Expiration Minutes: The time in minutes after which an inactive setup (a set of pending orders) will be automatically deleted. A value of `0` means the orders never expire. Setting a specific value (e.g., 120 minutes) prevents "catching" old signals that may have lost their relevance.
  • Delete Opposite Setup After Entry: If set to `true`, the activation of one setup (e.g., SELL) will cause the automatic deletion of all pending orders for the opposite setup (BUY). This prevents holding open positions in both directions simultaneously.
  • Max Opened Setup Number Per Level: The maximum number of setups that can be opened from the same DML level within a single day. A value of `0` disables the limit. Setting it to `1` means that after a trade from a specific level is closed, the EA will not open a new position on that same level until the next day.

Lot Size Mode

Choose the method by which the robot will calculate the trade volume.

  • fixed: The simplest method. The EA will use the exact lot values you manually enter in the Position Size... fields.
  • Lot_perBalance: Volume is calculated dynamically based on the account balance. In the Balance For Position field, you specify what amount of the balance corresponds to the base lot (e.g., 0.01).
  • Risk_from_Balance / Equity / Amount: The most advanced modes. The EA will automatically calculate the position size for the entire grid so that if the Stop Loss is hit, the total loss will not exceed a set percentage of your capital (Resked Percent) or a specific amount (Risked Amount).
  • Lot Difference: Determines whether subsequent positions in the grid have the same lot size (`same_for_all`) or if their size is a multiplier of the base position (`multiplier_for_baseLot`), which allows for Martingale-style strategies.

Entry and Calculation Settings

  • Open Shift Mode: Decides how the distance for grid orders is measured:
    • range_Multiplier (Recommended Mode): The distance is dynamic and depends on the distance between the strong and weak S/R levels.
    • in_points: The distance is fixed, specified in points.
  • First Order At Market: Determines if the first order is a pending (`false`) or market (`true`) order.
  • Used Price Level For Shifts: Defines the reference point for calculating the distances of subsequent grid orders. It can be the original DML level (`level_price`) or the actual execution price of the first position (`first_order_price`).
  • Used Spread [Points]: The spread value in points used by the EA for internal calculations, e.g., when placing orders. This is particularly important in the Strategy Tester to simulate real market conditions.
MMD Grid Orders Filter Parameters

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. When false, 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.

DML Grid Setup Parameters

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:
      1. The price must reach the level of that order as defined in the Grid.
      2. The direction indicated by the moving average clouds must be consistent with the order's direction.

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.
DML Pyramid Setup Parameters

Pyramid Setup Parameters

Pyramiding is a strategy of adding more orders as the price moves in the direction of your open, profitable position. The goal is to maximize profit during a strong trend.

Use Piramide Orders: The master switch (true/false) to enable or disable the entire pyramiding function.

The remaining parameters work analogously to the grid, except that distances are calculated in the profitable direction.

DML Take Profit and Stop Loss Management

TP & SL Management

Advanced options for managing Stop Loss and Take Profit orders.

  • InitialTP_Points / SLShift: Sets the initial Take Profit and Stop Loss value in points for the entire setup.
  • 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). It allows setting 4 thresholds that, once reached by the price, will move the SL to a new, safer level.
DML Risk and Safety Functions

Risk & Safety Functions

Additional modules to protect capital and secure profits.

  • Safe Profit Function: A profit protection feature. When the price gets close to the TP, the function "arms" itself. If the price then retreats by a set amount, all profitable positions (or the entire setup) are closed to secure a portion of the profit.
  • Max Daily Loss: The maximum allowable daily loss in your account currency. Once reached, the robot stops opening new setups for that trading day.
DML Time and Session Filters

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).
  • 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 from the levels aligns with the direction indicated by the clouds.
Download DML Expert Advisors

Download

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

This site uses cookies. Without changes to your browser cookies will be stored on your device. Your can find more informations here.
Close