The X - Universal Expert Advisor (EA) for Forex on Standard Indicators.

The X – Universal Expert Advisor (EA) for Forex on Standard Indicators.

Assistant – the best free trading panel to support positions and deals with real/virtual StopLoss / TakeProfit / Trailing Stop
Exp – TickSniper Automatic Expert Advisor for Metatrader. Tick scalper
Assistant – the best free trading panel to support positions and deals with real/virtual StopLoss / TakeProfit / Trailing Stop
Exp – TickSniper Automatic Expert Advisor for Metatrader. Tick scalper
  • Main
  • Documentation
  • Settings
  • FAQ
  • Changelog
  • Reviews
  • Comments
  • Extra

About The X

Universal Expert Advisor (EA) for MetaTrader with a wide range of functions, working on standard indicators.

Strategy builder in Expert Advisor The X.

Lots of trading indicators from the standard MetaTrader set.

Possibility to choose 1 out of 20 signals and 5 out of 20 filters.

More than a hundred parameters for individual customization to suit your requirements.

For each signal, you can customize the indicator parameters, select a timeframe, and specify a signal bar.

How does it work?

AutoTrade Expert Advisor based on Standard MetaTrader indicators

The X facts

The X Main things

Example of USE

All settings have hint

Example of view

What do people write about The X?

  • Evangelos Skikos 2022.08.22 00:46
    I have been working with universal x for 3 years, you can easily make an EA, which sells for $1000 to $12.483 the only thing missing is a good recovery, for now i'm doing recovery with VirtualTradePad.....I believe that in some time the author will add a very good one!!!
    Evangelos Skikos
    ⭐⭐⭐⭐⭐
  • Diego Venceslau Da Silva 2022.03.01 16:10
    Excellent EA. It actually represents in practice everything we ever wanted to jump from the pages of technical analysis manuals. Even creating complex configurations such as being able to generate signals with different timeframes, increasing the probability of success, learning that each indicator has its configuration concomitant with the asset that you want to trade. The EA gives you the freedom to create your own strategy, not having to be tied to other EA's that force you to be tied to a single person's strategy and hostage to periodic updates. Anyway, for the price you pay, this EA is simply a gift. Thank you Vladislav.
  • Deniz90 2021.11.10 18:17
    Excellent EA, providing endless opportunities. The author is very helpful and responsive, definitely recommended.
    Deniz90
    ⭐⭐⭐⭐⭐
  • Tyler Roberts 2021.05.31 21:21
    This is by far the best expert I have purchased. It's a little complicated at first but after you play around and learn the functions it works great. The only EA I have made consistent money from! check my signals, those are all using this expert
    Tyler Roberts
    ⭐⭐⭐⭐⭐
  • Iceberg0010 2021.05.28 16:20
    Крутой конструктор, радует обширный диапазон настроек. Аналогов по сути нет - ценник крайне адекватный для такого комбайна
    Iceberg0010
    ⭐⭐⭐⭐⭐
  • julia-Tkachenko 2021.03.24 13:36
    Супер навороченный комбайн на стандартных индюках. Класс!
    julia-Tkachenko
    ⭐⭐⭐⭐⭐
  • Sammy Boy 2020.10.28 12:04
    Excellent work Vladislav! thank u
    Sammy Boy
    ⭐⭐⭐⭐⭐
  • leachimk 2016.09.04 14:40
    Присоединяюсь к словам предыдущего автора. Советник обладает всеми необходимыми инструментами для успешной торговли. Ключевое слово - оптимизация. Особая благодарность разработчику за то, что он постоянно продолжает усовершенствовать советник. Респект и так держать!
    leachimk
    ⭐⭐⭐⭐⭐
  • Manuel Sanchez 2023.10.22 03:09
    Great EA. Just do your homework and you will find a good strategy. I love the interface panel. 5 start. Thanks to the programmer.
    Manuel Sanchez
    ⭐⭐⭐⭐⭐
  • AAron 2021.05.20 16:44
    excellent
    AAron
    ⭐⭐⭐⭐⭐

You can Download free The X

Get started for FREE!

You can download and install our program for free!

And you can test it on your DEMO account without time limits!
And you can also test our program for free on a REAL account using the USDJPY symbol!

You can Buy full version of The X

$50/ 3 months

Rent for 3 months

For MetaTrader 4
  • MetaTrader 4
  • 3 months
  • Unlimited accounts
  • 10 computers!
  • FULL functions
  • Technical Support

$50/ 3 months

Rent for 3 months

For MetaTrader 5
  • MetaTrader 5
  • 3 months
  • Unlimited accounts
  • 10 computers!
  • FULL functions
  • Technical Support

Description

The X is a Universal multi-currency trading system with the functions of averaging, Additional Opening (The function of opening additional positions during trending markets), and virtual stops for MT5 and MT4.

The X Universal is an Expert Adviser for building trading strategies with a broad set of functions.

This Expert Advisor (EA) is a universal trading system with many useful functions and more than 20 signals for opening positions and pending orders.

You can select one of those 20 signals to open a position and up to 5 of the 21 filters to filter the opening signals of the standard indicators included in the MetaTrader package.

You can adjust the indicator’s parameters at each signal, select a Time Frame, and specify a signal bar (via the shift function).

Advisor includes such functions as:

  1. Averaging against the trend,
  2. Additional opening on the trend,
  3. Trailing stop,
  4. Breakeven (Stop-loss on the breakeven point),
  5. Closing on the total profit or loss,
  6. Virtual stoploss, takeprofit, and trailing stop.

It can work on positions or pending orders, Martingale function, trailing stop on Parabolic SAR, Delay restrictions functions, trading on selected times and days of the week, and much more …..

Using our Expert Advisor, you can specify signals and filters, as well as enable the required functions.

This Expert Advisor (EA) has embodied all the useful functionality used in all Expert Advisors (EAs), including the averaging function.
The ability to use several (up to 12) currency pairs on a single chart uses signals from more than 20 standard indicators included in the MetaTrader5 and MetaTrader4 packages.

  1. The averaging function allows you to derive a loss-making position into profit by building a grid of positions in the direction of price movement. If the price goes opposite to an opened position – the Averaging function, based on its user-defined settings, opens several additional positions against the trend. When the price direction changes, the previous losses are quickly recovered (due to several positions already opened), and the overall average of all positions will go into profit fast. The Averager applies a global Take Profit level to all positions it had opened earlier.
  2. Martingale functions – allows you to use the standard martingale mode.
  3. TrailingStop, Breakeven (stop-loss on breakeven point), closing on total profit or loss.
  4. The user can specify the operation times of the Expert Advisor (EA).
  5. Dynamic Lot Function allows defining the order Lot sizes (Volume) as a percentage of the balance or Equity.

The rich functionality and flexibility of the Expert Advisor will please every trader.


The X and The xCustomEA: Testing and Optimization


EA The xCustomEA Universal Trading Expert Advisor (EA) on iCustom indicators.


ArticleOptimization and testing! Search for advisor settings!

I recommend to get acquainted with our new advisor:

Exp – The xCustomEA Universal trading advisor on custom indicators. Advisor on the indicator!

Example of using Pipfinite in xCustomEA

Statistics: Example of trading on a live account and statistics for the past year

What is the difference between The X and The xCustomEA?

These two EA are built on the same basis (MQL CODE and functions) and differ only in the fact that:

The X = Universal EA. This adviser works for standard terminal MetaTrader indicators (about 20 standard strategies of standard indicators).

The xCustomEA = This Universal Expert Advisor (EA) who works for custom indicators.

  1. This Expert Advisor (EA) does not have built-in strategies. You can set custom indicators in this EA.
  2. This means that you can choose a custom indicator, which shows the signals with arrows and trade on it.
  3. Also, in this EA, you can program your strategy on any indicators that are on the Internet!
  4. You can download ready-made strategies that have been programmed for this Expert Advisor (EA). This list is updated whenever possible.
  5. You can download all signals from the strategy The X – and use your custom changes to the strategies!

If you do not know how and do not want to learn programming and you enough of standard indicators, your choice =The X .

If you know how to program, and you have an interest in the study of other indicators, your choice =The xCustomEA .

Functions of these Expert Advisors (EA) = Equal!

Main advantages

  1. Dynamic Lot Function (calculation of the lot size from the current balance or Equity), money management;
  2. Users can set and adjust trading periods (Time Trade) for the EA (restriction of the operation of the Expert Advisor (EA) to trade at certain times of the day/week);
  3. Trailing stop (as soon as the position is opened, or with the standard algorithm: “Only when in profit”);
  4. MarketWatch ECN (work on ECN group accounts, NDD);
  5. Error handling functions for real accounts;
  6. Block closing on the total profit and loss with the ability to disconnect all Expert Advisors (EA) on the account;
  7. The Breakeven (stoploss on the breakeven point) (setting StopLoss to zero or any other desired level);
  8. Martingale (increase the next lot size after a loss-making position);
  9. Opening and closing of positions can be solely controlled by the signals of the indicator (Opening on a Signal then closing of the position when an opposite signal comes or the filtered signal turns off);
  10. Close the position when a different signal comes.
  11. REVERSE” function: Using an opposite strategy: Buy at the Sell signal and Sell at the Buy signal.
  12. Averaging Function: Driving a loss-making position Into profit
  13. The function of opening additional positions in the direction of the trend (based on the amount of price increase towards the trend direction and/or using one of the available indicators as a filter).
  14. Functions of virtual stoploss, takeprofit, and trailing stop.
  15. Work positions, pending orders, limit orders.

List of indicators and filters

The X uses the following standard signals to create Signals and Filters.

Parameters of the expert IndSigToTrade. FILTER_IndSigToTrade2, FILTER_IndSigToTrade5.

Signal:

A Signal to trade occurs when all the conditions for the signal are met.

For example:

  1. The intersection of lines of MA or the appearance of a new ZigZag point.
  2. The intersection of level 70 for the RSI indicator is a signal. And if the RSI is above the level of 70, then this is already a filter.
  3. The signal is what appears when all the conditions are met on the relevant bar. The Expert Advisor (EA) accepts the fact of a signal.
  4. For example, The light has just turned on. This is a signal because the light has just turned on. When you turned on the light, the person woke up. It’s a signal.
  5. Opening positions occur after the signal is committed. The lines intersect, and then the position opens. If the lines were crossed earlier, then this is not a signal. The signal has already passed.

Filter:
Filter – The filter is what the indicator shows at that moment.

This is not a signal. This is the current position of the indicator.

For example,

  1. The light was on. This filter is because the light has already been turned on, and it is already on. When the light is on, the person no longer sleeps. This is a filter.
  2. This is the current position of the indicator, for example, the current position of the MA lines relative to each other. Or the current last vertex of ZIGZAG
  3. Signals are filtered at the current value of the indicator. If the Fast MA is above the slow MA, then only BUY should open this filter.

Main Signal Indicator (Parameter: IndSigToTrade):
Using this parameter, one of the 20 standard indicators can be used to create Buy and sell signals.

A Buy or Sell signal for opening a position is generated when the selected Main Signal Indicator changes state. (E.g., the RSI indicator just crossed 30%, or the MA lines just crossed each other).
This happens on the current bar (OWNSIGNAL_Shift=0) or after a specified delay of X bars (specified by the user, OWNSIGNAL_Shift =X).

The Buy and sell signals from the Main Signal Indicator are filtered by the filters selected by the user (up to 5 filters can be selected).
When the Main Signal Indicator provides a signal, the EA checks all the filters. Only when all the filters support the signal, a Buy or Sell, the position is opened.

If any of the Filters do not allow the signal, a position will NOT be opened, and then the signal is ignored.

No Signal Option: Trading with Filters only
A “No Signal” option has been provided for the Main Signal Indicator.

When the “No Signal” option is selected for the Main Signal Indicator (Parameter: IndSigToTrade), the EA uses only the filters to open Buy and sell positions.
When using filters only, a Buy signal is registered when the current position of all the filter indicators is in the Buy state, and a Sell signal is created when the current position of all the filter indicators is in the Sell state.

For example:

A Buy position is opened when:

  1. The fast MA is higher than the slow MA, and
  2. RSI is below 30.

A Sell position is opened when:

  1. The fast MA is below the slow MA, and
  2. RSI is above 70.

Moving Average (MA) (Signal 1)

Technical indicator Moving Average (MA) shows the average value of the instrument price for a certain period of time. When calculating the Moving Average, a mathematical averaging of the price of the instrument for a given period is performed. As the price changes, its average value either grows or falls.

The signal is calculated by the mutual arrangement of two moving averages, one of which should have a shorter period (fast MA) and the other, respectively, a larger (slow MA). Their parameters can be specified in variables.

BUY signal is issued when the fast line MA is higher than the slow line one, and the

SELL signal when the slow line one is faster than the fast line one.

The “no signal” state is not used.

Moving Average Convergence / Divergence (MACD) (Signal 2)

Technical Indicator Moving Average Convergence / Divergence (MACD) is the next dynamic trend indicator. It shows the relationship between the two moving average prices.

The Technical Indicator MACD is constructed as the difference between two exponential moving averages (EMA)

MACD is most effective in conditions where the market fluctuates with a large amplitude in the trading corridor. The most commonly used MACD signals are intersections, overbought / oversold conditions and discrepancies.

Operates with four variables. Signals are also simple:

BUY – the main line above the signal line,

SELL – the main line below the signal line.

“No signal” is not used.

Stochastic Oscillator (Signal 3)

Technical Indicator Stochastic Oscillator (Stochastic Oscillator) compares the current closing price with the price range for the selected period of time. The indicator is represented by two lines. The main line is called% K. The second line% D is the moving average of the% K line. Usually% K is represented by a solid line, and% D is a dashed line.

The user defines BUY and SELL levels (generally 20-80 or 30-70).

BUY signal is the main line crossing the Stochastic_BUYLEVEL level up,

SELL signal is the main line crossing the Stochastic_SELLLEVEL level down.

Indicator RSI (Signal 4)

Technical Indicator Relative Strength Index (RSI) is the next oscillator that oscillates in the range from 0 to 100. By introducing the Relative Strength Index, W. Wilder recommended using its 14-period variant. Later, 9 and 25-period indicators were also disseminated. One of the most common methods for analyzing the Relative Strength Index is to find discrepancies in which the price forms a new high, and the RSI can not overcome its previous high. This discrepancy indicates the probability of a price reversal. If the indicator then turns down and falls below its cavity, it completes the so-called “failure swing”. This failed swing is considered a confirmation of an early reversal of prices.

Similar to CCI and DeMarker. Signals are the exit from overbought (RSIHighLevel) and oversold zones (RSILowLevel).

BUY signal appears when RSI goes up from a lower value and crosses (RSILowLevel).
SELL signal appears when RSI goes down from a higher value and crosses (RSILowLevel)
The default state is “no signal”.

The RSIPeriod parameter can set the indicator’s period, and the RSIPrice parameter can set the Settlement price.

Commodity Channel Index (CCI) (Signal 5)

The technical indicator of the Commodity Channel Index (CCI) measures the deviation of the instrument`s price from its average statistical price. High values ​​of the index indicate that the price is unusually high compared with the average, and low – that it is too understated. Despite the name, the Commodity Channel Index is applicable to any financial instrument, not just to goods.

Also, all three signals are used, but the ground state is still “no signal”.

BUY – the intersection of the top level from the top down

SELL. – the intersection of the lower level from the bottom up

The value of the external parameters CCIHighLevel and CCILowLevel determines the upper and lower levels.

The period and price of calculating the indicator are determined by the values CCIPeriod and CCIPrice.

Williams Percent Range (WPR) (Signal 6)

Technical Indicator Williams` Percent Range (% R) is a dynamic indicator that determines the state of overbought / oversold. Williams` Percent Range is very similar to the technical indicator Stochastic Oscillator . The difference between them is only that the first has an inverted scale, and the second one is constructed using internal smoothing.

Williams’ Percent Range Technical Indicator (%R) is a dynamic technical indicator, which determines whether the market is overbought/oversold. Williams’ %R is very similar to the Stochastic Oscillator. The only difference is that %R has an upside down scale and the Stochastic Oscillator has internal smoothing.
Indicator values ranging between -80% and -100% indicate that the market is oversold. Indicator values ranging between -0% and -20% indicate that the market is overbought. To show the indicator in this upside down fashion, one places a minus symbol before the Williams` Percent Range values (for example -30%). One should ignore the minus symbol when conducting the analysis (Meta Trader 5).

It is similar to RSI, CCI, and DeMarker.

Signal BUY – the intersection of the level of overbought (WPRHighLevel) from top to bottom,

Signal SELL – the intersection of the oversold level (WPRLowLevel) from bottom to top.

All the rest is “no signal”.

Only the parameter of the indicator period can be changed from outside – WPRPeriod.

Bollinger Bands (Signal 7)

Bollinger bands (Bollinger Bands, BB) are similar to Envelopes . The difference between them is that the boundaries of the Trading Lanes (Envelopes) are located above and below the moving average curve at a fixed distance expressed in percent, while the Bollinger Bands boundaries are constructed at distances equal to a certain number of standard deviations. Since the magnitude of the standard deviation depends on volatility, the bands themselves adjust their width: it increases when the market is unstable, and decreases in more stable periods.

There are three types of signals:

BUY – the closing price of the previous candle below the lower line,

SELL – the closing price of the last candle above the upper line,

no signal” – the price of closing the candle between the lines.

Indicator Envelopes (Signal 8)

Technical Indicator Envelopes Envelopes are formed by two moving averages , one of which is shifted up and the other is down. The choice of the optimum relative magnitude of the displacement of the boundaries of the strip is determined by the volatility of the market: the higher it is, the greater the shift.

Since the appearance and essence of the indicator is a channel, the signals are similar to signals when working in a channel.

BUY – the price of closing the candle below the bottom line,

SELL – the price of closing the candle above the top line

no signal” – the closing price between the lines.

Alligator (Signal 9)

Most of the time the market does not move anywhere. Only 15-30% of the time the market forms some trends and traders who are not in the exchange hall, almost all of their profits are extracted from trend movements. My grandfather often repeated: “Even a blind chicken will find grain if it is fed at the same time.” We call trading in the “blind chicken market” trend. Although it took us years, we still developed an indicator that always allows us to “keep gunpowder dry” until we are in the “blind chicken market.”

Bill Williams

