VirtualTradePad is a control panel for working with orders in МetaТrader 5 : buy, sell, buystop, buylimit, sellstop, selllimit, close, delete, modify, trailing stop.
VirtualTradePad won 2nd prize in the "Best Graphic Panel in the MQL5 Language" Contest.
The panel consists of 5 tabs.
Lite is a demo version
Full version panel for the МetaТrader 4 terminal.
Full version panel for the МetaТrader 5 terminal.
- Works on any account type and broker.
- Does not require specific skills.
- Simple and intuitive interface.
- Only the most important functions.
- Quick response to any command.
- Trade using the keyboard or buttons on the chart.
- Positions tab is for working with positions. It includes: opening BUY and SELL, closing, reversing, locking, changing stop loss and take profit, modification, activation of trailing stop, closing only profitable positions, closing only unprofitable positions.
- Orders tab provides the work with pending orders. It includes: placing, deleting, building an order grid, working with the distance. Also, working with the magic button, which allows placing pending orders on the chart and snapping stop loss and take profit values at your levels and lines.
- Signals tab shows signal from 10 standard indicators and 8 timeframes. It also shows the cumulative percentage of signals in the BUY and SELL directions. It is also possible to open positions automatically when the cumulative signal is exceeded.
- INFO tab displays the current specification of the selected symbol, the current stop loss and take profit targets, as well as the profit for the current day, past day, week, month.
- CLP tab manages the function for closing by total profit or loss. It allows setting the profit and loss values in points, USD, percents, closing the BUY/SELL directions separately, enabling virtual stop loss and take profit, and checking each position separately. This tab also provides the option to trail the obtained profit.
- When a position is successfully opened, you will hear a sound similar to the same action in the terminal;
- If there is an error, you will hear the error sound;
- You cannot place a stop order at a level less than allowed on the trade server or 0;
- On the BUY and SELL buttons, the change of the Ask and Bid prices is displayed with arrows;
- The information panel displays the currency pair, the open position volume and the total profit for the currency;
- There is an option in the input parameters: show/hide tips on mouse over a button, you can also select the language of the tips English/Russian;
- The Close button stops the application;
- The Maximize/Minimize button collapse/expand the pane on the chart;
- The pane can be moved on the chart. To do it, click the upper part of the pane near the Close and Minimize buttons, and then move the pane to a desired position.
ClosingCurrentTicketOnly - Close only the current list of tickets.
This option will help to avoid problems when my program starts to close positions on the basis of total profit, and the user's adviser starts to open new positions.
ClosingCurrentTicketOnly = true, Then the VirtualTradePad program, if the total profit conditions are met, will close the current list of positions. If new tickets are added to the list of positions, the VirtualTradePad program will ignore them.
ClosingCurrentTicketOnly = false, Then the VirtualTradePad program, if the total profit conditions are met, will close all positions, even if another adviser opens new positions.
- Show_Future_Line function improved:
will draw the levels of a future deal only when the user moves the cursor to the opening buttons of BUY SELL;
When you hover over the Buy or SELL buttons, the graph will show the lines of the future position, stop loss and take profit;
- The Show_AveragePrice function has been improved:
A new text label has been added with information about the future middle line (price information in which all positions in one direction will have a total profit = 0), taking into account the current open positions in one direction and taking into account the future open lot of the same direction.
In other words: Now not only the current middle line is shown, but also the future middle line, which will be set if the user opens a position with the specified lot!
- The functions of displaying additional information on the chart were supplemented:
Show_Future_BE_TP_SL, Show_Future_Line, ShowInfoPosition, Show_AveragePrice:
Changed the display of information:
false - do not show information;
true always - always show on the chart;
true cursor is on the pad - show only when the cursor is on the panel;
true cursor is not on the pad - show only when the cursor is outside the panel.
- Graphic improvements;
- When working with MagicTarget, the buttons for opening and deleting pending orders are disabled;
Signals_Alert_After_Percent variable renamed Signals_Percent
Added variable Percent_difference_Signals = Percentage difference between two signals to perform an action (Alert, Open Positions)
Signals_Percent = 40% Percent_difference_Signals = 10%:
A signal to BUY can only be when the total signal for the direction BUY is> 40%, the total signal is SELL <30%
The signal on the SELL can only be when the total signal for the direction SELL is> 40%, the total signal BUY is <30%
Added a separate variable to display a message on the screen when the conditions for the general signal are met.
Alert_by_Signals - Enables or disables the display of an alert on the screen.
Added new features:
Change TF when you click on the object:
If you click on the name of the timeframe, then this timeframe will be applied to the current chart.
Only for mt5:
When you click on the indicator name, this indicator (with parameters from external settings) will be added to the current chart window.
Clicking on the arrow will open Time Frame and add indicator.
When working with the Position tab, the expert draws the average price lines for the BUY and SELL positions on the chart.
Average price is calculated from current open positions.
Also in the information rectangle is drawn information about the total lots and current profits for the positions BUY and SELL separately.
- Added function ReverseConfirm - user confirmation for reversing position. When you click on the buttons: Reverse.
- Added function LockConfirm - user confirmation for locking positions. When you click on the buttons: Lock.
- In the CLP block, when closing positions by profit in points, the profit in the deposit currency will be additionally checked.
Actual when closing positions with different volume of lots.
If the adviser can close positions by profit in points, but the profit in the deposit currency is less than 0, then the adviser will not close the position, but will wait for the positions to gain profit in the deposit currency> 0.
- Text labels with information about open positions are reduced, to save space.
- Cosmetic enhancements.
- Improved graphics part of the panel. Re-design of individual elements;
- Added the ability to resize the panel: GeneralSize!
- GeneralSize default = 12, Increasing the size of the panel.
- Last panel size with GeneralSize = 10!
- Text labels of open positions optimized. Fixed error when text labels were drawn on top of the VirtualTradePad panel;
- The following control has been added to the Stoploss and Take Profit blocks: Setting StopLoss / TakeProfit for all positions/orders on the instructions level on the chart:
When you click on the button, you will have a line level StopLoss / TakeProfit.
You can specify the price at which all StopLoss/TakeProfit positions/orders will be modified!
If you are working with the Positions tab, then StopLoss / TakeProfit will be set to the position!
If you are working with the Orders tab, then StopLoss / TakeProfit will be placed on pending orders!
Attention! The Expert Adviser can set StopLoss / TakeProfit, only on the price that meets the rules for setting StopLoss / TakeProfit!
- Added check Magic Number when using Reverse, Lock;
- When using CLP_DeleteStopOrders = true and the CloseALL buttons, the choice of characters to close is taken into account (All symbols, only the current one);
- the Rounding parameter has been added to the modification function, now when modifying stop loss and take profit, as well as opening prices for pending orders will be further normalized to Rounding marks;
- Added hints to external variables when setting up the program;
- Spread has been added to stop loss and take profit;
- Added language selection tips Language: Spanish, Portuguese (Brazil), German, Chinese, Japanese;
By default, the language of prompts will be determined automatically by the language of your terminal. You can also choose your language;
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!
- Parameter and function Sounds replaced by a more advanced function from our EAPADPRO
Added new parameters:
Notice_Open_Push = false;
Notice_Open_Sound = true;
Notice_Close_Push = false;
Notice_Close_Sound = true;
Notice_Modify_Push = false;
Notice_Modify_Sound = true;
Notice_Error_Push = false;
Notice_Error_Sound = true;
Notice_Open_NameSoundFromEa = "ok";
Notice_Close_NameSoundFromEa = "alert2";
Notice_Modify_NameSoundFromEa = "stops";
Notice_Error_NameSoundFromEa = "timeout";
You can enable / disable sound when opening, closing, modifying, error, as well as specify the name of the sound file (without .wav)
You can also enable notification to the phone (PUSH messages) when opening, closing, modifying, an error.
Additional information is displayed in the log.
- The ShowInfoPosition function has been updated; now the position information on the chart will not overlap our panel. Dynamic change of coordinates of information data on a chart.
- Font name changed to Roboto
NumberTryClose - The number of attempts to close a position.
NumberTryOpen - The number of attempts to open a position.
When receiving an error from the server, the adviser tries to open / close.
Required with frequent requotes.
CLP Activation (Close if Profit or Loss Activation) Changed!
ON OFF buttons are added to the panel for more understandable action!
Attention! The work of the Expert Advisor is carried out by transferring data files
- Added the ability to display the information about open positions on the chart.
--- Including the position direction, lot, current profit, stop loss/take profit (indicating the targets in points and in the deposit currency)
--- ShowInfoPosition - display information on the chart;
--- ShowInfoPositionSize - font size for the text displayed on the chart;
- Added support for font scaling in Windows (font size settings are not available);
- When working with MagicTarget and changing the lot size on the panel, the data on stop loss/take profit on the chart will also be redrawn;
- Updated the algorithm for displaying the current prices on the Positions tab;
- Added support for multiple magic numbers. Updated the MagicNumber parameter: the first number denotes the magic number for opening positions and management. It is also possible to set multiple magic numbers to be managed;
--- MagicNumber=777 UseAllMagicFromAllAccount=true: the EA monitors all positions on the current symbol and on the entire account;
--- MagicNumber=777 UseAllMagicFromAllAccount=false: the EA monitors positions with the magic number 777 on the current symbol and on the entire account;
--- MagicNumber=777,888 UseAllMagicFromAllAccount=false: the EA monitors positions with the magic numbers 777 and 888 (opens positions with the magic number 777) on the current symbol and on the entire account;
--- MagicNumber=777,888,999 UseAllMagicFromAllAccount=false: the EA monitors positions with the magic numbers 777, 888 and 999(opens positions with the magic number 777) on the current symbol and on the entire account;
- When a new object appears on the chart, the panel is refreshed to avoid overlapping of objects on the panel;
- Added support for operation in the strategy tester, but with the limitations of the terminal:
--- It is not possible to enter a value in the EDIT box;
--- The CLP tab does not work;
A new parameter has been added: CPL_AUTOOFF_AfterClose allows disabling the "Close if profit or loss" button after closing all positions.
The button is only disabled when ALL! positions are closed.
It takes into account the magic number specified in the EA, as well as the symbol for closing.
If closing only 1 currency is selected and the CPL_AUTOOFF_AfterClose is enabled, the EA waits for all positions of this currency pair to be closed, and only after that the button can be closed!
Bugfix: Fixed the issue with the TP Target calculation in the Info tab while simultaneously using positions with Take Profit and without Take Profit.
BugFix: Fixed dragging of trade levels (Stop Loss, Take Profit) when hovering over the panel and back.
Changes: Changed the coordinates of the profit value shown in the Info tab
The KoefLotForGridOrders parameter has been renamed to CoefLotForGridOrders
Parameter CPL_CloseTerminalAfterClose - enable closing the terminal.
CPL_CloseTerminalAfterClose = true.
Terminal is closed only when ALL! positions are closed.
It takes into account the magic number specified in the EA, as well as the symbol for closing.
If closing only 1 currency is selected. If the CPL_CloseTerminalAfterClose parameter is enabled, the EA waits for all positions on the given currency pair to be closed, and cab close the terminal only after that!
Added the Show_Future_BE_TP_SL parameter to CLP - show the lines of the future position closure by total profit or loss..
Attention: it works only on the current symbol and with the 'SEPARATE Orders' mode disabled.
The lines are displayed separately for Buy and Sell positions, or by a common line.
If a line is not shown, then the positions form a lock that cannot be closed by the total profit or loss.
Note: line and price data may be inaccurate for floating spread.
Remember! SELL is closed by ASK, while BUY is closed by BID
- Added new control buttons to the Positions panel:
LOCK - lock the current positions on the given symbol and magic with 1 cumulative opposite position.
LOSS - close all unprofitable positions
PROFIT - close all profitable positions
General changes and improvements:
-Depending on the account currency, added the corresponding icon.
-Improved the function for displaying the trade levels when hovering the panel.
(when hovering the panel, the trade levels of the terminal are disabled, so that the stop levels are not caught when pressing buttons).
-Fixed and improved the function for calculating commission and swap for INFO,CLP.
-Changed the tooltip for lots when enabling the DynamicLotStopLoss || DynamicLotAuto options.
-Added new parameter Show_Future_Line - show the lines and description of the future trade.
This function displays the stop loss / take profit lines of the future trade on the chart, statement in points, price and current profit/loss.
It also displays the position opening line with indication of the lot. If you set the lot to be calculated based on stop loss/deposit in the settings, the EA will display the calculated lot.
-TrailingStop now calculates and considers the commission when trailing the position.
-Fixed display of the cumulative position type in the Info tab.
-Added the value of tick for 1 lot and for cumulative lot of the opened positions to the TickValue line.
-Added the Commission line for displaying the current commission of the open deals.
-Added parameter Use_Lots_in_CLP_Points for working with the CLP tab - true - the EA will also consider the lot of those positions during calculation of profit points. This option can be useful in trading on a hedging account with different lots.
opened 2 SELL positions on EURUSD
SELL 0.01 with profit of 20 and 0.2 USD
SELL 0.02 with loss of -12 points -0.24 USD
-If Use_Lots_in_CLP_Points = false the EA will calculate the "net" points.
In this case, the Profit will be: -0.04 USD or 8 points.
As we can see, the position gained profit in points, but it is a loss in USD.
-If Use_Lots_in_CLP_Points = true the EA will calculate points with consideration of lots.
In this case, the profit will be: -0.04 USD or -4 points.
If calculation of profit is in points and the "Include lots in profit calculation" is enabled,
the EA will find the minimum lot of the provided positions and calculate the Points on that basis.
Minimum position 0.01, 1 "net" point = 1 point,
If a position is opened with a lot of 0.02, then 1 net point = 2 points with consideration of the lot.
If a position is opened with a lot of 0.05, then 1 net point = 5 points with consideration of the lot.
-Added checking of the input values for closing profit or loss:
If the specified profit is lower than the current - system generates a warning and disabled the closure mode.
If the specified loss is greater than the current - system generates a warning and disabled the closure mode.
If set to 0 and user attempts to enable closure - system generates an error.
-Added the AutoCorrect_LevelCLP parameter:
Only negative values can now be entered to the loss field. If user enters +10, the system automatically converts it to -10.
Only positive values can now be entered to the profit field. If user enters -10, the system automatically converts it to +10.
Only a positive value can be entered in the CLP_TralOptions, otherwise the EA generates an error.
-Revised and improved the MAGIC TARGET button.
-When enabled and line is moved, the type of the future position and lot of the future position is displayed.
-When pressing Place, the EA checks the correctness of level placement, and if the levels are specified incorrectly, yjr EA cancels the order placement and points at the incorrect data.
-Added parameter MAGIC_FONTSIZE = size of text on the chart.
-Added check for the "Distance" field, if Distance ==0, the EA cancels the order placement.
-When using the MAGIC TARGET, the Grid and Distance fields can now be modified.
Modified the FontSizeText - text size for the operating systems, in which the font size is different from 100% size.
Fixed the function for adjusting the panel position on the chart when switching charts.
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
Added the function to save the settings during the terminal reboot, the change in settings inside the panel, when closing the panel on the chart and attaching the panel to the chart.
All variables and data changes made in the panel are now saved when the terminal is restarted.
If you turn off the terminal and turn it on again, all the parameters will be re-loaded from the global variables.
Added the TrailingProfit function to the CLP tab:
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:
Profit $ - positive closing.
Profit $ - value of positive closing.
TrailingProfit- distance from Profit $, which, when reached, triggers trailing profit.
If Profit $ is set to 10 and TrailingProfit 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 starts moving following the profit. The Journal will show entries about the current profit status.
When the total profit falls below the last fixed level, TrailingProfit, the Expert Advisor will perform forced closing of all position.
The function works for all closure types: Every symbol, Current symbol, Separate BUY and SELL direction, Each order separately.
REVERSE button: operation algorithm changed.
Once pressed: first the current position is closed, then the same position is opened with the same lot.
Добавлен параметр Step_TrailingStop для установки шага трейлинг-стопа:
например, Step_TrailingStop=1, тогда через каждый 1 пункт позиция будет модифицироваться.
например, Step_TrailingStop=25, тогда через каждые 25 пунктов позиция будет модифицироваться.
Переработана система сигналов для панели Signals.
В данной вкладке показывается тренд по таймфрейму и индикатору. Ранее сигнал показывался в момент своего срабатывания. Сейчас показывается текущий тренд по каждому индикатору.
Добавлены показатели тренда BUY SELL в процентном соотношении на вкладке Signals
Добавлена возможность скрывать из вкладки Signals отдельные индикаторы и ТФ для расчета процентного соотношения:
Добавлена возможность вывода алерта на экран при использовании вкладки Signals (Внимание: Вкладка Signals при этом должна быть активна.)
Если Signals_Alert_After_Percent=50, тогда если показатели выбранных ТФ и индикаторов по BUY или SELL будет выше чем 50 % прозвучит Алерт
Версия 15.915 - 2015.09.16MagicTarget: Исправлена ошибка цены установки ордера при непустом значении поля Distance
Версия 15.908 - 2015.09.14Что нового:
MagicTarget теперь может использоваться без стоплосс и тейкпрофита.
Если установка цены выше текущей - устанавливается байстоп
Если установка цены ниже текущей - устанавливается селлстоп
Новые цветовые параметры:
color MAGIC_ORDER - Цвет линии цены для MAGICTARGET;
color MAGIC_STOPLOSS - Цвет линии стоплосса для MAGICTARGET;
color MAGIC_TAKEPROFIT - Цвет линии тейкпрофитадля MAGICTARGET;
I am glad to present you a new function for trading via my panel in one click — MAGIC TARGET.
MAGIC TARGET is a functional button, a control element of the Orders tab. It is designed for the fast setting of a pending or a market order in the МТ4 and МТ5 platforms.
MAGIC TARGET button automatically defines a placed order type quickly and reliably.
Added parameters for setting a lot by an auto lot from a deposit and a stop loss
extern bool DynamicLotStopLoss=false; // Autolot from StopLoss
extern bool DynamicLotAuto=false; // Autolot from Deposit
Added step parameters for increasing and decreasing the settings (stop loss, take profit, lots, distance)
extern double Step_Lots=0.01;
input int Step_StopLoss=1;
input int Step_TakeProfit=1;
input int Step_Distance=1;