Download Tick Hamster
Download CloseIfProfitorLoss
Universal indicator advisor for MetaTrader with a wide range of functions, working on standard indicators.
With our Expert Advisor, you can select from 20 signals and 5 filters and customize over 100 parameters to suit your trading strategy.
If you are looking for an advanced tool to help you trade on MetaTrader, you might want to consider using a universal indicator advisor.
This powerful software solution offers a wide range of functions and can work with standard indicators, providing you with real-time data and insights to make informed trading decisions.
With its ability to analyze market trends and identify potential entry and exit points, a universal indicator advisor can help you maximize your profits while minimizing risks.
Whether you are a seasoned trader or just starting out, this tool can be an invaluable asset to your trading strategy.
Main Documentation Settings FAQ
Changelog Reviews Comments Extra
Changelog:
Version 24.934 2024.10.04
Fixed a bug in the parameters:
input double AdditionalLots=0; //AdditionalLots –> Additional lot for each new Signal
input double CoeficienteLots=1; //CoeficienteLots –> Coeficiente lot for each new Signal
At the first launch and in the absence of open transactions – Expert Advisor set the minimum lot. – Fixed.
Version 24.918 2024.09.18
EAPADPRO v59
–Enhanced Graphical Interface Translation
–Introduced Informative Tooltips for Panel Elements
–Resolved Minor Bugs and Boosted Stability
Version 24.805 2024.08.05
EAPADPRO v58
Fixed error in profit/price/time of closed position in notifications.
Fixed INFOBOX error when deleting the EAPADPRO window.
Last build compilation
Version 24.728 2024.07.29
Compi led in the last v ersion of MT4
EAPADP RO v57
Version 24.413 2024.04.13
Fixed: BUY/SELL buttons are enabled by default for the Strategy Tester to test Utility in the Strategy Tester
Version 24.409 2024.04.09
4270 Recompile
Version 24.404 2024.04.04
Global Update EAPADPRO v55
–Added: information about profit from closed positions to the chart.
The information is displayed for each bar of the current timeframe.
You can change the timeframe to see the result of trading on a certain bar of the current timeframe.
If several positions/deals are closed on one bar of the current timeframe, the trading result is summarized, and the total information for a certain bar is displayed.
The information is updated when the next position/deal is closed.
You can turn off showing history in the panel settings.
===========================================================================================
–Added: The status of the Expert Advisor operation if it was launched on the server from “VPS MQL MetaQuotes”.
When Expert Advisor is running on the server from MetaQuotes, a message will be created on the home computer that Expert Advisors are running on the server “VPS MQL MetaQuotes”. The smiley face is blue.
Attention: If an Expert Advisor is launched on both the server and the home computer, it can trade in parallel on 2 terminals (server “VPS MQL MetaQuotes” + home computer); there may be conflicts.
Attention: If the Expert Advisor is launched on the server “VPS MQL MetaQuotes”, do not Turn it on work on the home computer to avoid conflicts.
Frequency of polling the status of work on the server = 1 day.
After deinitialization of the Expert Advisor on the server – It will get the status – stopped.
To test the work on the server from “VPS MQL MetaQuotes”, pending orders are created!
===========================================================================================
–Added: The error status of the Expert Advisor operation can now be read on the EAPADPRO panel.
You can click on the Smile or the Expert Advisor operation status bar and you will be shown a message about current errors of Expert Advisor operation.
If you click on the Smile button on the panel, you will be shown the causes and errors and their solutions with pictures.
===========================================================================================
–Added: Notification of errors and opening/closing of trades to the chart in the form of InfoBox.
Notification is shown for 4 types:
—Opening a new trade;
—Closing a deal;
—Modification of a trade;
—Error received by Expert Advisor from the server;
In the EAPADPRO panel settings, you can turn on or off the notification type you need.
Notifications can be viewed as they arrive in the notification queue.
Notifications are accumulated in a data array each time you install/reinstall/change Expert Advisor settings.
In the EAPADPRO header you can also enable disable INFOBOX.
===========================================================================================
–Added: Working with Telegram (Beta version)
For Expert Advisor to work with the Telegram bot, you need to set up the bot on your phone and create a “public” or “private” channel.
To receive notifications from your account, you need to assign your bot as an administrator of your “public” or “private” channel.
Attention! Sending notifications and working with commands takes computer resources! Use the Telegram bot only for your own needs.
New settings for working with Telegram:
EAPadPRO2=” =============== Telegram bot “;
==input ENUM_UPDATE_MODE TG_UpdateMode=UPDATE_SLOW –> Update Mode. Timer speed, to receive commands from Telegram bot. The faster the timer runs, the more computer resources will be used! Please do not change it unnecessarily. 2sec,3sec,10sec
==TG_PRIORITY=TG_HOME_VPS –> Priority of work. This is the priority mode when the Telegram bot works on the MetaQuotes VPS server and your home computer.
TG_HOME_ONLY=1, // Only the HOME bot. The Telegram bot works only on the home computer.
TG_VPS_ONLY=2, // Only the VPS bot. The Telegram bot works only on the MetaQuotes VPS server.
TG_VPS_HOME=3, // First VPS bot, second HOME bot. The Telegram bot works on the MetaQuotes VPS server if you upload it to the server. If not, it will work on your home terminal. Check the work on the VPS server every 10 minutes.
TG_HOME_VPS=4, // First HOME bot, second VPS bot. The Telegram bot works on a home computer, but if the home computer/terminal is turned off, it will work on the VPS server from MetaQuotes. Check the VPS server’s work every 10 minutes.
Attention! Screenshots are not available on the VPS server from MetaQuotes!
==TG_Token=”” –> Token bot. Token (unique code) of the bot that will send notifications and receive commands
==TG_ChannelName=”” –> –> Public Channel Name @. Or “private” ID starts -100 of the private channel. That will send notifications about opening/closing/modification/errors and screenshots from the terminal.
==TG_UserNameFilter=”” –> Whitelist Usernames. List of users, starting with @, who can use the bot.
Attention! Sending notifications and working with commands takes computer resources! Use the Telegram bot only for your own needs.
==TG_UseBotTimer=false;//TG_UseBotTimer –> Working with the bot from the phone
New notification type added to EAPADPRO panel settings:
==Notice Open TG – Send a notification to the Telegram channel if a trade is open;
==Notice Close TG – Send a notification to the Telegram channel if a trade is closed;
==Notice Modify TG – Send a notification to the Telegram channel if a trade is modified;
==Notice Error TG – Send a notification to the Telegram channel if an error is received;
==ScreenShot TG – Send a screenshot to the Telegram channel if a trade is opened or closed;
Attention! This is a beta version of working with the Telegram bot. We are working on improving and adding new features.
If you have any suggestions, please write in the “Comments” section.
===========================================================================================
–Improvement: Code optimization to increase speed.
–Improvement: The speed of the panel update in the strategy tester is now calculated automatically depending on the speed of quotes arrival.
This is done to increase the speed of the program in the strategy tester.
Information update is now equal to 1 real second.
–Improvement: The speed of the program running EAPADPRO in the strategy tester.
Attention! Events in the strategy tester are processed only when a new tick is created.
If a new tick (minimum price movement) is not created, then the panel waits for the next tick.
With Visualization:
Version 48: 390sec (TickSniper 2024-2024)
Version 55: 244sec >>159% (TickSniper 2024-2024)
w/o Visualization:
Version 48: 363sec (TickSniper 2020-2024)
Version 55: 220sec >>165% (TickSniper 2020-2024)
with Visualization:
Version 48: 15750sec (TickSniper 2020-2024)
Version 55: 6220sec >>253% (TickSniper 2020-2024)
–Improvement: The color of the button to close a position on the chart changes depending on the current profit of this position.
–Improvement: Graphic improvements to optimize the Expert Advisor’s performance
–Improvement: The account deposit Symbol is cent ¢, USD $, or eur €. All others are the first letter of the deposit currency name.
–Improvement: When visual testing is completed, objects are not removed from the graph.
–Improvement: When creating screenshots after opening/closing positions, the EAPAPDPRO Control Panel will be expanded to show full information.
This is done in order to study the trading history of Expert Advisor on the visualization graph after testing is completed.
–Fixed: Managing positions and orders from the chart when the panel is minimized.
–Fixed: Corrected the error of clearing the chart from unused order labels.
–Fixed: AutoSize when switching charts.
–Fixed: Drawing errors to Print when the Expert Advisor runs on “VPS MQL MetaQuotes”
Version 24.208 2024.02.08
Update in the latest version of Terminal 4169
Version 24.127 2024.01.27
EAPADPRO v48
+Added full control from the chart. Closing positions/orders, removing stop loss / take profit.
For full management and testing of Expert Advisor in the strategy tester.
+Added languages Chinese, Japanese, Korean, Turkish.
Version 24.125 2024.01.26
EAPADPRO v47
Version 23.999 2023.12.27
LAST BUILD
EAPADPRO v46
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.
This post is also available in: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어