Technical Indicator Alligator is a combination of the Balance Lines ( Moving Averages ) using fractal geometry and nonlinear dynamics.

Also, for all lines, the same averaging method (AlligatorMethod) and the settlement price (AlligatorPrice) are used.

The indicator’s peculiarity is that all lines have a positive shift to the right. This allows you to safely read the values of the indicator on the current bar, as they are already accurately formed and not subject to change.

BUY signal is the lip line above the dentition line, and the line of teeth is above the jaw line,

SELL signal is the lip line below the dentition line, and the line of teeth is below the jaw line.

In all other cases, there is no signal.

Moving Average of Oscillator (OsMA) (Signal 10)

The Technical Indicator Moving Average of Oscillator (OsMA) is the difference between the oscillator and the smoothing of the oscillator. In this case, as the oscillator, the main MACD line is used, and as the smoothing, the signal line is used.

The signals are slightly different:

BUY – the value of the histogram is above zero,

SELL – the value of the histogram is below zero.

The “no signal” state will only be in those rare cases when the OsMA value is zero.

Awesome Oscillator (AO) (Signal 11)

Technical Indicator Awesome Oscillator (AO) is a 34-period simple moving average constructed on the average points of bars (H + L) / 2, which is subtracted from a 5-period simple moving average constructed at the central points of bars H + L) / 2. He accurately tells us what is happening at the current time with the driving force of the market.

Has no parameters available to the user. One of the principles of working with the indicator is the search for “saucers”. “Saucer” Bill Williams calls two increasing values of bars in the positive area, between which is a bar with a lower value. Accordingly, the “inverted saucer” – these are two decreasing values of bars in the negative area, between which is a bar with a large value. Thus, to identify the “saucers” will require the last three formed candles (in the code – four).

BUY – “saucer”,

SELL – “inverted saucer”,

no signal” – all other cases.

Ichimoku (Signal 12)

Technical Indicator Ichimoku Kinko Hyo (Ichimoku Kinko Hyo) is designed to determine the market trend, support and resistance levels and to generate buying and selling signals. The indicator works best on weekly and daily charts.

the principle of work on the intersection of lines TENKANSEN and KIJUNSEN,
BUY If TENKANSEN > KIJUNSEN.
SELL If TENKANSEN < KIJUNSEN.

Accelerator / Decelerator (AC) (Signal 13)

The Technical Acceleration / Deceleration (Acceleration / Decelerator Oscillator, AC) measures acceleration and deceleration of the current driving force. This indicator will change direction before changing the driving force, and it will in turn change its direction before the price change. Understanding that the AU is an earlier warning signal gives obvious advantages.

The same signals as in AO

Bar (Signal 14)

Work in the direction of the bar


BUY – If the Close > Open (Bull Bar)
SELL – If the Close < Open (Bear Bar)

New Parametr Min_Points_of_Bar_OpenClose = 100
If the candle Close is above 100 points, the candle Open (Bullish candlestick) – BUY
If the candle Close is below 100 points, the candle Open (Bearish candlestick) – SELL
if Min_Points_of_Bar_OpenClose 0, the same old version

ADX (Signal 15)

The Technical Indicator Average Directional Movement Index (ADX) helps to determine the existence of a price trend. It is based on the approaches described in Wells Wilder`s book “New concepts of technical trading systems.”

The strategy of signals from the directory.
This signal can receive two types of signals for the opening.
If ADXLevel = 0, then the following strategy is used:
Wilder suggests buying if + DI crosses above -DI and selling when + DI crosses below -DI.
If ADXLevel is not = 0, then the following strategy is used:
Wilder suggests buying if + DI crosses above -DI with ADX above ADXLevel and selling when + DI crosses below -DI with ADX above ADXLevel.
When using ADX as a filter, the position of the lines is used + DI> -DI = only BUY, + DI <-DI = only SELL,


If ADXLevel is 0, then the permission to open SELL is DI-> DI +
If ADXLevel is 0, then the permission to open BUY is DI +> DI-
If ADXLevel is not equal to 0, then the permission to open SELL is DI-> DI + and ADX> ADXLevel
If ADXLevel is not equal to 0, then the permission to open BUY is DI +> DI- and ADX> ADXLevel

Bar relatively MA (Filter 16)

The signals to the adviser are filtered according to the indications of the closing price of the bar and Fast Slow MA


BUY – If the closing price of the bar above MAfast and MAslow – signals only BUY
SELL – If the closing price of the bar is below MAfast and MAslow – signals are only SELL

If you want to use this filter as a SIGNAL, you need to set IndSigToTrade = 0 and FILTER_IndSigToTrade1 = 16 (Bar relatively MA)

ZIGZAG (Signal 17)

The signal for opening a position on the ZIGZAG indicator is the intersection of ZIGZAG extremums.
When using signals, it is important to set the shift parameter.
With a value of 0, the position opens immediately towards the intersection of the current Bid price of the last extremum ZIGZAG.
With a value of 1, the position is opened when the intersection is fixed on 1 closed bar.
The last extremum is the fixed extremum 1 when a new segment of ZIGZAG is already postponed from this extremum.

The intersection of the maximum and minimum points is the signal for opening the position.
The ZIGZAG filter in the direction of the last segment, ZIGZAG 0.

ATR (Signal 18)

The Technical Indicator Average True Range (ATR) is an indicator of market volatility. It was introduced by Wells Wilder in the book “New concepts of technical trading systems” and since then the indicator is used as a component of many other indicators and trading systems.

The indicator True Range often achieves high values ​​in the foundations of the market after a rapid fall in prices caused by panic sales. Low values ​​of the indicator often correspond to long periods of horizontal movement that are observed at the tops of the market and during consolidation. It can be interpreted by the same rules as other volatility indicators. The principle of forecasting with the help of the Average True Range is formulated as follows: the higher the value of the indicator, the higher the probability of a trend change; The lower its value, the weaker the direction of the trend.

ATR shows market volatility.
The trading strategy for ATR as a filter is to confirm the current trend.
When ATR grows, it means high market volatility.
Low ATRs mean Low market volatility.

ATR_MULTIPLIER = 1; – The coefficient of the ATR indicator, for example, EURUSD ATR = 0.0020, when using the coefficient ATR_MULTIPLIER = 2, The calculation will be included ATR = 0.0040.
Filter logic, according to ATR:
PRICE (ATRprice) of the current bar is higher than PRICE (ATRprice) of the previous bar + (ATR * ATR_MULTIPLIER) = high volatility filter BUY
PRICE (ATRprice) of the current bar is lower than PRICE (ATRprice) of the previous bar – (ATR * ATR_MULTIPLIER) = high volatility filter SELL

ADX Wilder (signal 19) – for only MT5

Technical Indicator Average Directional Movement Index Wilder (Average Directional Movement Index Wilder, ADX Wilder) helps to determine if the price trend.

This indicator is built in strict accordance with the algorithm described by Welles Wilder in his book “New Concepts in Technical Trading Systems”.

This signal can take two types of signals for opening
If ADXLevel = 0, then use the strategy:
Wilder recommends buying when + DI crosses above the -DI and selling when + DI crosses below -DI.
! If ADXLevel = 0, then use the strategy:
Wilder recommends buying when + DI crosses above the -DI while ADX is above ADXLevel and selling when + DI crosses below -DI while ADX is above ADXLevel.


When the ADX is used as a filter, using the position of the lines + DI> -DI = only BUY, + DI <-DI = only SELL,

Money Flow Index (Signal 20)

Technical Indicator Money Flow Index (MFI) shows the intensity with which money is invested in securities or withdrawn from it. The construction and interpretation of the indicator is similar to the Relative Strength Index , with the only difference being that MFI also takes into account the volume.

Trade on the indicator Money Flow Index
The Money Flow Index (MFI) shows the intensity with which money is invested in securities or is withdrawn from it.

The construction and interpretation of the indicator are similar to the Relative Strength Index, with the only difference being that in MFI, the volume is taken into account.
The signals of the indicator are similar to the signals from the indicator RSI;

Fractals (Signal 21)

Fractals – this is one of five indicators of the trading system of Bill Williams, allowing you to detect the bottom or top. The technical definition of a fractal up is a series of at least five consecutive bars, in which, before the highest high and behind it are two bars with lower highs. The opposite configuration (a series of five bars in which, before the lowest low and behind it there are two bars with higher minima) corresponds to the fractal down. On the chart, the fractals have the High and Low values ​​and are indicated by the up or down arrows.

Trading on the Fractals indicator
The signal for opening positions is the intersection of the level of the last fractal:
When you cross up with the price of the previous high fractal – the BUY position opens;
When you cross down at the price of the last lower fractal, the SELL position opens;


Filter: Similar to the main signal:
If the price is higher than the previous upper fractal, only the BUY position;
If the price is lower than the last lower fractal, only the SELL position;

Attention! Fractals can be drawn on at least 2 closed bars and on an unlimited number of bars back in the past. Consider this when analyzing the signal!

You can download our files for optimization for EA

OWN Signal options Block of signals and filters

ParameterDescription

OWN Signal options

IndSigToTradeSelect an indicator and a signal to open the first and main positions.
More than 20 indicators and signals are available.
You can read information on signals and indicators in the Documentation section.


When using the main Indicator, the signal is generated as is! 
On the current bar!
This means that the signal for opening appears as a fact of executing a signal. 
If there is a signal and the filter does not allow opening the position, then the signal is ignored.


No Signal: When chosen, the advisor ignores the main signal and trades on filters.
When using NoSignal, EA can ignore the fact of executing the main signal and work on filters.
When using filters, the Expert Advisor opens a position based on the Current data of the selected Indicator.
TF_IndSigToTrade1The Time frame for the first main indicator.

You can select the Time Frame by which the indicator will receive signals.
Period_Current – the current Timeframe


The larger the TimeFrame, the longer you need to wait for the main signal!
The smaller the TimeFrame, the faster positions (deals) are opened.
Signal_ReverseFlip(Reverse) the signals of this Main indicator.

This option reverses the signals of the main indicator only.

If the signal is to open a Buy, then the Expert Advisor opens a Sell!
If the signal is to open a Sell, then the Expert Advisor opens a Buy!
ClosePositionifChangeOWNSignalEnable Disable closing of positions on the opposite signal of the main indicator without the participation of other filters and other parameters.


The ClosePositionifChangeOWNSignal parameter is divided into 3 values:
False (off)
– True (on),
OnlyifProfit (Only if positions are in profit);
OWNSIGNAL_shiftThe Number of BAR for the signal that the indicator will generate.


= Last closed bar; signals on such bar are considered closed.
= Current open bar; signals on this bar are considered drawings; be careful.


More about this parameter: Detailed article on signal bars
FILTER_IndSigToTradeYou can Select an indicator and filter for filtering signals from the main indicator.


Warning: Some indicators and filters are not compatible with each other.


Therefore, by turning ON a filter, you can wait a long time to create a Signal for open positions! 
Be attentive and check your settings on the strategy tester.
FILTER_TF_IndSigToTradeTimeframe for the filter.
You can select the Time Frame by which the indicator will receive the filter signals.
Period_Current – the current timeframe.


For example
When using MA as the main signal with TF = M30, you can enable filtering on the higher MA with TF = H4.
Filter_ReverseFlip(Reverse) the signals of this filter.


This option reverses the signals of only this filter.
For example
The main indicator MA shows BUY, but the older MA indicator shows SELL
When using this function, we turn over the signals of the older MA and get the aggregate signal BUY.
FILTERSIGNAL_shiftThe bar number for the signal that the indicator will generate,


1 = Last closed bar; signals on such bar are considered closed.
0 = Current open bar; signals on this bar are considered drawings; be careful.
More about this parameter: Detailed article on signal bars

Functions and Parametrs



Parameter
Description

Signal options Additional signal processing unit 

Show_alert_without_opening_positionsAlert

If this option is enabled (TRUE), the Expert Advisor will not open a new position(Deal) on the signal but will only notify the user that a new signal has appeared. 
In this case, all other functions will work in normal mode.

It allows the user to open a position(Deal) on their own if the advisor has issued (create) a signal. 
However, the EA does not make this deal(Position) and does not open the position(Deal) but only alerts the user about the signal.
Send_Push_without_opening_positionsPush Notification

If this option is enabled (TRUE), the Expert Advisor will not open a new position(Deal) on the signal but will only notify the user by phone that a new signal has appeared. 
In this case, all other functions will work in normal mode.

It allows the user to open a position(Deal) on their own if the advisor has issued (create) a signal. 
However, the EA does not make this deal(Position) and does not open the position(Deal) but only sends a Push Notification to the user about the signal.
OpenBarControlOnlyThe work of an advisor is only in open bars (Start of New BAR).


This mode allows you to simulate the work of the Advisor on opening a bar (as in the strategy tester).
When this mode is enabled(True), the Expert Advisor will trade exactly as in OpenPriceOnly testing mode.


All Advisor functions will be executed Once at the opening of a new bar (depending on TF, which TF you have installed, such timeframe will be used), including Modification, Trailing stop, Averaging, the opening of deals by signal, etc.
ControlNewBarforSIGNALCheck the indicator signal only for each new bar (without checking on each tick).

Works only when OWNSIGNAL_shift> = 1 and IndSigToTrade! = NoSignal (with NoSignal, the Expert Advisor checks the values of the filters with each tick)
When ControlNewBarforSIGNAL = true, the optimization speed is increased by 1.5 times!

1. ControlNewBarforSIGNALType = 1 = True smallest TF of the settings: New mode!


The EA selects the smallest TimeFrame, which was set by the parameters TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2…


In this mode, the EA does not check the signal on the current TimeFrame but on the TimeFrame for receiving a signal from indicators!
This mode is useful for those who use TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2, other than Current TimeFrame.


2. ControlNewBarforSIGNALType = 2 = True, a current bar of the current TF
Old mode!


In this mode, the EA checks every new bar of the current TimeFrame for New Signals!
If you use TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2 other than Current TimeFrame, the results on each TimeFrame may be different.
We advise you to install the Expert Advisor on the TimeFrame M1!


3. ControlNewBarforSIGNALType = 0 = False
Do not use the control of the new bar to determine the signal!
Attention: When this is off (false), the EA checks signal every new tick! There may be delays in testing and optimization!
ControlNewBarforOpenbySignal:ControlNewBarforOpenbySignal = true: Old mode! 
The EA Open positions(Deals) on a signal only every new current bar of the current TimeFrame!
The EA opens positions(Deals) if there is a signal, only when a new bar of the current TimeFrame arrives!


ControlNewBarforOpenbySignal = falseNew mode! 
The EA Open positions(Deals) on a signal every new bar from the signal Timeframe!
The EA opens positions(Deals), if there is a signal, immediately upon detection of a signal.


This mode is useful for those who use TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, and FILTER_TF_IndSigToTrade2, other than the Current Time Frame.
ReverseSignalFlipping(Reverse) the overall strategy signal received from the Main Indicator + filters!


If the common signal is to open a Buy, then the Expert Advisor opens a Sell!
If the common signal is to open a Sell, then the Expert Advisor opens a Buy!

Opening Filter options

TypeTradeBUYSELLThe direction of trade:

– Buy and Sell
– Only Buy
– Only Sell

Attention: If you use pending orders (instead of positions) and work only in 1 direction, every time a new signal is received, the old pending order will be deleted and set to a new price.
MinuteToOpenNextPositionPermission to open the next signal after the last open position


If there are no open positions(Deals), the Expert Advisor (EA)considers the time (in minutes) from the last closed position.


Time is considered to be of the same type. 
If the BUY signal: Time from the last opened/closed BUY…
If the SELL signal: Time from the last opened/closed SELL …


The number of minutes to open the next deal on the signals of indicators.
It allows you to filter deals when using ONlyOnePosbySignal = false.
DistanceToOpenNextPositionMinimum Distance to open the next position on the main signal 


(If ONlyOnePosbySignal = false and OnePosPerDirection=false).


If DistanceToOpenNextPosition is above 0, then the next position(Deal) can be opened only when the previous position(Deal) on the signal has passed DistanceToOpenNextPosition of profit Point(Pips)!

If DistanceToOpenNextPosition is below 0, then the next position (Deal) can be opened only when the previous position(Deal) on the signal is at a distance DistanceToOpenNextPosition Point(Pips) on both sides of the profit or loss! 
OpenOppositePositionAfterStoplossEA opens the opposite position when closing the current stop loss.


Opens the opposite position(deal) immediately after receiving the stoploss of the previous deal (position) without using indicator signals.
If the last position were closed by stoploss, the Expert Advisor would immediately open the opposite position.
ONlyOnePosbySignalTrade only 1 current main position in one direction.

If the Expert Advisor opens the SELL position, then all other signals on the SELL will be ignored.

If the Expert Advisor opens the BUY position, then all other signals on the BUY will be ignored.
OnePosPerDirectionOpening 1 deal in 1 direction,


e.g.:
if OnePosPerDirection = true 
and ONlyOnePosbySignal = false 
then the EA can open 1 Buy deal (position) on a signal and 1 Sell deal (position) on a signal;


if OnePosPerDirection = false 
and ONlyOnePosbySignal = true 
then the EA can only open one deal(position) at a signal, either Buy or SELL;


if OnePosPerDirection = false 
and ONlyOnePosbySignal = false 
then the EA can open any deals(positions) for each new indicator signal;
OnlyOnePositionPerMagicOpening of 1 position on 1 magic.


The Expert Advisor checks whether there are open positions(Deals) for this magic number in other currency pairs.


 If there is no position, the advisor will open the deal at the signal, and the remaining advisors will wait for the completion of this deal.


If OnePosPerDirection = false, then OnlyOnePositionPerMagic = true works like this: 1 position by magic number is allowed;


If OnePosPerDirection = true, then OnlyOnePositionPerMagic = true works as follows: 1 position of each direction (Buy and Sell) is allowed by a magic number;
OnlyAlternateSignalsAllows you to open positions only one by one.

If the last closed position was SELL, the next could be opened only BUY!

It is necessary to trade the main indicator in No Signal mode. (IndSigToTrade=No Signal)
MAX_BUY_POSITIONThe parameter for limiting the maximum number of BUY deals (positions).


The positions opened by signals of indicators are taken into account. 
The averaging and additional positions are not taken into account.
MAX_SELL_POSITIONThe parameter for limiting the maximum number of SELL deals (positions).


The positions opened by signals of indicators are taken into account. 
The averaging and additional positions are not taken into account.
MaxSpreadToNotTradeThe maximum spread at which the advisor can open a position.


If the current spread at the time of receiving the signal is greater than the specified value, the indicator signal is ignored until the spread is less than the specified value.
MinSpreadToNotTradeMinimum spread, in which the advisor can open a position.

Warning: This filter is only used To open positions by signal, averaging, and additional opening. 

All other functions work in the normal mode.

Warning: This filter is for Positions only!

For pending orders, this filter does not matter. 
Therefore, the filter works only when you use the Positions.
Include_Commission_SwapTake into account the author’s calculation of the Commission and the swap when the functions are turned on: BreakEven (stop loss on the breakeven Point(Pips)), Trailing stop, Averaging.


The author’s calculation of the Commission is based on the formula for calculating the value of 1 Point(Pips) from the open positions for this symbol and the magic; a negative swap and Commission participate in the calculation.
The function returns the cost of a negative swap and Commission in Point(Pips) and takes this into account when working with the Breakeven functions (stop loss on the Breakeven Point(Pips) ) and trailing stop.


Attention: If you have a floating spread on your broker, the settlement of the Commission is executed and set at the moment of the operation of the Breakeven functions (stoploss on the breakeven Point(Pips) ) and trailing stop, but the spread may increase, which will incur additional loss Point(Pips).


This is not a calculation error! Also, it is worth considering that when a swap occurs, the advisor recounts the line Breakeven (stoploss on the breakeven Point(Pips) ) and establishes new stops if the server allows it. (Restriction to the minimum stop level for your StopLevel broker). If the server does not allow to set a breakeven and returns a minimum stop level error, the EA will not be able to modify the position, and you can receive additional loss Points (Pips).


To avoid receiving a loss when using a commission with a commission and when receiving a negative swap, we recommend that you increase the distance between Breakeven (stoploss on a breakeven Point(Pips) ) or trailing stop. The level of Breakeven (stop loss on the breakeven Point(Pips) ) ( LevelWLoss ) can be calculated independently, given the Commission.


For example, the Commission for opening and closing a position = 2 dollars (EURUSD) per 1 lot.
So, in order to cover the loss on the Commission, you need to set LevelWLoss = 2 (Point(Pips) ) +1 (control points) = 3 Point(Pips).
Thus, the advisor will install a breakeven (StopLoss at the breakeven Point(Pips) ) by +3 Point(Pips), which in turn will cover the loss on the Commission.

Closing options 

ClosePosifChangeClosing the positions when the general indicator signal is reversed.


The difference between 
ClosePosifChange and ClosePositionifChangeOWNSignal is that with ClosePosifChange(true) – a signal change is considered for all filters + the primary(Main) signal.

When ClosePositionifChangeOWNSignal (true)– the signal change is considered only on the Main indicator (IndSigToTrade).


It also works for pending orders.
ClosePosition_After_X_MinutesEA can close the position after the set number of minutes.


Also, the Expert Advisor checks the turned-ON CloseChangeOnlyInProfit parameter: 
EA can Close only profitable positions.
CloseChangeOnlyInProfitEA can Close deals on a return signal (Changing the direction of the signal) only when the current position is in profit.

Pending orders option 

StopOrderUSEOpen pending orders or limit orders instead of positions.

1. FALSE: Open Positions BUY SELL;

2. TRUE: It allows you to open a pending or limit order for the received signal at a distance StopOrderDeltaifUSE Point(Pips). 
Thus, we recheck the signal for profitability.

If the signal is opened in the right direction of price movement, then the pending order will work through StopOrderDeltaifUSE Point(Pips).

3. Use Virtual Stop Orders: Exposes a virtual pending stop order at a distance StopOrderDeltaifUSE Point(Pips); 

4. Use Virtual Limit Orders: Exposes a virtual pending limit order at a distance StopOrderDeltaifUSE Point(Pips) ;

Caution: (Use Virtual Stop Orders) and (Use Virtual Limit Orders) only work in visualization mode or on live graphics when the terminal is working on your computer.
It does not work in optimization mode!
StopOrderDeltaifUSENumber of Points (Pips) for a stop or limit order.
Distance from current price.
StopOrderDayToExpirationStopOrderDayToExpiration = number of days for the order expiration.


– 0 – ORDER_TIME_GTC The order will be in the queue until it is removed ;
– 1 – ORDER_TIME_DAY The order will be valid only for the current trading day; 
– X – ORDER_TIME_SPECIFIED The order will remain valid until the expiry date. 
 
If you get a Rejected error and when you hover over the order in the history, you see this: (incomplete FOK information of the order),
If you have a BCS broker or Open broker, then you need to install:
 TypeFilling= ImmediateOrCancel or TypeFilling = Return
 DayToExpiration= 1
StopOrderBarToExpirationThe expiration of the pending order in the bars.


If StopOrderBarToExpiration 10 is specified, and TF = M1, then the Pending order will be removed after 10 minutes after installation.


Attention: Each broker has its minimum time parameter for expiration time.
ReInstallStopOrdersNewSignalAppearsReset pending orders if a new signal from the indicators is created.


It allows you to delete the current BUYSTOP pending order and install a new BUYSTOP at a new level when the indicators create a new signal.

Trading options 

MagicThe magic number of the positions opened by the advisor EA.
SlippageThe level of the maximum possible deviation in price when opening and closing positions (in Points). 


Example: 
Slippage = 1 
Maximum deviation in price when opening a position = Opening price + -1 point(pips). 
Slippage = 100 
Maximum deviation in price when opening a position = Opening price + -100 points(pips). 
For example, the price of opening a position when sending a deal to the server = 1.12345 
But, if during the time of sending and opening a position (deal), the price has changed within 100 points (Requote), then the position (deal) will open with the price of within 1.12245 – 1.12445
MarketWatch
For opened positions with stop-loss / take-profit on an account with MARKET execution. 


First, an EA can open the position (Deal), and after the successful opening, the levels of StopLoss and TakeProfit are modified in this position (deal).

True – for ECN brokers and accounts in which it is forbidden to set stops at the same time as opening a position.

If your account is in the ECN or NDD group, you must set the option to true
CommentToOrderAdditional comments on the opened positions.


You can specify here an additional comment that will be added to the opened position to differentiate the settings, for example.
Standard comment: “The X”+CommentToOrder
RoundingDigits
EA can be rounding all prices when opening and modifying orders and positions (deals). 

Options:
No rounding, 
Rounding up to 1 digit,
Rounding up to 2 digits. 


The function is created for Gold and Silver, as well as for brokers, where a specified accuracy of ticks is required. 


Example: 
Deal open price = 1.12345 
Rounding to 1 digit = 1.12340 
Rounding up to 2 digits = 1.12300
TypeFillingThe type of fill positions and orders. 
It is used for the MT5 terminal. 
In AUTO mode, the Expert Advisor tries to determine the fill type automatically. 
But, in some situations, you need to set the fill type yourself. 


If you get an error when opening a position 10030 TRADE_RETCODE_INVALID_FILL, An unsupported type of execution of the remainder order is indicated. 
Set the type of fill that your broker rules. 


Example: 
FillOrKill 
This execution policy means that the order can be executed only in the specified amount. If the market currently does not have a sufficient amount of a financial instrument, then the order will not be executed. The required volume can be made up of several offers available at the moment in the market. 




ImmediateOrCancel 
It means the agreement to make a deal on the maximum available volume on the market within limits specified in the warrant. In case of impossibility of full execution, the order will be executed for an accessible volume, and the unexecuted order volume will be canceled. 




Return 
This mode is used for market, limit, and stop-limit orders and only in the modes “Market Execution” and “Stock Execution”. In case of partial execution, a market or limit order with a residual volume is not withdrawn but continues to operate. 
For stop-limit orders, the corresponding limit order with the execution type Return will be created upon activation.

Stops options 

VirtualStopsThe function of turned ON of Virtual stoploss / TakeProfit / trailing stop instead of real.


Using virtual (invisible) levels Stoploss/TakeProfit/Trailingstop/BreakEven (StopLoss at breakeven)


We have completely redesigned the algorithm of Virtual StopLoss /TakeProfit / TrailingStop / Breakeven (installing stoploss on the breakeven point).


Now, all virtual stops are displayed on the chart and are the key when closing positions on these levels.
All Data about Virtual Levels is added in the form of lines (Chart) and global variables.


Note: If you delete a stop line on the chart and global variables – Virtual closing on this line will not work.


Attention: Check your experts and indicators to remove lines from the chart and global variables!
Attention: Virtual levels are triggered at the current price, after which the closing occurs.
During the closing, there may be slippage in a couple of points!
Attention МТ4: In optimization mode, the virtual stoploss / takeprofit does not work.
Attention: When you enable VirtualStops, the testing speed is significantly lower.
Attention: Virtual SL/TP/TS do not have restrictions and server prohibitions. Therefore, they can be set at the current price! Then, there is an immediate closure.
SetMinStopsAutomatically normalize all parameters of the Expert Advisor to the minimum acceptable stop levels. 

With virtual stops – this parameter does not affect. 

With AutoSetMinLevel, stop levels will be brought to the lowest possible levels allowed on the server; 

With ManualSet, the user will receive a message stating that the levels of stops in the Expert Advisor are less than the minimum, and the Expert Advisor will stop trading.
StopLossStoploss of each position(deal) you open in Point(Pips).
TakeProfitTakeprofit of each open position(deal) in Point(Pips).
ForcedModifySLTPForced modification of positions, set the stop loss, and take profit.


Expert Advisor will forcibly modify the StopLoss and TakeProfit to all its positions.


For example
If the broker’s server opened a Deal but did not return its ticket, then the expert will forcibly check all his positions. 
If EA finds out that the StopLoss or TakeProfit of the position is 0, the Expert Advisor will force the Stoploss and TakeProfit modification.
TimeToCheckAverageSpreadThe algorithm for the function is taken from our automated tickSniper scalper sales advisor.


Added parameters to the Stops (SL TP TS) options block:
– TimeToCheckAverageSpread: The number (milliseconds, 20,000 = 20 seconds) for determining the average spread
– AutoCheckLowSpread Auto-determination of the low spread.
Automatically determines the spread to be too low (Less than 1 point (Pips) ) and sets all system settings to the lowest possible spread.
It allows you to protect the system from reducing the spread of the broker.


How to use:
For the parameter calculated in Point(Pips) to be calculated from the average spread of the currency pair, you need to specify the setting with the sign “-“


For example:
StopLoss = 2000 means that the StopLoss of each position will be 2000 points(Pips)!
StopLoss = -100 means that the StopLoss of each position will be equal to 100 * Average spread, which was calculated by the Expert Advisor for TimeToCheckAverageSpread milliseconds.


If the spread is 20 Points (Pips), then the Stoploss at the time of opening will be 2000 Points (Pips).
With a floating spread, this value always changes.


The parameters available for setting in the spread mode: Distance, DistanceAdditionalOpening, StopOrderDeltaifUSE, StopLoss, TakeProfit, TrailingStop, TakeProfitALL, StopLossALL, LevelWLoss, LevelProfit.


The average and current spread, as well as the level of the Auto Spread Low spread, will be displayed in our panel in the section Strategy Info

Lots options 

LotsA fixed lot(Volume) is used to open a position (Deal) or order.
 AdditionalLots – An additional lot(Volume) that will be added to each new deal based on a new signal.


CoeficienteLots – Lot coefficient, by which the lot will be multiplied for each new deal on a new signal.


Work only (When the advisor is allowed to open more than one position for each signal ONlyOnePosbySignal = false / OnePosPerDirection = false)
DynamicLotA dynamic lot, Autolot, for an open position.
You can turn ON dynamic lot calculation in percent of free margin and other factors.
Calculation of our autolot.
LotBalancePercentPercent for autolot.
RiskRateThe rate of your currency against the dollar (Or your account currency). 

By default, RiskRate = 0, which means that the Expert Advisor will try to find the correct rate in the Market Review. 
For Autolot to work well with all currency pairs, you need to turn ON the “Show all currency pairs” in the Market Watch.
MaxLotThe maximum lot that an Expert Advisor can open when calculating an autolot and martingale for the first main position.
MartinMartingale. The standard multiplication of the lot of the last closed position at a loss.


If Martin = 1, then the martingale does not turn on (Fixed lots (Volumes)).
If Martin = 0, then the Expert Advisor can not open the next position.
If Martin = 2, then the first lot = 0.1, the second lot = 0.2, and so on, 0.4 – 0.8 – 1.6 – 3.2 – 6.4…..
If Martin = 0.5, then the first lot = 1, the second lot = 0.5, and so on, 0.25 – 0.125.

Averager options: The block of functions for averaging positions, opening positions against the trend

Read More: Exp – Averager. Averaging trading positions. Opening deals against the trend and on the trend!
UseAverAdditionalOpeningOrderinOneThe number of positions (deals) is considered common for both the Additional deals and the Average deals.
Attention! Only for the MT4 version!
AverageUSETurn on the averaging function.
If the Main position is lost at a certain number of Points (Pips), our Expert Adviser opens a position of the same type (against the trend). 
Thus averaging the first position.
All the functions of the Expert Advisor (Trailing Stop, Breakeven (StopLoss on the breakeven point …) will work already from the Average (middle) line of positions, which is calculated from all positions(Deals) of the same type.


For example:
You open a BUY position at a price of 1.600 ;
The Price goes down to 1.500, and the current loss is -100 points;
Breakeven point(Average Price) = 1.600 ;
To modify Stop Loss to the Breakeven level, we need to rise 100 points up trend;
If we open the BUY position at the Price of 1.500, then our position is averaged, and the Breakeven can be set to 1.550 ;
To close two deals, the Price must move up 50 points, not 100 points.
The Expert Advisor (EA) activates the Trailing Stop, and two positions gain profit to increase it.




Attention: For different lots(Volumes) of positions, the average Price is calculated using a mathematical formula.
TakeProfitALLTotal take-profit for all positions.
Takeprofit, which will be exposed to the distance   TakeProfitALL   points from the average price of opening positions
If you set the TakeProfitALL    = 5 points, this means that take profit will be set from the middle line at a distance of 5 points.
DistanceThe distance of the open positions of the averaging grid. 


After how many points are against the trend, open the next averaging position (Deal) from the last open position of one type for averaging.


You can set 100 Points (Pips). 
Then, each new averaging position will be opened after 100 Points (Pips) of loss from the last open position.

You can set 50 points(Pips). 
Then, each new additional position(Deal) will be opened through 100+50 loss points from the last open position. (100,150,200,250,300)
DistanceMartinThe increase factor is the distance from the average for each deal.


You can set it at 1.5.
Then, each new averaging position will be opened through 100 +50 (100*1.5) loss Points (Pips) from the last open position (100,150,225,337,506).
LotsMartinCoefficient: Increase the lot(Volume) for the grid positions. 
The coefficient of increase Lots of each next averaging position.
For example
Starting Lot(Volume) of the main position = 0.1 
LotsMartin = 2, then
The next lot(Volume) of the opened averaging position will be 0.2, 0.4, 0.8, and so on. 


Attention: The middle line will be calculated using the formula using lots. 
It allows you to bring the break-even level (middle line) closer to the current price. 


But martingale can be dangerous to your account. 
Please calculate this parameter so that your deposit will withstand such a load.
LotAdditionalAdditional lot(Volume) for the next averaging position. 
For example
Starting lot(Volume) of the main position = 0.1; 
LotAdditional = 0.05, then
The next lot of the opened averaging position will be 0.15, 0.2, 0.25, and so on.
MaxOrdersOpenMaximum number of positions for this currency pair in 1 direction (separately for BUY and SELL)


If the position grid is MaxOrdersOpen, then the following averaging deals are ignored.

Additional opening Block of functions for additional opening of positions on a trend

Read More: Exp – Averager. Averaging trading positions. Opening deals against the trend and on the trend!
AdditionalOpeningEA can Enable the opening of additional deals.
If the Main position goes into profit by a certain number of deals, our advisor opens a position of the same type. 
Thus averaging the first position.
This helps to top up with a lucrative signal.
All the functions of the Expert Advisor (trailing stop, Breakeven (the breakeven point) …) will work from the middle line of positions, which is calculated from all positions of the same type.


For example:
You open a BUY position at a price of 1.600 ;
The Price goes up to 1.700, and the current profit is +100 points;
Breakeven point(Average Price) = 1.600 ;
If we open the BUY position at the Price of 1.700, then our position is averaged, and the Breakeven can be set to 1.650 ;
Expert Advisor opens 3 additional positions(deals).
Price rollback.
The Expert Advisor (EA) activates the Trailing Stop, and 5 positions gain profit to increase it.


Attention: For different lots of positions, the average Price is calculated using a mathematical formula.
StopLossALLTotal stop-loss for all positions.
Stoploss that will be put up for a distance   StopLossALL   points from the average price of opening positions
If you set the StopLossALL    = 5 points, this means that Stoploss will be set from the middle line at a distance of 5 points.
DistanceAdditionalOpeningThe distance for the open positions of the additional grid. 
After how many points on trend, open the next additional position (Deal)

You can set 50 points(Pips). 
Then, each new additional position(Deal) will be opened through 100+50 loss points from the last open position. (100,150,200,250,300)
LotsMartinAdditionalOpeningCoefficient: Increase the lot(Volume) for the grid positions. 
The coefficient of increase Lots of each next additional position.
For example
Starting Lot(Volume) of the main position = 0.1 
LotsMartinAdditionalOpening= 2, then
The next lot(Volume) of the opened additional position will be 0.2, 0.4, 0.8, and so on. 


Attention: The middle line will be calculated using the formula using lots. 
It allows you to bring the break-even level (middle line) closer to the current price. 


But martingale can be dangerous to your account. 
Please calculate this parameter so that your deposit will withstand such a load.
LotAdditionalOpeningAdditional lot(Volume) for the next additional position. 
For example
Starting lot(Volume) of the main position = 0.1; 
LotAdditionalOpening= 0.05, then
The next lot of the opened additional position will be 0.15, 0.2, 0.25, and so on.
MaxOrdersOpenAdditionalOpeningMaximum number of positions for this currency pair in 1 direction (separately for BUY and SELL)

If the grid positions are equal to MaxOrdersOpenAdditionalOpening, then the following additional positions are ignored.
  

Time Trade options: The block of work with the time of trade, the time limit.

TradeStartStopbyTimeTimeTrade is the function of working EA on time limits.


If TradeStartStopbyTime false, then the Expert Advisor trades around the clock.
If TradeStartStopbyTime true, then the trading time limit is enabled:
SeveralTimeWorkYou can also specify several time slots for trading in the SeveralTimeWork parameter.


Recording format: HH: MM-HH: MM;
where: Hour Start trading : Minute start trading – Hour stop trading : Minute stop trading.


For exampleSeveralTimeWork 3:00-5:00;7:30-8:50;12:00-15:00;
then the Expert Advisor will trade 3 pieces of time. 
From 3 hours to 5 hours; 
from 7:30 to 8:50; 
and from 12:00 to 15:00. 


The Advisor will not open new deals the rest of the time. 
OpenHour OpenMinuteThe Expert Advisor checks the trading time according to the parameters:


OpenHour:OpenMinute – the beginning of the trade and ;
CloseHour:CloseMinute – the end of the trade for 1 day.


For example:  OpenHour = 5 and OpenMinute = 0, and also CloseHour = 18 and CloseMinute = 59, 
Then, the EA will trade every day from 5:00 to 18:59.
ClosePeriod_MinuteIf you want to specify the trading period from the start time, you can set the parameter ClosePeriod_Minute, which is the period in minutes.


For example,OpenHour = 6 and OpenMinute = 0 and ClosePeriod_Minute = 180. 
Then, the advisor sets the trading time from 6:00 to 9:00 (6 + 180 minutes = 9 hours).
CloseAllTradesByOutOfTimeAlso, you can close all open trades and pending orders during non-business hours if CloseAllTradesByOutOfTime = true.


In this case, the Expert Advisor will trade at the time specified above, and when the trading time is over, the advisor will close all open positions and orders.


– Not Use = Do not use the function;
– Positions and Orders = Close positions and pending orders;
– Only Positions = Close only positions (BUY and SELL);
– Only Orders = Close only pending orders (BUYSTOP, SELLSTOP, BUYLIMIT, and SELLLIMIT);
TradeByDaysIn this block of work on time, YOU can specify Trading days for trade: TradeByDays.


For example
TradeByDays true and Days 1,2,3 
– in this case, the Expert Advisor will trade only on MondayTuesday, and Wednesday, according to the time set above. 


Or trade around the clock for these 3 days if time is not set.


If you set Days 1,2,3,4,5 but the parameter TradeStartStopbyTimeFriday false, the Expert Advisor will not trade on Friday.
DayForOptimizationAlso, you can set 1 day for optimization in the parameter DayForOptimization.

This option is useful to determine which days on the optimization were the most profitable.


For example
if DayForOptimization 3, then the EA will only trade on Wednesdays.
TradeStartbyTimeMondayThe Expert Advisor starts working on Monday if set by TradeStartbyTimeMonday true by the time OpenHourMondayOpenMinuteMonday.


For example
OpenHourMonday and OpenMinuteMonday 40, then the EA starts trading on Monday at 03:40 on server time.


(The time of your broker, as indicated in the market review).
TradeStartStopbyTimeFridayTradeStartStopbyTimeFriday – Trading time for Friday.


In our Expert Advisor, YOU can set the time for trading by EA on Friday.


Time options for Friday: OpenHourFridayOpenMinuteFriday 
– CloseHourFridayCloseMinuteFriday


For example, if you need the advisor not to open new deals on Friday after 18:00, then you can set:
OpenHourFriday 0OpenMinuteFriday – CloseHourFriday 18CloseMinuteFriday 0
In this case, the advisor will not open new deals after 18:00
CloseFridayAlso, you can close all open trades and pending orders on Friday at the set time of 18:00 If CloseFriday true.

BreakEven WithoutLOSS options: Block of work with breakeven (Set stoploss to break-even at a specific moment) 

MovingInWLUSEEnable the break-even function.

The function modifies the stop loss in LevelWLoss points when the position dials the LevelProfit of the profit items.
Functional features of experts from www.expforex.com


Example:
LevelWLoss = 50 LevelProfit = 200
As soon as the position accumulates 200 points of profit, the StopLoss of the position will be modified to the opening price of the position (+ spread) + 50 points.


Example:
LevelWLoss = 0 LevelProfit = 100
As soon as the position accumulates 100 points of profit, the StopLoss of the position will be modified to the opening price of the position (+ spread)


Attention: If the averaging or additional function is turned ON(true):
Then, when you open 2 or more positions, the advisor turns ON a breakeven function from the middle line and not from the opening price of positions.
LevelWLossThe level of profit (LevelWLoss) in points on which the Stop Loss is set when this function is enabled.


1 = 1 point of profit;
0 = Automatic minimum profit mode. 
If it is 0, then the number of points of profit for the breakeven (stoploss on the breakeven point) = Spread of the current currency pair.
LevelProfitThe number of profit points (LevelProfit) gained by the position for setup a stop-loss in the LevelWLoss of profit points(Pips).
LevelProfit must be greater than LevelWLoss

Standard Trailing options 

(Trailing positions, by modifying Stoploss into profit!)

TrailingStopUSEYou can turn ON the standard Trailing Stop function.


Note: If the averaging or additional function is enabled, if you open 2 or more positions, the Expert Advisor turns on the trailing stop function from the middle line and not from the open position price
The average price is displayed on the chart.
IfProfTrailIf “true”– when the Expert Advisor starts modifying only from the moment the position is installed to the Breakeven (stoploss on the breakeven point) + TrailingStop of profit Point(Pips).


If “false,” the TrailingStop works right after the position is positioned, and the position is put into profit and pulled after the price.
TrailingStopDistance in points from the current price to the stop-loss.
If the current profit is 200 Points (Pips), and TrailingStope = 100, then the stop-loss will be set at +100 points.


Thus, we give the price the possibility of a rollback of 100 Points (Pips) maximum. 
In the other case, StopLoss will work, and the position will be closed at +100 Points (Pips).
TrailingStepStep of StopLoss when the trailing stop function is enabled.
SaveTPafterTrailingStopWhen enabled, the Take Profit of the modified positions will not be modified after TrailingStop.


For example:
SaveTPafterTrailingStop = false: 
When running a Trailing Stop, the takeprofit of the modified position will be deleted (Set to 0);


SaveTPafterTrailingStop = true: 
When the Trailing Stop is running, the takeprofit of the modified position will be saved.

TrailingStop by SAR Parabolic 

(Set and modifying stoploss on the Parabolic SAR indicator Point)

TrailingStopSARYou can Enable (true) the Trailing Stop function on the Parabolic SAR indicator.


Attention: If the indicator is at a loss for the position, the Expert Advisor (EA) waits until the parabolic point is profitable for the position.


If we have 2 or more positions of the average, then the breakeven (stop loss on the breakeven point) is considered from the Average Price of the positions.
TrailingStopSAR_TimeFrameTimeframe for indicator Parabolic.
maximumParabolic Indicator settings.

CloseALL when Profit or LOSS options 

Closing positions in MetaTrader upon reaching the total profit/loss with the profit trailing function.
This function from CloseIfProfitorLoss with Trailing. Control of the total profit or loss with profit trailing.
TypeofCloseType of closing on the total profit or loss, in dollars (deposit currency), Point(Pips), percent of the balance, percent equity.


The block allows you to close all positions on this symbol if the total profit or loss of all positions is equal to the set value.
SeparateBuySellSeparate calculation and closing of positions in two different directions, BUY and SELL.




If SeparateBuySell=true, then Expert Advisor (EA) separately closes two directions (BUY and SELL separately) for total profit or loss.


If SeparateBuySell=false, then Expert Advisor (EA) together closes two directions (BUY and SELL together) for total profit or loss.
In order for the Expert Advisor to close two types of positions (deals), BUY and SELL, the total profit of these two positions must be higher than the set value.


Actual, If ONlyOnePosbySignal = false and OnePosPerDirection = false.
Or any settings that allow you to open more than one direction and more than one position in the direction.
CloseProfitClose positions with a total profit. 
True – enable, 
False – disable.
prifitessssThe number of units (dollars (or deposit currency), Points (Pips), and percent) for closing.


If the total profit on the positions of the currency pair is greater than or equal to the value of the prifitessss, then all positions will be closed.
CloseLossClose positions at a total loss.
True – enable, 
False – disable.
lossssThe number of units (dollars (or deposit currency), Points (Pips), and percent) for closing.


If the total loss on the positions of the currency pair is greater than or equal to the value of the lossss, then all positions will be closed.
TrailOptionsYou can Turn ON trailing the total profit when overreaching prifitessss units.


This option means the distance from the prifitessss parameter to turn ON Profit Trailing.


For example, 
prifitessss = $ 100 (deposit currency) TrailOptions = $ 10
then, when the position gains a profit of $ 100, the Expert Advisor will not close these positions but will set a profit level of $ 90.
Further, if the profit increases by 1 dollar and becomes 101 dollars, the profit level will be fixed at 91 dollars.
If the profit goes down and reaches 91 dollars – all positions will close at this level.
TrailOptionsStepThe step of increasing the fixed profit level.
BalanceStartThe starting balance, from which the percentage of the balance will be calculated. 

If 0 =, then the current account balance is set.
ForcedCloseForced closure of all positions (deals) after the price reaches a total profit or loss.
MailSendSend MAIL when closing positions (deals) by Total Profit or Loss.
OrderdeleteDelete pending orders when closing positions (deals) by Total Profit or Loss.
OFFAfterClosePROFDisable the Expert Advisor (EA) after closing on the total profit.

Expert Advisor will stop its work and will not open new positions(deals) and orders!
OFFAfterCloseLOSSDisable the Expert Advisor (EA) after closing for the total loss.

Expert Advisor will stop its work and will not open new positions(deals) and orders!
CloseTerminalAfterClosePROFClose the terminal after closing on the total profit.
CloseTerminalAfterCloseLOSSClose the terminal after closing for a total loss.

Limiting losses and profits


Limitation of losses and profits for a certain period Limit loss and profit for 1 day/week/month.

Limiting LimitFor – Limit type day/week/month;
LimitForLosses – Limit on loss;
LimitForProfits– Limit on profit;
LimitType – Limit type by Dollars, Points, Deposit Interest;
ClosebyLIMITING – Close the advisor’s deals when the Limit is exceeded;
UseCurrentProfit – Take into account, when calculating the Limit, the current profit/loss;


This function is able to turn off the work of the Expert Advisor if the Expert Advisor gained a certain profit/loss in the deposit currency for the day/month/week.
The next work of the Expert Advisor will be the next day, week, or month.




For example, LimitFor DAY, LimitForProfits 1, LimitForProfits = 10 dollars;
Also, you can select LimitType limit type for calculations( In dollars, points, percent of the balance of the account).


If you need to close and delete all deals for this Expert Advisor, if you exceed the limits, you can put ClosebyLIMITING = true.


The UseCurrentProfit Enable/Disable calculation of the current floating profit/loss for this Expert Advisor.
  

Drawdown options


The block for controlling the opening of positions in the drawdown


DrawDown_Level – turn on the drawdown control block;
Type_DrawDownHR – the type of drawdown calculation based on deals in history and current deals;
DrawDown_Level_One – the first level of drawdown in percent ;
Type_Deal_Level_One – action when passing the first level of drawdown (turn off new signals, turn off averaging of deals or additional opening, close all deals);
DrawDown_Level_Two – the second level of drawdown in percent ;
Type_Deal_Level_Two – action when passing the second level of drawdown (close all profitable positions, close all loss-making positions, close all );


For example:


DrawDown_Level = true

DrawDown_Level_One = 50

Type_Deal_Level_One = No_NewDeal,

DrawDown_Level_Two = 90

Type_Deal_Level_Two = Close_All

With these settings, as soon as the current drawdown of deals in history and current deals exceeds the level of 50% of the current deposit, EA can not open new deals on new signals. 
At the same time, the averaging functions will work. 


When the drawdown exceeds 90%, EA immediately closes all deals.
  

Virtual Withdrawal



A virtual withdrawal tool is used in strategy testing to simulate the work with a deposit (Deposit Topup, Deposit withdrawal).
Added a virtual withdrawal of funds in the tester:


Withdrawal – Enable virtual withdrawal of funds when testing in the strategy tester;
Withdrawal_mode – withdrawal mode, in the deposit currency, as a percentage of the current balance (currency/percentage);
Withdrawal_amount – Number of withdrawals;
Withdrawal_periodicity_days – Frequency of withdrawal in days;
Withdrawal_Max – Maximum withdrawal amount;
Withdrawal_EndOfTest – Withdrawal after the end of testing;

OnTester_Custom

  
In the Tester block, the variable OnTester_Custom_max is added, in which you can write down your criterion of genetic
optimization.
More details about the test results: Statistics
A record in the form of a formula.
For example :
OnTester_Custom_max = “STAT_PROFIT * STAT_TRADES / STAT_EQUITY_DD”
It is mandatory to specify the names of variables, as in the reference book!


You can set the minimum values at which the optimization will take into account the result during genetic enumeration!
In other words, You can set a condition: “the minimum number of deals” (or other parameters),
upon which this run will be counted as a result.
If, during selection, the advisor opens fewer deals than specified in the settings, then this run of the optimizer will not be counted as a result!
–Attention! For advanced users only.
OnTester_Min_Trades = 0; // Min Deals for optimization
OnTester_Min_Profit = 0; // Min Profit for optimization
OnTester_Min_ProfitFactor = 0; // Min ProfitFactor for optimization
OnTester_Min_Balance = 0; // Min Balance for optimization
OnTester_Min_Equity = 0; // Min Equity for optimization
OnTester_Max_Balance_DD = 0; // Max Balance DD% for optimization
OnTester_Max_Equity_DD = 0; // Max Equity DD% for optimization
Detailed USER GUIDE for this

FAQ Question Answer on the Exp – The X program

What are the values ​​in the parameters in points or pips?

In points! The item is taken from the value of the Point () variable

  • If you have a 5 or 3-digit broker, then 1 point = 0.00001 0.001
  • If you have a 4 or 2-digit broker, then 1 point = 0.0001 0.01

You write the value (in the field) that you need on a particular broker.

There is a lot of debate about what a point is and what is a pip.
I have universal values (Point = Pips).

These values are equal to the values of your broker.

Do you have the kits and settings for this Expert Advisor?

No, I created the Expert Advisor as a designer. This EA requires your optimization. According to your strategy and according to your capabilities, but using our functions.

More on Optimizing and Testing The X Advisor

Do you not want to optimize? Download my beginner advisor: Tick Hamster or TickSniper.

Why are the test results in mt4 and mt5 terminals different?

Because they are different terminals with different histories of quotations and different principles of the strategy tester.

What settings do you use on your signal?

Default settings. I only test the correctness of the functions and not the profitability of this advisor.

Why?

Because this advisor was created as a Strategy Builder, each user must find their strategy.
Want my strategy? TickSniper has already set up an automatic trading robot.

Why are the results with Virtual StopLoss and real Stoploss very different?

A virtual stoploss can not receive an error of order modification due to spread increase, increase of stop level, or change of quotations. He always modifies at any situation to the level he needs. All the entries of the advisor lead in global variables.

A real stop-loss can receive modification errors due to a spread increase, an increase in the minimum stop level, and price changes. Therefore, it can only modify to the level that the server allows it.

Because of the shift, when closing such positions, virtual time closures can have completely different time intervals. Real stoploss can be closed at other times. This violates the entire logic of opening and closing positions.

As an example, While one position is open, the second one is not open!

Why are the results of the new version and the older version different?

We are updating our program to correct minor errors and nuances of the functions. Changing one function and fixing one error can cause the results between the old version and the new version to be different.

However, the purpose of our update is to fix bugs and improve the functionality of the functions.

We regret that the results of the old version may differ from the results of the new version.

But we will update our program in any case.

I want you to make several changes to the EA

I take new functions very carefully only when these functions will be useful to most users of the system. Unfortunately, I can not program each function separately for each user. You can buy the open code of the Expert advisor – and program everything you want.
I can add a couple of functions only when I see a sense in these functions. Excuse me.

Can you add a few custom indicators to the Expert Advisor?

No, this advisor was created only for standard indicators. I can not add all the Internet indicators to this Expert Advisor. You can buy the open code of the Expert advisor – and program everything you want.

EA The xCustomEA Universal trading Expert Advisor (EA) on iCustom indicators.

Read more about open source The X Instruction on trading strategy programming.

When will you add more indicators?

I add only those indicators I think are necessary. Unfortunately, I can not add all the indicators to the Expert Advisor. The advisor is so crowded with external parameters.

This function does not work for me!

I can help you only when you provide a full report on errors

Can I use the Set file with advisor settings between the MT4 and MT5 terminals? Why do not the settings work from mt5 to mt4?

Yes, you can use SET files with settings between two terminals. All variables are the same.

But there is one problem:

Terminal MT5 works with any encoding, and MT4 works only with ANSI text. Therefore, the settings file saved in the MetaTrader 5 terminal will not be opened in the MetaTrader 4 terminal.

For the file with the settings from the terminal The X MT5 loaded in the terminal MT4, you need to open this Set file and save it in the ANSI encoding.

Changelog

Version 23.913 2023.09.18

-EAPADPRO v44
-Last Build Compilation

Version 23.101 2023.01.08

-EAPADPRO v43 (Added new languages)
-Last Build Compilation

Version 22.130 2022.01.30

Обновление индикатора ZigZag

Version 22.110 2022.01.12

Fixed a bug with drawing objects for new versions of MT5 terminal

Version 21.613 2021.06.12

UPDATE for UPDATE

Version 21.612 2021.06.12

–EAPADPRO v40 update, according to the new rules for using the MQL5 Market;
– Added parameter FiltersUsageRules – Using filters to receive signal in modes:

And – All filters must simultaneously can be used the same BUY / or SELL signal (Old version), that is, if at least one of the 5 installed filters does not give the same signal as the main signal, then the deal will not be opened!

Or – Any of the filters can be used as BUY / SELL signals, that is, if 1 of 5 filters indicates the direction of the signal is the same as the main signal, then a deal will be opened.

– Added the Max_Points_of_Bar_OpenClose parameter – The maximum number of bar height points to open positions by the indicator: Bar BEAR / BULL.

Version 21.527 2021.05.27

Исправлена работа ClosePositionifChangeOWNSignal = OnlyIfProfit при работе с TypeTradeBUYSELL = Only Sell

Version 21.520 2021.05.21

– A new parameter has been added to the “Averaging” block:

— CloseFirstAfterMaxAverage – Close the first averaging deal (the very first of the currently open averaging deals),

when the advisor has opened the maximum number of deals with the MaxOrdersOpen parameter.

If you want to keep a fixed number of Averager grid items (e.g. 5 grid items),

the smallest element must be closed with a loss when the 6th element is opened.

For example:

CloseFirstAfterMaxAverage = false MaxOrdersOpen = 5:

If the EA opens the maximum number of averaging deals, which is set by MaxOrdersOpen = 5,

then the next averaging deal cannot be opened.

CloseFirstAfterMaxAverage = true MaxOrdersOpen = 5:

If the EA opens the maximum number of averaging deals, which is set by MaxOrdersOpen = 5,

then the first averaging trade is closed and the next trade is opened.

================================================== ================================================== ======================

– A new parameter has been added to the “Additional opening” block:

— CloseFirstAfterMaxAdd – Close the first additional opening deal along the trend (the very first of the current open deals),

when the EA opened the maximum number of deals with the MaxOrdersOpenAdditionalOpening parameter.

Same as CloseFirstAfterMaxAverage Paramter.

Version 21.517 2021.05.17

— EAPADPRO v39

— Added custom optimization criteria in genetic mode when choosing the Custom Max optimization mode.
You can set the minimum values ??at which the optimization will take into account the result during genetic enumeration!

In other words: You can set a condition: “the minimum number of deals” (or other parameters),
upon which this run will be counted as a result.

If during selection the advisor opens fewer deals than specified in the settings, then this run of the optimizer will not be counted as a result!

–Attention! For advanced users only.

OnTester_Min_Trades = 0; // Min Deals for optimization
OnTester_Min_Profit = 0; // Min Profit for optimization
OnTester_Min_ProfitFactor = 0; // Min ProfitFactor for optimization
OnTester_Min_Balance = 0; // Min Balance for optimization
OnTester_Min_Equity = 0; // Min Equity for optimization
OnTester_Max_Balance_DD = 0; // Max Balance DD% for optimization
OnTester_Max_Equity_DD = 0; // Max Equity DD% for optimization

– You can find a detailed description of this block of settings in the user manual!

Version 21.425 2021.04.25

Работа с StopTrading кнопкой модернизирована. Исправлена ошибка случайного разрешения сигналов на открытие позиций при сворачивании панели.

Version 21.313 2021.03.13

-EAPADPRO v38
–Fixed the main signal reversal error when using the Signal_Reverse (true) and ClosePositionifChangeOWNSignal (OnyProfit) functions.

Version 21.216 2021.02.16

Added new parameters of Lots when opening a position by signals:
AdditionalLots – An additional lot that will be added to each new deal based on a new signal
CoeficienteLots – Lot coefficient, by which the lot will be multiplied for each new deal on a new signal
(When the advisor is allowed to open more than one position for each signal ONlyOnePosbySignal = false / OnePosPerDirection = false)

Version 20.731 2020.07.31

MT5: Fixed the conflict of the Additional Opening when using a common stop loss (StopLossALL) and a common trailing stop.

Version 20.608 2020.06.08

NewBuild 2485

Version 20.227 2020.02.27

Bugs for using Bars (closing price and opening price of bars) have been fixed when used as FILTER and indicating different TimeFrames!

Version 20.220 2020.02.19

Dear friends!
We made a very important and difficult decision regarding The X/The xCustomEA for MetaTrader 5 and the use of the multi-currency mode (PAIR1-PAIR12)
Due to the fact that the use of different methods of multi-currency operation does not bring 100% accuracy in obtaining quotes,
we were forced to turn off this mode.
We explored many topics on the forum about the problem of using multi-currency mode in MetaTrader!
Each method of implementing a multi-currency trading mode has its pros and cons!
But in each of these methods there are Cons: Reward resources on computers, skipping ticks, looping the main trade flow.
We made the decision: Remove the multi-currency trading algorithm in The X/The xCustomEA to eliminate trading problems on real charts!
We apologize for any inconvenience caused.

IMPORTANT: As soon as we find the ideal solution for working in multi-currency mode (PAIR1-PAIR12) we will turn on these parameters again, for the convenience of taming and optimization.
IMPORTANT: On a real chart, I recommend installing an adviser on each chart of a currency pair separately from each other (do not use PAIR1-PAIR12)

Version 20.216 2020.02.16

Forced modifyng comment length CommentToOrder up to 12 characters!
If the comment is longer than 12 characters, then the advisor will trim the extra characters.
Attention! For the EA to work correctly, set a comment no longer than 12 characters.
eg:
Right: ExpforexTheX
Not Right: Expforex The X Set # 12345

Version 20.212 2020.02.12

— Исправлена ошибка Работы по времени, если ТФ советника больше, чем Минуты функции времени.
(Например закрытие в 22:49 а ТФ = H1 )

Version 20.211 2020.02.12

— EaPadPro v35;
— UPDATE: Bar – trade in the direction of the bar
New Parametr Min_Points_of_Bar_OpenClose = 100
If candle Close is above of 100 points the candle Open (Bullish candlestick) – BUY
If candle Close is below of 100 points the candle Open (Bearish candlestick) – SELL
if Min_Points_of_Bar_OpenClose 0 same old version

Version 19.940 2019.10.10

ZigZag signal update with insufficient number of bars.

Version 19.905 2019.09.05

Исправлена ошибка уведомлений при открытии и закрытии позиций.

Version 19.903 2019.09.03

IfProfTrail:
– if true, the Advisor starts the modification only when the position is gaining profit to Breakeven (setting stop loss on the break-even point) + TrailingStop profit points.
– if false – TrailingStop starts working immediately after opening a position and making a profit of 0 points and leaving a position as a profit.
In other words: IfProfTrail = false, then the trailing stop starts working immediately after the position is in profit.

Version 19.820 2019.08.19

An important update for those using the MQL5 VPS!
Due to the fact that the hosting location folder has changed and MetaQuotes added a new variable TERMINAL_VPS, new edits were applied to all experts.!

Version 19.819 2019.08.19

Обновления для Тестера Стратегий:
Запрет на вывод Print в оптимизаторе

Version 19.817 2019.08.17

1. Function ControlNewBarforSIGNAL Changed:
Added values:
ControlNewBarforSIGNALType = 1 = True smallest TF of the settings: New mode!
The EA selects the smallest TimeFrame, which was set by the parameters TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2 ….
In this mode, the EA does not check the signal on the currently set TimeFrame, but on the TimeFrame for receiving a signal from indicators!
This mode is useful for those who use TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2, other than Current.
ControlNewBarforSIGNALType = 2 = True current bar of the current TF: Old mode!
In this mode, the EA checks signals every new bar of the current TimeFrame!
If you use TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2 other than Current, the results on each TimeFrame may be

different.
We advise you to install the adviser on the TimeFrame M1!
ControlNewBarforSIGNALType = 1 = False: Do not use the control of the new bar to determine the signal!
Attention: When off, the EA checks signals every new tick! There may be delays in tapping and optimization!

2. Added variable ControlNewBarforOpenbySignal:
ControlNewBarforOpenbySignal = true: Old mode! Open positions on a signal only every new current bar of the current TimeFrame!
The EA opens positions, if there is a signal, only when a new bar of the current TimeFrame arrives!
ControlNewBarforOpenbySignal = false: New mode! Open positions on a signal every new bar from the signal Timeframe!
The EA opens positions, if there is a signal, immediately upon detection of a signal.
This mode is useful for those who use TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2, other than Current.

Version 19.816 2019.08.17

Fixed error:
When two different directions BUY and SELL are in operation and averaging works, then BUY does not allow to modify the take profit for SELL positions!

Version 19.814 2019.08.14

Update Update

Version 19.808 2019.08.07

Code optimization, increased testing speed and optimization.
Starting the calculation of the average spread only when the user uses at least one parameter for the average spread.

EAPADPRO v31.

Added DistanceMartinAdditional – Coefficient of distance for additional order opening.
Added MinTimebeforenextAverage – Minimum time to the next averaging in minutes.

Version 19.526 2019.05.26

xcustom the x change

Version 19.525 2019.05.25

Added function to check different take profit for the averaging function.
If the positions have a different take profit, then the expert sets a single total take profit.

Version 19.517 2019.05.17

Forced modification only when stop loss = 0 or take profit = 0

Version 19.514 2019.05.16

Fixed double opening of averaging deals on accounts with MARKET execution.

Version 19.111 2019.01.10

Increase testing speed when using filters on Averaging and Additional opening.

Version 19.110 2019.01.10

The SaveTPafterTrailingStop function has been updated to work in virtual stop loss / take profit mode with VirtualStops = true

Version 19.109 2019.01.10

ReloadReload

Version 19.107 2019.01.07

– The ClosePositionifChangeOWNSignal parameter is divided into 3 values: False (disabled), True (enabled), OnlyifProfit (Only if the positions are in profit);
– EAPADPRO v25 update
– Additional languages added to the panel: Spanish, Portuguese (Brazil), German, Chinese, Japanese;
The translation was made using the GOOGLE Translator + MQL + Terminal site!
If you find an error in your language, please report it in messages. Thank!
– Increase the speed of the panel;

Version 18.998 2018.12.28

– Optimization of the code, increasing the speed of testing.

Version 18.991 2018.12.12

– Update EAPADPRO panel to v23 version
– Added a control unit and control the speed of the quotes and the speed of testing.
– Added block output table open deals and positions.

Added new variables:
– LotAdditional – additional lot for averaging a position for opening against the trend.
– LotAdditionalOpening – additional lot for an additional position for an additional opening by trend.

Version 18.951 2018.10.23

For your convenience, we have added a short description of the parameters in the table of external variables and expert settings.

Update panel EAPAPDPRO v21:
-Graphics improvements
-Add tooltips
-Add information about the ban on trade for various reasons

Version 18.945 2018.10.19

Changing the type of the OnlyOnePositionPerMagic parameter from Bool to Integer

Now you can set the maximum number of positions by magic number on the entire account.
For example, OnlyOnePositionPerMagic = 5 – means that a maximum of 5 positions can be opened on the account by the magic number.

Version 18.920 2018.09.20

Added function for displaying information about parameters when modifying positions!
Fixed TrailingStop error when using the parameter in spreads!

Version 18.910 2018.09.10

In the calculation of CloseALL when Profit or LOSS options and type TypeofClose = Points, a swap was added.

Added option SeparateBuySell – Separate calculation and closing of positions in two different directions BUY and SELL.
This function separately closes two directions for total profit or loss.
Actual, If ONlyOnePosbySignal = false and OnePosPerDirection = false.
Or any settings that allow you to open more than one direction and more than one position in the direction.

Version 18.905 2018.09.04

The function of automatic determination of parameters by the average spread has been added.
The algorithm for the function is taken from our automated tickSniper scalper sales advisor.
Added parameters to the Stops options block:
– TimeToCheckAverageSpread The number (milliseconds, 20,000 = 20 seconds) for determining the average spread
– AutoCheckLowSpread Auto-determination of the low spread.
Automatically determines the spread too low (Less than 1 point) and leads all system settings to the lowest possible spread.
Allows you to protect the system from reducing the spread on the broker.

How to use:
In order for the parameter calculated in points to be calculated from the average spread of the currency pair, you need to specify the parameter with sign –
For example:
StopLoss = 2000 means that StopLoss of each position will be 2000 points!
StopLoss = -100 means that StopLoss of each position will be equal to 100 * Average spread, which was calculated by the advisor for TimeToCheckAverageSpread milliseconds.

If the spread is 20 points, then stop loss at the time of opening will be 2000 points.
With a floating spread, this value always changes.

The parameters available for setting in the spread mode: Distance, DistanceAdditionalOpening, StopOrderDeltaifUSE, StopLoss, TakeProfit, TrailingStop, TakeProfitALL, StopLossALL, LevelWLoss, LevelProfit.

The average and current spread, as well as the level of the Auto Spread Low spread will be displayed in our panel in the section Strategy Info
=================================================================================

In the Limiting losses and profits block, a new type NOTIME was added to the LimitFor parameter , when using this type, the adviser checks the limits during the time from the last close!
Attention: works only when using ClosebyLIMITING = true!
This type allows you to take into account closed positions and current positions since the last closing of the total limit. It does not count for a day, a week, but for the period between the last closing according to the terms of this block and the current time. When closing by Limits, the counter sets the current time.

Version 18.830 2018.08.30

EAPADPRO Update v20

Version 18.828 2018.08.28

New version

Version 18.820 2018.08.20

Upgrade the EAPADPRO to version 20.

Block Limiting losses and profits updated:
Parameters LimitForLosses and LimitForProfits changed by type to double
A new CUSTOM mode has been added to the LimitType type. You can specify your monitoring values ??in minutes, the LimitForCustom_Minutes parameter.

Version 18.808 2018.08.16

In the DrawDown block new parameters for the drawdown tracking are added to the Type_CurAllCA function:
Only_Current_Symbol_Magic – Counts the drawdown by the current symbol and the current magic number;
Only_Current_Symbol_ALLMagic – Counts the drawdown by the current symbol and any magic number;
All_Account – Allows for drawdown of the entire account.

In the indicator Mooving Average, the selection of the price type and the averaging method for the two MAs

Parameter TypeTradeBUYSELL was updated.
Now this parameter participates in functions, including: “Closing on the total profit and loss”, averaging, additional opening, trailing stop,break-even.

The filter parameters are added to the averaging and additional trend opening blocks.
The Expert Advisor checks the indications of the selected indicator (Filter) and allows or forbids the opening of new positions of a averaging or additional opening on a trend.
The following options are available: Selection of the indicator for the filter, Timeframe, Reverse signals

Version 18.9 2018.05.29

Updated the block for working by time in multicurrency operation mode

Version 18.8 2018.05.15

– Optimized the code.

– МТ5: When using the multicurrency mode (specifying multiple currency pairs in the EA):
When using the function of closing by the total profit and loss, the EA will count and close all positions of all currency pairs specified in the settings (PAIR1-PAIR12)

– Added the data to the information panel:
When using the “CloseALL when Profit or LOSS options” block, the panel will display the data on the current profit and loss, as well as the values of the total trailing, if enabled.

– When opening a position, the information on the signal is output to the log!

=====================================================================================
Attention!!!! The parameters have been renamed!
Update and check your *.set files
These are forced measures:
1. to make the setting files uniform for the two terminals.
2. to make the instruction the same for the two versions.
Sorry for inconvenience!

– МТ5 version:
lot=Lots
UseAverage=AverageUSE
MaxOrders=MaxOrdersOpen
LotsMartinAverager=LotsMartin
AdditionalOpen=AdditionalOpening
DistanceAdditionalOpen=DistanceAdditionalOpening
LotsMartinAdditionalOpen=LotsMartinAdditionalOpening
MaxOrdersOpenAdditionalOpen=MaxOrdersOpenAdditionalOpening
periodma1=MAFastPeriod
periodma1=MASlowPeriod
FastMACD=MACDFast
MACDSMA=MACDSignal
SOPeriodK=StochK
SOPeriodD=StochD
SOslowing=StochSlowing
SOmethod=StochMethod
SOpricefield=StochPrice
RSIprice=RSIPrice
BBPeriod=BandsPeriod
BBdeviation=BandsDeviation
BBprice=BandsPrice
ALjawperiod=JawPeriod
ALteethperiod=TeethPeriod
ALlipsperiod=LipsPeriod
ALmethod=AlligatorMethod
ALprice=AlligatorPrice
OsMAperiod=OsMASignal
OsMAfastperiod=OsMAFast
OsMAslowperiod=OsMASlow
OsMAprice=OsMAPrice

– МТ4 version:
LotBalancePcnt=LotBalancePercent
RSILowLevel=Rsi_BUYLEVEL
RSIHighLevel=Rsi_SELLLEVEL
CCIHighLevel=CCI_SELLLEVEL
CCILowLevel=CCI_BUYLEVEL
WPRLowLevel=WPR_BUYLEVEL
WPRHighLevel=WPR_SELLLEVEL
EnvPeriod=ENVPeriod
EnvMethod=ENVmethod
EnvPrice=ENVprice
EnvDeviation=ENVdeviation

Version 18.7 2018.05.04

General improvements

Version 18.6 2018.04.20

The VirtualSLTP function:
– When using OpenBarControlOnly, the virtual stop loss and take profit will be executed on each tick.
– Added the check of conditions for setting stop loss and tale profit to the function:
Stop loss for BUY orders can be placed only below the current price.
Take profit for BUY orders can be placed only above the current price.
Stop loss for SELL orders can be placed only above the current price.
Take profit for SELL orders can be placed only below the current price.

The CloseAllTradesByOutOfTime function:
Division into type of closing by expiration of trading time:
– Not Use = do not use the function
– Positions and Orders = close positions and pending orders
– Only Positions = close only positions
– Only Orders = close only pending orders

Added new signals:
19: Trading based on Average Directional Movement Index by Welles Wilder (available only in the MetaTrader 5 terminal)
The indicator signals are similar to signals from the ADX indicator;
20: Trading based on Money Flow Index
Money Flow Index (MFI) indicates the rate at which money is invested into a security and then withdrawn from it. Construction and interpretation of the indicator is similar to Relative Strength Index with the only difference that volume is important to MFI.
The indicator signals are similar to signals from the RSI indicator;
21: Trading based on Fractals
Signal for opening positions is generated when the level of the last fractal is crossed:
When the price crosses the last upper fractal upwards, a BUY position is opened;
When the price crosses the last lower fractal downwards, a SELL position is opened;
Filter: similar to the main signal:
If the price is higher than the last upper fractal, only BUY positions;
If the price is lower than the last lower fractal, only SELL positions;
Attention! A fractal can be drawn at least on the 2 closed bar and can be drawn in the past in an unlimited number of bars back. Consider this when analyzing the signal!

Version 18.5 2018.04.06

Update New Feature:
Include_Commission_Swap
Use the original calculation of commission and swap when enabling the functions: Breakeven, Trailing Stop, Averaging.

The original commission calculation is based on the formula for calculating the value of 1 point from the open positions on a given symbol and magic number. Negative swap and commission are taken into account during calculations. The function returns the value of the negative swap and commission in points, and considers this when working with breakeven and trailing stop.

Note: if your broker has a floating spread, commission is calculated and set during the operation of the breakeven and trailing stop functions, but the spread may increase, leading to additional loss points. This is not a calculation error!
Also, note that when a swap occurs, the EA recalculates the breakeven line and sets new stop loss levels is the server allows it (restriction on the minimum Stop Level of your broker). If the server does not allow setting breakeven and returns the minimum stop level error, the EA will be unable to modify the position and additional loss points may be received.

In order to avoid losses when using accounts with commission and when receiving a negative swap, it is recommended to increase the distance of the breakeven or trailing stop.

The breakeven level (LevelWLoss/LevelWLossMANUAL) can be calculated manually, taking the commission into account.
For example: commission for opening and closing position = 2 USD (EURUSD) per 1 lot. So, in order to cover the loss on the commission, it is necessary to set LevelWLoss = 2 (points) + 1 (confirming) = 3 points.
Thus, the EA sets breakeven to +3 points, which in turn will cover the loss on the commission.

– Added a special mode to the breakeven function through the LevelWLoss parameter
When LevelWLoss = 0, the breakeven point is calculated based on the current spread. This allows making the breakeven level dynamic and closing with the minimum profit of 1 spread. If the position’s profit increases, trailing stop comes into play.
(This mode worked in previous versions of the expert)
If LevelWLoss = 1, the EA will set breakeven to 1 point!

Some parameters have been renamed:
LotBalancePcnt has been replaced with LotBalancePercecnt

Version 18.4 2018.03.28

– Update for the information panel EAPADPRO v2.0;
– Optimized the EA code;
– Increased the EA operation speed;
– Updated the operation of averaging;
– Updated the commission calculation algorithm;
– ControlNewBarforSIGNAL: checking the indicator signals only at new bars (without checking every tick), works only when OWNSIGNAL_shift>=1 and IndSigToTrade!=NoSignal (at NoSignal the EA checks the filter values every tick)
When ControlNewBarforSIGNAL=true, the optimization speed is increased by 1.5 times
– Added the ClosePosition_After_X_Minutes parameter: close positions after the specified number of minutes.
The EA also checks if the CloseChangeOnlyInProfit parameter is enabled: close only the profitable positions.
– Added the OnTester_Custom_max variable to the Tester block, which allows writing a custom criterion for genetic optimization.
More on testing results: https://www.mql5.com/en/docs/constants/environment_state/statistics
Written as a formula. For example: OnTester_Custom_max=”STAT_PROFIT*STAT_TRADES/STAT_EQUITY_DD”
Make sure to specify the variable names as in the reference!

– Added 2 types of virtual pending orders to the order type selection (Positions, StopOrders, LimitOrders):
Use Virtual Stop Orders: place a virtual pending stop order at a distance of StopOrderDeltaifUSE points;
Use Virtual Limit Orders: place a virtual pending limit order at a distance of StopOrderDeltaifUSE points;
Attention: only works in the visualization mode or on a live chart, only when the terminal is switched on.
Does not work in optimization mode!

Version 18.1 2017.12.29

Updated the ClosePosifChange parameter to allow using filters as signals.

Version 17.977 2017.12.15

Note: We placed some secondary EA parameters to the bottom of the internal variables list.

Added the new parameter ReInstallStopOrdersNewSignalAppears – re-set pending orders if a new indicator signal arrives. It allows removing the current BUYSTOP pending order and place a new BUYSTOP on a new level after indicators have informed of a new signal.

No Signal option has been added to the main signal.
If selected, the EA will ignore the main signal and will trade based on filters.
When using the main indicator, the signal is generated ‘as is’ on the current bar.
This means the open signal is regarded a signal completion. If a signal arrives, while the filter does not allow opening a position, then the signal is ignored.
When using No Signal, you can ignore the fact of the main signal completion and follow the filters.
When using the filters, the current position of indicators is regarded as a signal.

Added the OnlyAlternateSignals parameter
It allows opening positions one by one only.
If the last closed position is SELL, the next one can be only BUY!
It is needed to let the main indicator trade in No Signal mode.

Update of ADX Filter
ADX shows the trend strength.
If ADXLevel is 0, DI- > DI+ is used as a permission to sell
If ADXLevel is 0, DI+ > DI- is used as a permission to buy
If ADXLevel is not 0, DI- > DI+ и DI- > ADXLevel is used as a permission to sell
If ADXLevel is not 0, DI+ > DI- и DI+ > ADXLevel is used as a permission to buy

Added new ATR filter.
ATR shows the market volatility.
Trading strategies applying ATR as a filter confirm the current trend.
When ATR grows, this means high market volatility.
Low ATR values means low market volatility.
External settings:
ATR_period=14 – ATR calculation period
ATRprice=PRICE_CLOSE – price type used to calculate the filter (Close, Open, High, Low…)
ATR_MA_period=1 – number of candles for calculating the Middle line (MA), 1 – the indicator calculates the signal direction from the current and previous bar (depending on the ‘shift’ parameters)
ATR_MULTIPLIER=1 – ATR ratio, for example EURUSD ATR=0.0020, when using ATR_MULTIPLIER=2; calculation will include ATR=0.0040.
Filter ATR logic:
The price(ATRprice) of the current bar exceeds the price(ATRprice) of the previous bar + (ATR*ATR_MULTIPLIER) = high volatility BUY filter
The price(ATRprice) of the current bar is lower than the price(ATRprice) of the previous bar – (ATR*ATR_MULTIPLIER) = high volatility SELL filter

Version 17.956 2017.11.13

Added the StopOrderDayToExpiration and StopOrderBarToExpiration parameters
StopOrderDayToExpiration= order expiration time in days.
0 – ORDER_TIME_GTC – the order will stay in the queue until it is manually canceled
1 – ORDER_TIME_DAY – the order will be valid only during the current trading day
2…X – ORDER_TIME_SPECIFIED – the order will be valid until the specified date

StopOrderBarToExpiration – pending order expiration time in bars.
If StopOrderBarToExpiration=10, and TF = лю1, the pending order will be canceled 10 minutes after it is placed.
Attention: each broker has custom minimal parameter for expiration time.

===============================================================================
Added the parameters of total stop loss and take profit to the averaging block.
The stop loss/take profit level is calculated based on the middle line.
TakeProfitALL – the total take profit distance when opening averaging trades.
This option is useful only when AverageUSE is activated.
StopLossALL – the total stop loss distance when opening averaging trades.
This option is useful only when AdditionalOpening is activated.
===============================================================================
When opening additional trades or averaging trades, the algorithm for breakeven and trailing stop is activated based on the middle line. The entire series of positions in one direction is calculated from the average level.
===============================================================================
VirtualStops – enable the virtual (hidden) levels of stop loss/take profit/trailing stop/breakeven
Completely revised the algorithm of virtual stop losstake profittrailing stopbreakeven.
Now all virtual stops are displayed on the chart and are the key level for closing positions.
Data are displayed in the form of lines and written in global variables.
Note: if the stop line is removed from the chart along with the global variables, the virtual closure for this line will not work.
Note: check if your experts and indicators delete lines from the chart and global variables!
Attention: virtual levels are triggered at the current price, after which the closure occurs.
During closing, there may be a few points of slippage!
Note: enabling VirtualStops significantly reduces the speed of testing.
===============================================================================
FIFO
When closing all positions, the EA closes the positions starting from the first opened one.
===============================================================================
Added selection of the pending stop/limit order type in StopOrderUSE

Version 17.943 2017.10.17

Added the ability to open trades in the tester using the panel.

Added the signal bar number for the main signal and filter
OWNSIGNAL_shift – signal bar shift for the main signal.
FILTERSIGNAL1_shift – signal bar shift for the filter.

Added a parameter to disable opening positions instead of notifying the user of a new signal.
Show_alert_without_opening_positions – when enabled, the EA will not open a new position based on the signal, but will only notify the user that a new signal has appeared. In this case, all other functions will work in the normal mode.

Version 17.933 2017.10.12

Optimized the signal generation algorithm. Significantly increased the EA testing and optimization speed.

Added the SaveTPafterTrailingStop option. When enabled, take profit of the modified positions will be saved in its place.
For example:
SaveTPafterTrailingStop = false: when trailing stop is active, take profit of the modified position is deleted.
SaveTPafterTrailingStop = true: when trailing stop is active, take profit of the modified position is saved.

Updated the Extra BUY and Extra SELL buttons. The stop loss/take profit specified in the EA settings is now also considered when opening positions.

Updated the MACD filter
When using the MACD filter, the location of the MACD lines relative to the MACD_BUYLEVEL and MACD_SELLLEVEL levels is now taken into account, similar to the signal.

Added ZIGZAG signals
Intersections of ZIGZAG extremums serve as position opening signals.
When using these signals, it is important to configure the shift parameter.
If set to 0, a position is immediately opened towards the intersection of the current Bid price and the latest ZIGZAG extremum.
If set to 1, a position is opened when the intersection is registered on 1 closed bar.
The last extremum is the fixed extremum 1, when a new ZIGZAG segment is plotted starting from that extremum. Intersection of the maximum and minimum point is a signal for opening a position.
The direction of the last ZIGZAG 0 segment is considered to be the ZIGZAG filter.

Version 17.703 2017.07.06

In the check of the OnlyOnePositionPerMagic function added the check if the OnePosPerDirection function is enabled:
If OnePosPerDirection= false, then OnlyOnePositionPerMagic=true works like this: 1 position per magic number is allowed;
If OnePosPerDirection= true, then OnlyOnePositionPerMagic=true works like this: 1 position in each direction per magic number is allowed;

Added signals:
– ADX
strategy of signals from the reference: https://www.metatrader5.com/en/terminal/help/indicators/trend_indicators/admi
this signal can take two types of signals for opening
if ADXLevel =0, then this strategy is used:
Wilder suggests buying when +DI crosses -DI upward and selling when +DI crosses -DI downward.
if ADXLevel !=0, then this strategy is used:
Wilder suggests buying when +DI crosses -DI upward with +DI above ADXLevel, and selling when +DI crosses -DI downward -DI above ADXLevel.
When using ADX as a filter, it uses the position of lines +DI>-DI = only BUY, +DI<-DI = only SELL, ADXLevel is not used.

Version 17.525 2017.06.05

– Fixed the trailing stop error when there are positions in different directions.
– Added parameter ClosePositionifChangeOWNSignal – closing opposite positions when the main!! signal changes.
The difference from ClosePosifChange is that when using ClosePosifChange, a change in the signal in considered for all filters + the main signal.
And when using ClosePositionifChangeOWNSignal – a change in the signal is considered only according to the main indicator.

Version 17.501 2017.05.03

Added parameters for opening pending orders instead of positions
Using pending orders for entries instead of positions:

StopOrderUSE (true – false) and StopOrderDeltaifUSE (from the minimum allowed stop level allowed on the server) in points.
These parameters in conjunction provide the ability to place pending orders instead of positions. For example, you want to verify a signal after it appears by placing a pending order.
You set: StopOrderUSE =true StopOrderDeltaifUSE=100
If your indicator generates a signal for opening BUY, then the EA will place a pending BUYSTOP order at the price of Ask+StopOrderDeltaifUSE points.
If your indicator generates a signal for opening SELL, then the EA will place a pending SELLSTOP order at the price of Bid-StopOrderDeltaifUSE points.
If the parameter is less than the minimum allowed on the server, the Expert Advisor will show the error 130.

Version 17.407 2017.04.17

– Added the SecondsToRefresh parameter to the EAPADPRO block – refresh rate of the information on the chart.
Default is 10 seconds! This is done to reduce the CPU load.

– Fixed the error of the virtual trailing stop for SAR and averaging.

– Added support for the deposit currencies for the Autolot function, which are different from EUR USD RUB
– Added the RiskRate parameter – the exchange rate of your currency against the USD.
The default RiskRate = 0 means that the EA will attempt to find the correct exchange rate in the Market Watch.
For the autolot to work adequately with all currency pair, it is necessary to “Show all” currency pairs in the Market Watch.

– Added the drawdown management block – DrawDown options.
This block prevents the EA from opening new deals by new signals from the algorithm, or closes all deals on the account and stops trading after a certain drawdown.

DrawDown_Level – enable the drawdown management block
Type_DrawDownHR – type of the drawdown calculation based on the deals in history and current deals
DrawDown_Level_One – the first drawdown level in percent
Type_Deal_Level_One – action when passing the first drawdown level
(disable new signals disable averaging deals or additional opening disable all deals output a message)
DrawDown_Level_Two – the second drawdown level in percent
Type_Deal_Level_Two – action when passing the second drawdown level
(close all profitable positions close all unprofitable positions close all output a message)

For example:
DrawDown_Level =true DrawDown_Level_One =50 Type_Deal_Level_One =No_NewDeal DrawDown_Level_Two =90 Type_Deal_Level_Two =Close_All
With these settings, once the current drawdown of deals in history and current deals exceeds the level of 50% of the current deposit, the EA is not allowed to open new deals by new signals. At the same time, the averaging functions will work.
Once the drawdown exceeds 90%, the EA immediately closes all deals.

Version 17.321 2017.04.05

– Added the SecondsToRefresh parameter to the EAPADPRO block – refresh rate of the information on the chart (default is 10 seconds). This is done to reduce the CPU load.

– Fixed the error of the virtual trailing stop for SAR and averaging.

– Added support for the deposit currencies for the Autolot function, which are different from EUR USD RUB

– Added the RiskRate parameter – the exchange rate of your currency against the USD. The default RiskRate = 0 means that the EA will attempt to find the correct exchange rate in the “Market Watch”. For the autolot to work adequately with all currency pair, it is necessary to “Show all” currency pairs in the “Market Watch”.

Version 17.307 2017.03.13

Added block for virtual money withdrawal in the strategy tester:
testerwd=”========= Tester Withdrawal =========”;
Withdrawal – enable virtual withdrawal in the Strategy Tester;
Withdrawal_mode – in deposit currency or percent of the current balance (currency/percentage);
Withdrawal_amount – amount of money to withdraw;
Withdrawal_periodicity_days – distance between withdrawals as a number of days;
Withdrawal_Max – maximum withdrawal amount;
Withdrawal_EndOfTest – money withdrawal after the end of testing;

Fixed errors based on user reports

Version 17.224 2017.03.01

Update of the “Averaging” block for the Brazilian market

Version 17.201 2017.02.20

Fixed the error in displaying the autolot in EAPADPRO
Added output of the signal information to the journal when a trade is opened.
Fixed the multi-currency operation mode of the EA.

Operation by time feature

Attention: Trading by time involves only filtering for opening new deals based on new signals.
All other functions: Trailing stop, Breakeven, Averaging, Scaling up along the trend and other works around the clock.
Attention: All parameters for trading by time can be optimized in the tester.

If TradeStartStopbyTime = false, the EA trades around the clock.

If TradeStartStopbyTime = true, the trading by time is activated:
The trading by time period starts on Monday.
The EA starts working on Monday at OpenHourMonday:OpenMinuteMonday if TradeStartbyTimeMonday=true
For example, OpenHourMonday=3 and OpenMinuteMonday=40, then the EA starts trading on Monday at 03:40 server time
(time of your broker, indicated in the Market Watch).

Next, the EA checks the trading time according to the parameters: OpenHour:OpenMinute – trading start and CloseHour:CloseMinute – trading end time for one day.
For example: OpenHour=5 and OpenMinute=0, as well as CloseHour=18 and CloseMinute=59, then the EA will trade every day from 5:00 to 18:59.

To set a trading period from the starting time, set the ClosePeriod_Minute parameter – period in minutes.
For example, OpenHour=6 and OpenMinute=0 and ClosePeriod_Minute=180, then the EA sets the trading time from 6:00 to 9:00(6+180 minutes = 9 hours).

You can also set multiple time intervals for trading in the SeveralTimeWork parameter. Entry format: HH:MM-HH:MM;
where: Hour to start trading:Minute to start trading – Hour to stop trading: Minute to stop trading.
For example, SeveralTimeWork=3:00-5:00;7:30-8:50;12:00-15:00;
then the EA will trade during 3 time intervals. from 3:00 to 5:00, from 7:30 to 8:50 and from 12:00 to 15:00. The EA will not open order during the remaining time.

You can also close all open deals and pending orders outside the trading time, CloseAllTradesByOutOfTime=true.
The EA will trade during the time specified above, and when the trading time ends, the EA will close all open positions and orders.

TradeStartStopbyTimeFriday – Trading time for Friday.
This EA allows the users to set the trading time for the EA on Friday.
Time parameters for Friday: OpenHourFriday:OpenMinuteFriday – CloseHourFriday:CloseMinuteFriday
For example, the EA should not open new deals on Friday after 18:00, set:
OpenHourFriday=0:OpenMinuteFriday=0 – CloseHourFriday=18:CloseMinuteFriday=0
In this case, the EA will not open new deals after 18:00

It is also possible to close all open deals and pending orders on Friday at the specified time – 18:00, CloseFriday=true.
CloseAllTradesByOutOfTime

The block for operation by time allows to set the trading days: TradeByDays
For example, TradeByDays=true Days=1,2,3 – in this case, the EA will trade only on Monday, Tuesday and Wednesday during the time specified above. Or it will trade around the clock those 3 days, if the time is not specified.
If you set Days=1,2,3,4,5 but with TradeStartStopbyTimeFriday=false, the EA will not trade on Friday.

It is also possible to set 1 day for optimization in the DayForOptimization parameter.
This option is useful to determine the most profitable days in optimization.
For example, DayForOptimization = 3, then the EA will trade only on Wednesdays.

You can set the trading to start on Monday and to stop on Friday, while the EA trades around the clock on the remaining days.
You can set the start on Monday and specific hours on other days.

-Added parameter:

OpenBarControlOnly – the EA operation on opened bars only. This mode allows to model the EA operation at the opening of bars (as in the strategy tester).

When this mode is enabled, the EA will trade just like in the OpenPriceOnly testing mode.

All! functions of the EA will be executed 1!! time at the opening of the bar (depending on the TF), including Modification, Trailing stop, Averaging, opening signals, etc.

Version 17.121 2017.01.27

Fixed error when testing with the AutoTrading button enabled
Fixed working with long tickets

Added 3 additional filters

– Added the EAPADPRO information panel
Details on the panel in our blog:
or https://www.mql5.com/ru/blogs/post/687140

The following data has been moved to the Strategy Info block:
OWN Signal = Name of the signal + Timeframe of the signal + Reverse
Current Signal = Current signal from the main indicator
Filter 1/2 – Name of the filter 1/2
Current Filter – Current signal from filters 1/2
BUY Average/Lot – Next averaging in points for BUY / Next averaging lot
SELL Average/Lot – Next averaging in points for SELL / Next averaging lot
Buy Additional/Lot – Next additional opening in points for BUY / Next lot for additional opening
Sell Additional/Lot – Next additional opening in points for SELL / Next lot for additional opening
Average Price Buy – Average price for BUY deals
Price Sell – Average price for SELL deals

Version 17.110 2017.01.13

Block of Averaging
-Fixed error with the DistanceMartin

Block of Parabolic SAR based trailing stop
-Added parameter TrailingStopSAR_TimeFrame – Timeframe of the SAR indicator for the trailing stop.
-To the МТ5 version: Added Parabolic SAR based trailing stop
TrailingStopSAR (true – false) step and maximum (parameters of the Parabolic SAR)
These parameters allow the modification of stop loss based on the specified Parabolic
The stop loss will be modified at every new value of the Parabolic SAR.
Accordingly, Buy is modified when the Parabolic SAR is below the price, Sell is modified when the Parabolic is above the price.

Block of signals
-Added parameter Signal_Reverse,Filter1_Reverse,Filter2_Reverse – they allow to inverse signals
based on specific indicators (Main signal, Filter 1 and Filter 2)
-Changed the MinuteToOpenNextPosition parameter (Allow opening the next signal after the last opened position),
if there are no open positions, the EA considers the time since the last closed position.
The time is considered for the same type. If the signal is BUY, the time is calculated from the last opened closed BUY….
-Changed the function for receiving signal when using signal inversion.
For example:

*If you use WPR as signal source, with the levels:
WPRHighLevel= -20;
WPRLowLevel = -80;
then:
Buy is opened, if WPR crosses WPRLowLevel (-80) upwards
SELL is opened, if WPR crosses WPRHighLevel (-20) downwards

*If you enable the option: Signal_Reverse=true
then:
SELL is opened, if WPR crosses WPRLowLevel (-80) upwards
Buy is opened, if WPR crosses WPRHighLevel (-20) downwards

*If you enable the option: Signal_Reverse=true and set the parameters:
WPRHighLevel= -80;
WPRLowLevel = -20;
then:
Buy is opened, if WPR crosses WPRHighLevel (-80) downwards
SELL is opened, if WPR crosses WPRLowLevel (-20) upwards

– added parameters for the MACD signal
MACD_BUYLEVEL=0;
MACD_SELLLEVEL=0;
Which are involved in determining the signal.
for example: MACD_BUYLEVEL=3,MACD_SELLLEVEL=-3
For the long trade, the signal crosses the MACD line and at the end of that candle the MACD is greater than 0 and MACD is less than 3,0 (the signal line and MACD line must be both above the origin and less than 3.0).
For the short trade, the signal crosses the MACD line and at the end of that candle the MACD is less than 0 and MACD is greater than -3,0 (the signal line and MACD line must be both below the origin and greater than 3.0).

-Added automatic checking and normalization for all stops to tick size on the current currency pair.
For example, if the tick size on the WING17 symbol is 5 points, then all stop loss and take profit values will be normalized.
For example, the contract price is 58840 and the automatic stop loss calculation resulted in 1211 points, the final stop loss will be normalized to 1210 points.

Version 16.995 2016.12.22

Automated calculation of commission and swap has been added to the Trailing Stop and Breakeven functions.
Now trailing stop only triggers after a position covers the commission amount.

Added limit of losses over 1 dayweekmonth
Limiting LimitFor – limit type dayweekmonth
LimitForLosses – profit based limit
LimitForProfits- loss based limit
LimitType – limit type on dollars, points, percent of deposit
ClosebyLIMITING – close EA;s trades when exceeding the limit
UseCurrentProfit – when calculating the limit, take into account current loss/profit

This feature can disable the EA operation, if it reaches a certain profitloss in the deposit currency during one daymonthweek. The EA will resume working on the next day/week/month
Example: LimitFor=DAY LimitForProfits=1 Close at a total profit of $10
You can also set LimitType for calculations. In dollars, points, percentage of the account balance.
If you need to close and delete all trades of the Expert Advisor once the limit is exceeded, you can set ClosebyLIMITING = true
UseCurrentProfit enables/disables the inclusion of current floating profit/loss into limit calculation

New signals:
AC – similar to the AO indicator
Ichimoku – crossover of TENKANSEN and KIJUNSEN lines,
If TENKANSEN is above KIJUNSEN – BUY
If TENKANSEN is below KIJUNSEN – SELL
Bar – trade in the direction of the bar
If candle Close is above the candle Open (Bullish candlestick) – BUY
If candle Close is below the candle Open (Bearish candlestick) – сигнал SELL

New filters:
AC – operation similar to AO
Ichimoku – positions of TENKANSEN and KIJUNSEN lines,
Bar – bar direction
Bar relatively MA – signals are filtered using the bar close price and the fast/slow MA
If the bar close price is above MAfast and MAslow – only BUY
If the bar close price is below MAfast and MAslow – only SELL

Bug fixes

Version 16.957 2016.11.10

Optimized the code to reduce the CPU load.
Added support for working on the Brazilian market.
Added the new variable:
SeveralTimeWork = EA working time via enumeration,
entry format:
start hour:start minute-end hour:end minute;start hour:start minute-end hour:end minute;
for example:
09:00-10:00;12:00-13:00;15:00-17:30;
means that the EA works from 9:00 to 10:00, as well as from 12:00 to 13:00, as well as from 15:00 to 17:30

Version 16.955 2016.10.31

Fixed a bug in breakeven MovingInWLUSE, where stop loss of a trade could be ranging between breakeven and triggered trailing stop

Version 16.945 2016.10.24

Fixed the error with stops
Added the MinuteToOpenNextPosition parameter – the number of minutes for opening the next trade based on the indicator signals. This parameter counts the number of minutes elapsed from the last opened position. It allows to filter trades when using the ONlyOnePosbySignal=false
Added the OpenOppositePositionAfterStoploss parameter – opening an opposite position when closing the current position by stop loss. It allows to open an opposite trade right after the stop loss of the previous is triggered without using the indicator signals.
Added the MAX_BUY_POSITION and MAX_SELL_POSITION parameters for limiting the maximum number of trades.

Version 16.940 2016.10.14

Added support for EA operation on hedging accounts. The EA can work on Hedging and Netting accounts!
Added the Magic number
Fixed the error in balance calculation in the block of closing by profit for the accounts that use the day trading mode and equal to 0.

Added new functions to the ‘Profit or Loss’ block:
TrailOptions – The number of profit “units”, after which profit trailing is activated;
TrailOptionsStep – Trailing step in “units”;
Trailing Stop at Closing
A new function for trailing profits has been implemented on user demand. In this case, the profit is fixed with some correction. As soon as the profit reaches the specified value, the Expert Advisor saves the current profit level and starts trailing the profit. If you made settings for closing at the profit of 10 dollars:

CloseProfit – Close in profit.
prifitessss – The amount to close in profit.
TrailOptions – the distance from prifitessss, when reached the profit trailing is activated.
If prifitesss is set to 10 and TrailOptions is set to 5, the Trailing Stop will be set at 5 dollars. The Trailing Stop will come into play when the Expert Advisor passes the 10 dollar line and start moving following the profit. The Journal will show entries about the current profit status.
When the total profit falls below the last fixed level, TrailOptions, the Expert Advisor will perform forced closing of all positions.

Improved the OnePosPerDirection parameter: Open 1 trade per 1 direction
For example:
if OnePosPerDirection=true and ONlyOnePosbySignal = false
then the EA can open 1 Buy according to signal and 1 Sell according to signal
if OnePosPerDirection=false and ONlyOnePosbySignal = true
then the EA can open only 1 trade according to signal, either Buy or Sell
if OnePosPerDirection=false and ONlyOnePosbySignal = false
then the EA can open any trade according to any signal of the indicators

Added the OnlyOnePositionPerMagic parameter: Opening 1 position per 1 magic,
The EA checks if there are open positions with the specified magic number on other currency pairs. If there are no positions – the EA opens a trade according to the signal, and other experts will wait for this trade to be completed.

Added the CloseChangeOnlyInProfit parameter – close trades in case of a reverse signal only when the current position is in profit.

Version 16.920 2016.09.23

New parameter Sounds – Use trade sounds
The parameters enables/disables sound for the operations of position opening, closure, modification, as well as sounds of errors returned by the server.

Version 16.909 2016.09.13

Updated the DistanceMartin parameter

Version 16.824 2016.08.29

Added new parameter to the ‘Averaging’ block – DistanceMartin – the ratio of averaging distance increase for each subsequent deal

Version 16.722 2016.07.26

Alert: This EA may not work on hedge account.

Version 16.601 2016.06.01

Returned the ReverseSignal parameter.

Version 16.526 2016.05.31

Added ability to select a timeframe for signals:
TF_IndSigToTrade1
TF_IndSigToTrade2
TF_IndSigToTrade3
Added the parameters MaxSpreadToNotTrade and MinSpreadToNotTrade
MaxSpreadToNotTrade – maximum spread, at which EA can open a position
MinSpreadToNotTrade – minimum spread, at which EA can open a position
Note: The filter is used only to open a position by signal or averaging. All other functions work as usual.

Version 16.428 2016.05.06

Fixed the error with MaxOrders.
Added a parameter to select the type of opened positions:
TypeTradeBUYSELL
BUYSELL;
OnlyBuy;
OnlySell;

Version 16.408 2016.04.12

Fixed making Journal entries at each tick in case of incorrect stops.
Added the SetMinStops variable:
In case of AutoSetMinLevel, stop levels are reduced to the minimum possible levels allowed on the server;
In case of ManualSet, a user receives a message that stop levels in the EA are less than the minimum allowed ones, and the EA stops operation.

Version 16.309 2016.03.23

Changed the procedure of lot calculation when using martingale.
Increases the last lot of the open position according to the last trade.
Fixed the time calculation for VPS.
Added Rounding parameter:
Without rounding – place stop orders without rounding
To 1 digit – rounding to 1 digit. For example, if Stoploss= 1.23456, the trade will be opened with a stop loss of 1.23450
To 2 digits – rounding to 2 digits. For example, if Stoploss= 1.23456, the trade will be opened with a stop loss of 1.23400

Version 16.226 2016.03.01

The updated version for the stock market:
– Fixed the error in the determination of the last lot, if the position was closed by several requests.

Version 16.105 2016.01.06

Redesigned the signals block when the IndSigToTrade and IndSigToTrade2 are selected.
Before: A trade opens only when the two signals match at the same time.
Now: If the IndSigToTrade signal appeared, then the FILTER_IndSigToTrade2 and FILTER_IndSigToTrade3 indicators are checked. If their signals go on, the trade is opened.
I.e. If the IndSigToTrade is selected as the main signal, then the FILTER_IndSigToTrade2 and FILTER_IndSigToTrade3 parameters only trigger as filters.

Version 15.994 2015.12.23

Added automatic detection of the order filling type.

Version 15.992 2015.12.17

Added separation of deals by parameters:
MaxOrders = maximum number of smoothing deals (deals against the main position);
MaxOrdersOpenAdditionalOpen = maximum number of additional deals (deals along the main position);

Version 15.991 2015.12.11

Fixed take profit calculation when opening an additional trend following trade from the ‘Additional opening’ unit
For an additionally opened trade, take profit is equal to the TakeProfit parameter

Version 15.981 2015.11.25

In signals of Stochastic RSI CCI WPR, added levels for the EA to count signals from.
Stochastic_BUYLEVEL=20;
Stochastic_SELLLEVEL=80;
Rsi_BUYLEVEL=30;
Rsi_SELLLEVEL=70;
CCI_BUYLEVEL=-100;
CCI_SELLLEVEL=100;
WPR_BUYLEVEL=-80;
WPR_SELLLEVEL=-20;

Version 15.956 2015.10.28

New block in sets:

AdditionalOpen – use opening additional orders by trend;
DistanceAdditionalOpen – distance of opened grid positions, adding by trend;
LotsMartinAdditionalOpen – increase lot for a position grid;
MaxOrdersOpenAdditionalOpen – maximum additions, 0 – unlimited.

If you want to open additional positions by trend (for example, if you buy and the price goes up through DistanceAdditionalOpen points, a new position should be opened equal to “previous lot * LotsMartinAdditionalOpen”). The maximum amount of deals in a single position should not exceed MaxOrdersOpenAdditionalOpen deals.

Version 15.943 2015.10.26

Version of October 23:
added option CloseAllTradesByOutOfTime
When using the trading permission block:
input int OpenHour = 0;
input int OpenMinute = 0;
input int CloseHour = 23;
input int CloseMinute = 59;

If CloseAllTradesByOutOfTime open positions remain after the time is up – all positions are closed.

Version 15.821 2015.08.27

Now you can select an indicator by its name as a matter of convenience

– NO=0 – No signal
– Ma=1 – Moving Average
– MACD=2 – Moving Average Convergence/Divergence (MACD)
– STOCH=3 – Stochastic Oscillator
– RSI=4 – RSI
– CCI=5 – Commodity Channel Index (CCI)
– WPR=6 – Williams Percent Range (WPR)
– BB=7 – Bollinger Bands
– Envelopes=8 – Envelopes
– Alligator=9 – Alligator
– OsMA=10 – Moving Average of Oscillator (OsMA)
– AO=11 – Awesome Oscillator (AO)
– ISH=12 – Ichimoku

Version 15.618 2015.06.19

Updates for brokers using IOC order filling type.
Fixed averaging error.

Version 15.601 2015.06.02

The Expert Advisor has been updated to adjust to the new terminal build.
Removed the limitation on the minimum averaging distance.

Version 15.123 2015.01.26

Fill policy parameter has been added to the external parameters:
TypeFilling=FillOrKill

FillOrKill
This fill policy means that an order can be executed only with the specified volume. If the required volume for a given financial instrument is currently unavailable in the market, the order will not be executed. The required volume can be filled using several offers currently available in the market.

ImmediateOrCancel
This means that a trade will be executed with the maximum volume available in the market within the value indicated in the order. In case entire order volume is not available in the market at the moment, a partial fulfillment is possible, but any portion that cannot be filled immediately is canceled.

Return
This fill policy is used for market, Limit and Stop Limit orders and only in the Market Execution and Exchange Execution modes. In case of partial filling a market or Limit order with remaining volume is not canceled but processed further.
When a Stop Limit order triggers, a relevant Limit order will be placed with the Return fill policy.

Version 14.409 2014.04.10

Works on ECN account – updates the list of orders using a delay.
Modifies stop loss and take profit after opening the position.

Version 14.116 2014.01.30

– Added check for errors.
– Added logging of actions of the EA.
– Fixed Martingale used for averaging.

Version 13.916 2013.09.25

After a deal is closed a new signal can be generated only for opening an opposite deal.

Version 13.820 2013.08.20

Amended the autolot function for brokers that have symbols with suffixes. For example, EURUSD.m.

Version 13.813 2013.08.13

Updated TrailingStop function.
When using initial trailing stop and a set of signals for modifying the stop loss, the initial stop loss is reset and the TrailingStop function starts working instead.

Reviews about The X

Deniz90

⭐⭐⭐⭐⭐


Deniz90 2021.11.10 18:17
Excellent EA, providing endless opportunities. The author is very helpful and responsive, definitely recommended.

Manuel Sanchez

⭐⭐⭐⭐⭐


Manuel Sanchez 2023.10.22 03:09
Great EA. Just do your homework and you will find a good strategy. I love the interface panel. 5 start. Thanks to the programmer.

leachimk

⭐⭐⭐⭐⭐


leachimk 2016.09.04 14:40
Присоединяюсь к словам предыдущего автора. Советник обладает всеми необходимыми инструментами для успешной торговли. Ключевое слово - оптимизация. Особая благодарность разработчику за то, что он постоянно продолжает усовершенствовать советник. Респект и так держать!

Evangelos Skikos

⭐⭐⭐⭐⭐


Evangelos Skikos 2022.08.22 00:46
I have been working with universal x for 3 years, you can easily make an EA, which sells for $1000 to $12.483 the only thing missing is a good recovery, for now i'm doing recovery with VirtualTradePad.....I believe that in some time the author will add a very good one!!!

Suhail Chougule

⭐⭐⭐⭐⭐


Suhail Chougule 2022.08.08 07:26
Hi All below was my earlier review , After my issue got resolved , I would say hats off to the kindness and prompt action of the author of this EA. My issue was my mistake in understanding the EA. There was no bug in it. It is an excellent product. Though I would like to add to the features of the product 1) Separation of configurations especially indicators for Buy and Sell. For example I generally look at lows i.e. moving average of lows for my buying signal and RSI of high and vice versa for Sell signal. If we can some how have separate configuration for indicators it would be good. 2) Bars Bear/Bull if we can get also to provide time gone after bar started after which to consider buy or sell would also be very good. ----------------------Below is start of my earlier review left over here for reference------------------------- Interestingly I was working on older versions of this EA and the autolot was working as per my understanding and now the auto lot has gone bad. No matter what I put it does not take it. Only starts with fixed lot of 0.01 i.e. that is minimum lot. Also fixed lot is not working what ever you fix it goes to the minimum lot i.e. 0.01. Please fix this bug ASAP. I have sent you the details on the comment section kindly look into it please!!! ---------------------------------------------End of my previous review--------------------------------------------------------------------

Diego Venceslau Da Silva

⭐⭐⭐⭐⭐


Diego Venceslau Da Silva 2022.03.01 16:10
Excellent EA. It actually represents in practice everything we ever wanted to jump from the pages of technical analysis manuals. Even creating complex configurations such as being able to generate signals with different timeframes, increasing the probability of success, learning that each indicator has its configuration concomitant with the asset that you want to trade. The EA gives you the freedom to create your own strategy, not having to be tied to other EA's that force you to be tied to a single person's strategy and hostage to periodic updates. Anyway, for the price you pay, this EA is simply a gift. Thank you Vladislav.

Rudolf Strahm

⭐⭐⭐⭐⭐


Rudolf Strahm 2022.01.05 16:57
Hallo Valdislav habe noch nicht sehr viel mit dem The X Full gearbeitet Habe heute mein Tick Sniper auf der Platform Admiral Maket MT5 mit VPS in Betrieb Genommen mit EURUSD mit Konto von 1000E kann ich noch 2 weitere FX Paare auf dem gleichen VPS Starten ?. Habe noch andere Programme von Dier. Mir gefält das Desigen und die Immer Gleiche Struktur in der Darstellung auf dem Desktop Bin begeister von Deine Erklärungen . Sori für Nur Deutsch aber googel hilft ja Heute gut bin der Ruedi ein älteres Kalliber Gruss Ruedi

Suhail Chougule

⭐⭐⭐⭐⭐


Suhail Chougule 2021.07.18 10:41
Excellent Software but needs bit of additional features 1) For Buy and Sell Signals --> Different Indicators i.e. MA on high for buying and MA on low for selling. 1.1) Restrictions i.e. RSI more than 70 disable buy signals, RSI less than 30 disable sell signals. 1.2) Additional opening given on new signal should also be percentage of equity or balance rather than fixed. 2) Same configurations to be available for all i.e. Martingale, Averaging, Additional opening.

Tyler Roberts

⭐⭐⭐⭐⭐


Tyler Roberts 2021.05.31 21:21
This is by far the best expert I have purchased. It's a little complicated at first but after you play around and learn the functions it works great. The only EA I have made consistent money from! check my signals, those are all using this expert

Iceberg0010

⭐⭐⭐⭐⭐


Iceberg0010 2021.05.28 16:20
Крутой конструктор, радует обширный диапазон настроек. Аналогов по сути нет - ценник крайне адекватный для такого комбайна

AAron

⭐⭐⭐⭐⭐


AAron 2021.05.20 16:44
excellent

julia-Tkachenko

⭐⭐⭐⭐⭐


julia-Tkachenko 2021.03.24 13:36
Супер навороченный комбайн на стандартных индюках. Класс!

Sammy Boy

⭐⭐⭐⭐⭐


Sammy Boy 2020.10.28 12:04
Excellent work Vladislav! thank u

jon alfredsson

⭐⭐⭐


jon alfredsson 2020.10.10 13:14
sisadar

Evolve

⭐⭐⭐⭐⭐


Evolve 2020.06.16 10:45
500++ in 1 EA, Unlimited settings if u know how tune the various built-in indicators in the EA.

Guilherme Jose Mattes

⭐⭐⭐⭐⭐


Guilherme Jose Mattes 2020.02.16 02:26
Most complete EA in the MQL market! Great!

Patrik Stefan Lindell Lagerman

⭐⭐⭐⭐⭐


Patrik Stefan Lindell Lagerman 2020.02.12 20:44
Very good product and support.

MrBoMT5

⭐⭐⭐⭐⭐


MrBoMT5 2020.01.27 00:48
Hello, everyone. For important reasons I had to make a correction to the old text. (This is a translation)

PWD 3

⭐⭐⭐⭐⭐


PWD 3 2020.01.10 15:18
Nice!

avtal

⭐⭐⭐⭐⭐


avtal 2019.12.25 21:01
This is one of the great EAs available in the MQL community. The best universal EA for MT5. It has many features and can be configured countless strategies. Everything works great. The author provides support and keeps EA up to date with new versions of MT5. Thank you.

Ramazan Turkhan


Ramazan Turkhan 2019.05.07 12:01
dangerous ,your account may blow up , i lost most money ,be careful ...
Vladislav Andruschenko
Reply from developer Vladislav 2020.10.16 18:22 
You set up this EA yourself. choose your own strategy. this is a constructor. Please read my instructions and optimize the EA for your strategy.

xxtra

⭐⭐⭐⭐⭐


xxtra 2019.02.03 19:42
User didn't leave any comment to the rating

jds12

⭐⭐⭐⭐⭐


jds12 2019.02.03 23:00
Its a great product, used it for awhile now and can set up time frames, stop orders, limited stop orders, close profit and many more combinations. Just finding the right combination and level you are comfortable with just takes time, so best to use demo account to test first before going live. Keep up the great work.

talha8877

⭐⭐⭐⭐⭐


talha8877 2018.12.16 18:53
This EA makes profit if you keep testing and testing until you find the best optimization. I think it's the best Universal EA out there. My only problem would be to add custom indicators that are not included in this advisor but Vladislav created The CustomX version for that, it's basically the same EA but with the ability to add your custom indicators or other third party experts.

baixorj

⭐⭐⭐⭐⭐


baixorj 2018.12.14 16:44
HI, I bought the software The X and I need to install him again, to another MetaTrader, of the other Broker in the same computer. But I can't find a way to download to the another Metatrader. Help me, please. (Portuguese) Eu comprei o software The X e preciso instalá-lo novamente, para outro MetaTrader, do outro Broker no mesmo computador. Mas não consigo encontrar uma maneira de baixar para o outro Metatrader. Ajude-me, por favor.

paulopnk


paulopnk 2018.12.12 13:52
Olá Amigo, o martingale travou em 5 lotes e o mercado começou a cair e estourou minha conta! como ajustar este parâmetro!

foonet


foonet 2018.10.17 23:07
j'ai loué cet EA EXP THE X FULL pour un seul moi et impossible pour moi de changer les paramètres le nombre de position trois 3 maximum comment modifié le nombre de position achat et vente plusieurs en même temps philippe

reza sadeghi


reza sadeghi 2018.06.11 12:18
It is a default that is non-profit and all display settings are the same as the default ones. Not available for personal settings. You can not customize it.
Vladislav Andruschenko
Reply from developer Vladislav 2020.10.16 18:28
You can customize all settings. Please read my guide

Markkm

⭐⭐⭐⭐⭐


Markkm 2018.05.30 01:50
My Favorite Advisor! It took me a while to get used to all the functionalities that this program can offer. It's really well done. Thank you Vladislav!

david mackay

⭐⭐⭐⭐⭐


david mackay 2018.05.14 22:15
The author has done an amazing job of combining many features. Author is fast to respond to support requests. You can not beat the support that this author provides. Quick to respond to problems and very fast to find solutions to correct things. I had a very tough and difficult to find problem that he diagnosed within a couple minutes and got me running again... nothing to do with the software but with the broker feed. Most impressive!! I am truly amazed at what this program can do, a person can actually pay for the cost in one or two days of trading. We need to look at his articles to get details on all of the variables, there are excellent explanations. I heartily recommend this to anyone who wants to create profitable experts.

Al Bundy


Al Bundy 2018.04.20 16:58
1. No good support, because one has to test the settings. I think, the minimum would be for a paid product, that the author delivers a setup with a minimal gain and explanation of basic functionallity. I asked for good parameters for EURUSD but Author wrote test, test, test for good settings. After dozens hours of testing, I have still not found, how combination of SL, trail, TP and so on brings profit. For now it is a loose maximizer! 2. Lost much money, because parameter combinations are so complex and strategy tester showed only 20% draw back, but in real it was margin call. This is, because averaging is very dangerous in a market against trend and cannot win, if trend does not change. 3. One option overrules others, without documentation. Log files don't show, why positions be closed or not opened. 4. Explanations are often: dynamic Lot = dynamic Lot. It is not enough to bring the parameter name to a sentence. Rather should be explained, what will be done, why and which other modifiers are to be considered. 5. Some Parameters are missing - seems, that the documentation is not actual. 6. The documentation is a mixed version for MT4 and MT5, what leeds to mess or misunderstoods. 7. The hint, VirtalStopLoss doesn't work in MT4 with strategy tester is not sufficient - how should one test with a broken product! This is a key feature for every broker which needs VirtualStopLoss! This I have to wrote, although I have translated the complete documentation. 8. It is simply too complex...  
Vladislav Andruschenko
Reply from developer Vladislav 2020.10.16 18:24 
This is a constructor. Please, if you want to use a fully built and automated Expert Advisor, you can try my TickSniper.TICKSNIPER PRO high-speed tick scalper with auto-selection of parameters for each currency pair automatically.

pazlsman

⭐⭐⭐⭐⭐


pazlsman 2018.04.11 18:27
Отличный конструктор. Рекомендую. Оптимизируйте как минимум ежемесячно. Автору респект!

Borosoiu Lucian

⭐⭐⭐⭐⭐


Borosoiu Lucian 2018.04.03 13:16
This is truly a powerful EA, it's vast indicators and functions turns really useful when creating a custom strategy. It's difficult at first until you understand what all the inputs are for, but after this you can do almost everything with it. With good data (99%) and continuous back-testing I've managed to obtain impressive results, testing from 01.01.2013-01.02.2018 turned 10000 to 8564777 (!!) (i admit with big risks - 76%DD and 193% margin level, but most of it because of the 50 lot limit that brokers have, making the averager not work at its best). Let's see in real life how much it makes. Also the author Vladislav is still involved in the product, continuously adding new functions and improving it, and also very receptive to clients needs and ideas, with very fast support. I highly recommend the product, with a good strategy I really think it can make you money.

Luigi Vella

⭐⭐⭐⭐⭐


Luigi Vella 2018.01.06 18:33
The best universal ea of the market

Syed Akbar Ali Jaffry

⭐⭐⭐⭐⭐


Syed Akbar Ali Jaffry 2017.12.28 17:34
WOW!!! Congratulations for your Wonderful Work and An Amazing EA!!! Endless Possibilities for the Creativity!!!! And Of course At A very Special Price! Thank You So Much!

Atila R Akdeniz

⭐⭐⭐⭐⭐


Atila R Akdeniz 2017.12.14 09:28
I have investigated dozens of Universal EA's in the market, and I came to the conclusion that this is by far the most superior product available, and excellent value for its price. It is not a simple product and you need to spend time to understand its details (otherwise you might end up complaining that you can't control the product, as the previous reviewer seems to have done), but it provides a far advanced functionality compared to other Universal EAs. If you want something simple to set up with limited functionality, there are many other EA's at a fraction of its price, but with those other EA's you will only get a fraction of the functionality that this product offers. (No, I am not paid by the designer to write this :)) I rented the MT4 version for a month and bought the MT5 version as well (as I have both type of accounts), they both work very well and they are very reliable. Vladislav offers a very responsive service and excellent customer support. Yes there might be some language issues as he is not a native English speaker, but if you ask him the right question, you will always get the right answer and very quickly. He has updated the product a number of times, to fulfil requirements and requests from his clients (obviously there is a limit to that and you can't get free programmer services from a product designer). So in summary, 6 stars for the product and the customer support.

Atila R Akdeniz

⭐⭐⭐⭐⭐


Atila R Akdeniz 2017.11.27 04:43
Great product, great customer service. 6 stars!!!

omi99


omi99 2017.10.29 04:07
at first glance, this is an interesting program, so i bought it. However, for the following critical issues, i can not recommand to using it: 1. the program has no systematic user manual/guide, the settings have no clear meaningful name and there is nowhere to find what means the settings. For this reason, one may get lost due to the banch of settings. Furthermore, some settings are conflict with eachother. 2. there are bugs in the program, its behaviors can not be fully controlled by it's setting parameters, or, there are hidden settings which are not visible to the users and can override the visible settings. 3. beside the issues above, the support from the author is poor. The author doesn't answer the questions correctly, or can not understand the question. it's possible that the author is also get lost with the confusing settings.
Vladislav Andruschenko
Reply from developer Vladislav 2020.10.16 18:25 
You can read my full guide for all ℹ️ℹ️ℹ️ All guides and full instructions on my blogs https://www.mql5.com/en/users/vladon/blog ℹ️ℹ️ℹ️

Markkm

⭐⭐⭐⭐⭐


Markkm 2017.10.27 15:29
Complete product with excellent support. 5 stars with no doubts.

Manuel Angel Garcia Montoro

⭐⭐⭐⭐⭐


Manuel Angel Garcia Montoro 2017.08.31 12:54
For me the best EA in the market and more complete, good technical assistance solving doubts and errors.

david mackay

⭐⭐⭐⭐⭐


david mackay 2017.07.21 16:13
This product offers a multitude of excellent features, far too many to list here. One thing that is important to many people buying this product is the level of support..... and I have found support to be fast and excellent. It is easy to produce excellent strategies quickly using this tool. Update: Having used the ea for a few years, I must say it is excellent. I use it for prop trading, 28 pairs, every day it produces excellent profits and a minimum of losses. You should give this ea a long look if you want permanent success.

Ramon Chaib

⭐⭐⭐⭐⭐


Ramon Chaib 2017.04.28 18:37
Excellent EA and support.

Kenneth Petersen

⭐⭐⭐⭐⭐


Kenneth Petersen 2017.03.24 11:46
I have purchased quit a few EA here, but only 2 so far have made a profit for me, and this is the one, of cause it depends on the strategy,and this EA gives you the possibility to tailor your strategy precisely, and this EA are frequently update with new features that are requested from users. get this as you first EA, and lets see if you need another.....

Andrey Souza

⭐⭐⭐⭐⭐


Andrey Souza 2017.01.20 00:08
Top! O EA funciona perfeitamente.. basta cada um saber montar seu set. adequadamente! /// Top! EA works perfectly .. just let everyone know how to set up your set. Properly!

jianototi

⭐⭐⭐⭐⭐


jianototi 2017.01.18 18:25
Vladislav, what I would Say on You is not enough. Professional, workaholic, perfectionist, and Humble genius. the EA work perfectly due to your continuous interventions. Still working with me closely to find Quickly the solutions. just to say I am still testing the EA Settings or things are Positive till this moment.

Tommaso Santarelli

⭐⭐⭐⭐⭐


Tommaso Santarelli 2017.01.13 16:54
User didn't leave any comment to the rating

Ingener73

⭐⭐⭐⭐⭐


Ingener73 2017.01.12 05:53
Все работает как швейцарский хронограф. Если мощный комп то можно настроить бесчисленное количество окон с разными настойками на максимально зажатую работу индикаторов. Каждое окно в среднем дает одну сделку в день но качество ордера в среднем на уровне 87%. И у хорошего поставщика (от 100 и более торговых сигналов)происходит тоже самое как кинуть килограмм дрожжей в деревенски сортир в жаркий день, но только в хорошем смысле не оскорбляю автора и его творение. Спустя годы работы с данным экспертом я решил скорректировать свой комментарий сделаный в начале 2015года. Я считаю это лучший эксперт с которым мне приходилось работать, а разработчик самый отзывчивый и расторопный.

Dennis22779

⭐⭐⭐⭐⭐


Dennis22779 2016.12.01 13:27
I can recommend this top EA. The EA works very well and is high profitable. You can change a lot of settings and you can optimize the EA for every market that you like to trade. Of course you have to backtest and to try the new setting before you will use the EA on a live Account. And in this case you have also to choose the right Lotsize in depend of your Account. The EA is running on my live Account in multi currency pairs with different Settings and in different Timeframes. I tried a lot of Settings for every market because market is not like market and the price which i paid ( 100 USD ) i got back already. For me it`s a very good EA and the rest is up to you! Also the price is really unbelievable and amazing.

rpltrade


rpltrade 2016.11.23 09:46
Your EA doesnt use SL and I lost half of my money. In EUR USD, the EA keeps on buying positions from 1.18xx level and the lowest is 1.09xxx. It should have cut loss much earlier but it didnt. Up to now the 1.18 has not been reached. I could have lost more but I seeked help and exited when the market surged to 1.08xxx.
Vladislav Andruschenko
Reply from developer Vladislav 2020.10.16 18:25
Please write and attach full logs from ea.

gsplentz

⭐⭐⭐⭐⭐


gsplentz 2016.10.31 13:33
For me its the best system for the money i have found by far...its very large set of parameters make this system almost impossible not to find the right combination for diferent kinds of markets !

Vladimir Glazkov

⭐⭐⭐⭐⭐


Vladimir Glazkov 2016.10.06 09:28 5 Советник хороший, работает четко по имеющейся стратегии, но если стратегии нет - я бы сказал бесполезен. Настроек просто дико много и искать свою стратегию на основе этого конструктора будет очень долго. Пока все наладишь в "производство" - рынок сменится. Я вот, например, свою еще не нашел, поэтому прошу разработчика дополнить данный советник еще парой функций. Нужно добавить функцию разворота позиции по отложенным ордерам при неудачной сделке. Т.е. открывается ордер по сигналу одного из индикаторов в базе и одновременно выставляется отложенный ордер в противоположном направлении на уровне СЛ сработавшего с возможностью использования мартингейла. И так до бесконечности до ТП. Еще нужно ограничить время действия или количество баров для отложенных ордеров. Проблема в том, что однажды его выставив, советник больше их не убирает, пока не появится сигнал на другой отложенный ордер или ордер не откроется по этому. Также в функции "открывать несколько ордеров по каждому сигналу" их открывается просто дикое количество, особенно если использовать Alligator. Поэтому предлагаю их ограничить количеством открываемых ордеров и/или открывать следующий ордер по времени, например, минут через 5 или 30, если будет сигнал, можно открыться... А так это идеальное решение для тех, кто постоянно генерирует и тестирует свои стратегии. С помощью данного советника не нужно долго тестировать в ручном режиме свои стратегии или периодически оплачивать программистов на написание бесполезных советников, с тем условием, что он позволяет не просто искать стратегии и обкатывать их, но ещё и работать по ним! PS. можно вообще продавать/покупать рабочие и прибыльные сеты к этому роботу))

Alexander

⭐⭐⭐⭐⭐


Alexander 2016.06.13 17:51
Мне понравился. Тестил по разному. Очень гибкие настройки. Он один заменяет несколько сов. Алгоритм работы супер. Автору огромная благодарность.

qwe trader

⭐⭐⭐⭐⭐


qwe trader 2016.05.03 00:31
Very good and at an affordable price. It allows a multitude of configurations, and everything works perfectly. Congratulations to the author !!

Comments

Leave a Reply

Extra



The X and The xCustomEA: Testing and Optimization


EA The xCustomEA Universal Trading Expert Advisor (EA) on iCustom indicators.

Useful links


Download MetaTrader

How to buy How to install Strategy Tester MT4 Log Files MT5 Log Files VPS MetaQuotes

Navigation by tabs

Main Documentation Settings FAQ Changelog Reviews Comments Extra

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

This website uses cookies to improve your experience. By using this website you agree to our Data Protection Policy.
Read more