• Overview
  • Reviews (4)
  • Comments (55)
  • What's new

VirtualTradePad One Click Trading Panel

VirtualTradePad - is a contol panel for working with orders in МetaТrader 5 : buy, sell, buystop, buylimit, sellstop, selllimit, close, delete, modify, tralling stop.

VirtualTradePad won 2nd prize in the "Best Control Panel in the MQL5 Language" Contest.

The panel consists of 5 tabs.

Demo versions:

You can also try this panel for МetaТrader 4 terminal.

Important Features

  • 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 at 0 zero level;
  • On the the BUY and SELL buttons the change of the ask and bid prices is displayed with arrows;
  • The information pane that displays the currency pair, the open position size and the total profit;
  • In the input parameters you can enable/disable the tips displayed on mouse over buttons, as well as the language of the tips - English / Russian;
  • The Close button closes the application;
  • The Minimize/Maximize button maximizes/minimizes the panel on the chart;
  • The chart can be moved on the chart. To do it, click the upper part of the pane near the Close and Minimize buttons and move the pane in a desired place.

VirtualTradePad "Positions style"

This version has been designed for trading via BUY and SELL orders, as well as using additional functions, such as: Stop Loss modification, Take Profit, Trailing Stop, Position reverse, Position closing.


  • Lots - lots managing object. When pressing "+-", lots will be increased by the minimum available lot on the server. A lot cannot drop below the minimum allowable lot on the server;
  • BUY - opening a buy position (Ask price above);
  • SELL - opening a sell position (Bid price above);
  • REVERSE - position reverse function. Positions are reversed having 0 stop levels;
  • CLOSE - entire position is closed;
  • Takeprofit/Stoploss - selecting Take Profit and Stop Loss for a position. When pressing "+-", Take Profit/Stop Loss will be increased by 1 point. Take Profit/Stop Loss cannot drop below 0 or the minimum allowable value on the server. When pressing "+", Take Profit value will change from zero to the minimum allowable value on the server. If Take Profit/Stop Loss = 0, its value is shown in red. If Take Profit/Stop Loss is not equal to 0, its value is shown in green;
  • MODIFY - urgent position modification with specified Take Profit/Stop Loss. Also, stop levels can be reset to 0 or changed;
  • Trailing stop - selecting trailing stop;
  • ON - enabling Trailing Stop. Enabled for the current selected pair. Press OFF to disable. Trailing Stop level is determined by Stop Loss parameter.

VirtualTradePad "Orders style"

This version has been developed for trading with Buy Stop, Buy Limit, Sell Stop and Sell Limit; and it includes additional functions such as Stop Loss, Take Profit, order distance, order grid and order deletion.


  • Distance - distance (in points) for placing pending orders. As for Take Profit/Stop Loss, this value cannot be less than the minimum allowed on the server;
  • TakeProfit - distance (in points) of Take Profit for pending orders;
  • StopLoss - distance (in points) of Stop Loss for pending orders;
  • Lots - trade volume (in lots) for pending orders;
  • PLACE Section - order placing options: Buy Stop, Sell Stop, Buy Limit, Sell Limit;
  • DELETE Section - order deleting options: Buy Stop, Sell Stop, Buy Limit, Sell Limit;
  • GRIDs - number of opened orders. If it is greater than 1, there will be a grid of orders with the same distance from each other. This feature is very useful in MetaTrader 5. Using it one can open additional lots on each level and move the stops on a potentially new level. In other words, this is a Trailing Stop with volume increasing.

VirtualTradePad "Signals style"

This version is for informational purposes. Analyzing the main trade strategies using 10 indicators and 8 timeframes, the panel draws signal direction.

Graphical Features

  • х - no signal;
  • Arrow up - BUY signal;
  • Arrow down - SELL signal.

List of Indicators and Signals

Moving Average (MA) (Signal 1)

The signal is calculated using relative position of two moving averages, one of which should have a smaller period (fast МА) while the other - a greater one (slow МА). Their parameters can be specified in the following variables:

  • MAFastPeriod and MASlowPeriod - periods of Moving Averages.
  • MAFastPrice and MASlowPrice - calculation price of Moving Averages.
  • MAFastShift and MASlowShift - shift to the right.
  • MAFastMethod and MASlowMethod - averaging method: simple, exponential, smoothed, linear-weighted.

BUY signal appears when the fast МА is located above the slow one, while SELL signal appears when the slow one is above than the fast one. "No signal" state is not used.

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

Four variables are used:

  • MACDFast - fast МА period
  • MACDSlow - slow МА period
  • MACDSignal - signal МА period
  • MAPrice - MAs calculation price.

The signals are also simple: BUY - the main line is above the signal one, SELL - the main line is below the signal one. "No signal" state is not used.

Stochastic Oscillator (Signal 3)

Oscillator consists of two lines - the main and signal lines allowing to trade according to the lines crossing signals. Therefore, the signals are as following: BUY - the main line is above the signal one, SELL - the main line is below the signal one.

Parameters available to users:

  • StochK - %К period.
  • StochD - %D period.
  • StochSlowing - slowing the indicator.
  • StochPrice - calculation price.
  • StochMethod - averaging method.

RSI (Signal 4)

The indicator is similar to CCI and DeMarker. Leaving overbought (RSIHighLevel) or oversold (RSILowLevel) zones is a signal. Therefore, rare BUY signals correspond to crossing the upper level downwards, while SELL signals correspond to crossing the lower level upwards. The main state is "no signal". The indicator period can be set in the RSIPeriod parameter, while calculation price is set in the RSIPrice parameter.

Commodity Channel Index (CCI) (Signal 5)

It also uses all three signals, but the main state is still "no signal". Rare trading signals correspond to crossing the upper level downwards (BUY) and crossing the lower level upwards (SELL). Upper and lower levels are determined by the values of CCIHighLevel and CCILowLevel external parameters. Indicator calculation period and price are determined by the CCIPeriod and CCIPrice values.

Williams Percent Range (WPR) (Signal 6)

The indicator is similar to RSI, CCI and DeMarker. Therefore, the signals are: BUY - crossing the overbought level (WPRHighLevel) downwards and SELL - crossing the oversold level (WPRLowLevel) upwards. All other cases refer to "no signal" state. Only the indicator period parameter (WPRPeriod) can be changed from outside.

Bollinger Bands (Signal 7)

All three types of signals are used: BUY - previous candle close price is below the lower line, SELL - previous candle close price is above the upper line, "no signal" - candle close price is between the lines. External variables:

  • BandsPeriod - indicator period.
  • BandsShift - shift to the right.
  • BandsDeviation - deviation.
  • BandsPrice - calculation price.

Alligator (Signal 9)

Since the indicator consists of three moving average lines, it has plenty of parameters:

  • JawPeriod - jaw period, blue line.
  • JawShift - jaw shift to the right.
  • TeethPeriod - teeth period.
  • TeethShift - teeth shift to the right.
  • LipsPeriod - lips period.
  • LipsShift - lips shift to the right.

The same averaging method (AlligatorMethod) and calculation price (AlligatorPrice) are also used for all lines. All lines have a positive shift to the right. This allows reading the indicator values on the current bar, as they are already complete and are not a subject to change. Therefore, the signals in this case are: BUY - the lips line is higher than the teeth line, while the latter one is higher than the jaw line; SELL - the lips line is below the teeth line, while the latter one is below the jaw line. There is no signal in all other cases.

Parameters of the Indicators:

  • Moving Average parameters:
    • periodma1=8;
    • periodma2=16;
    • MAmethod=MODE_SMA;
    • MAprice=PRICE_CLOSE;
  • MACD parameters:
    • FastMACD=110;
    • SlowMACD=136;
    • MACDSMA=14;
    • MACDprice=PRICE_LOW;
  • Stochastic Oscillator parameters:
    • SOPeriodK=5;
    • SOPeriodD=3;
    • SOslowing=3;
    • SOmethod=MODE_SMA;
    • SOpricefield=STO_LOWHIGH;
  • RSI parameters:
    • RSIPeriod=14;
    • RSIprice=PRICE_CLOSE;
  • CCI parameters:
    • CCIPeriod=14;
  • WPR parameters:
    • WPRPeriod=14;
  • Bollinger Bands parameters:
    • BBPeriod=20;
    • BBdeviation=2.0;
    • BBprice=PRICE_CLOSE;
  • Alligator parameters:
    • ALjawperiod=13;
    • ALteethperiod=8;
    • ALlipsperiod=5;
    • ALmethod=MODE_SMMA;
    • ALprice=PRICE_MEDIAN;
  • Ichimoku Kinko Hyo parameters:
    • IKHtenkansen=9;
    • IKHkijunsen=26;
    • IKHsenkouspanb=52.

VirtualTradePad "CLP style"

Main Features:

  • The panel can work only on its own symbol (Current Symbol) or consider the total profit or loss by all symbols (All symbols).
  • The panel can be used as a virtual Stop Loss or Take Profit. To do it, set the profit and loss size in pips (Profit p or Loss p), put check marks and select your symbol. The Expert Advisor will close positions for the selected symbol considering the number of pips obtained or lost. 
  • You can choose the close type: by profit in dollars, in pips or in % of balance or by loss in dollars, in pips or in % of balance.
  • There is also the "CLOSE ALL" button that instantly closes the current symbol position or all positions (depending on your choice).
  • The current state of your account is displayed right on the panel in three different ways corresponding to the close types. 


  • Start the panel on your currency pair chart.
  • On the panel select the option to close positions by all symbols or by the current symbol.  
  • To activate the options for selecting the close type, you need to specify a non-zero value for the corresponding parameters. Note that a positive value must be specified for the profit and a negative value must be specified for the loss, for example: -100.
  • Check the options you want to use for closing.
  • Enable the Close if Profit or Loss button, is should become blue. It means that the Expert Advisor has started working.
  • Once the profit or loss of your position crosses the set levels, the positions will be closed. 
  • The emergency button CLOSE ALL is intended for closing all positions instantly.


VirtualTradePad "Info style"

Main features:
  • Symbol name, presence of an open position, its type and lot size.
  • Bid and Ask prices displayed in a readable way.
  • Current profit of the position in US dollars, points and in percentage of the current deposit size.
  • Current spread (if the spread is floating, F is indicated in the caption).
  • Current minimum distance for stop orders and pending orders.
  • Swap for short and long positions.
  • Execution type of the position.
  • 1 point price in deposit current for the current volume of the position.
  • Distance to stop loss in points and dollars.
  • Distance to take profit in points and dollars.
  • Daily profit or loss for the given currency pair for the current day in US dollars, deposit currency and in percentage of the current deposit size.
  • Weekly profit or loss for the given currency pair for the current week in US dollars, deposit currency and in percentage of the current deposit size.
  • Monthly profit or loss for the given currency pair for the current month in US dollars, deposit currency and in percentage of the current deposit size.
  • Annual profit or loss for the given currency pair for the current year in US dollars, deposit currency and in percentage of the current deposit size.
  • Entire profit or loss for the given currency pair for the entire available history in US dollars, deposit currency and in percentage of the current deposit size.
2016.10.17 23:07 

Verry Good!

2016.07.19 09:56 

One of the best apps in the market ,nice work ..well done !

Иван Чемадура
2015.11.02 05:02 

Отличный продукт!

Спасибо разработчику.

2013.07.09 11:22 

Панель понравилась. Скорость работы - быстрая. Все необходимые кнопки управления расположеные на данной панели - работают. Покупкой доволен.

Version 16.930 - 2016.10.03
Updated the algorithm for working on hedging accounts
Fixed the error in the CLP panel - the CLP_TralOptions parameter
Version 16.722 - 2016.07.26
Alert: This EA may not work on hedge account.
Version 16.711 - 2016.07.14
Modified the FontSizeText - text size for the operating systems, in which the font size is different from 100% size.
Version 16.702 - 2016.07.08
Fixed the function for adjusting the panel position on the chart when switching charts.
Version 16.518 - 2016.05.26
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.128 - 2016.02.01
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.

For example:
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 of 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 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, 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.
Version 15.991 - 2015.12.17
Modification for the FORTS market
REVERSE button: operation algorithm changed.
Once pressed: first the current position is closed, then the same position is opened with the same lot.
Version 15.969 - 2015.11.19
The CLP panel works at all times even if another tab is active.
Version 15.966 - 2015.11.09
Added option: "Step TrailingStop" to set the trailing stop steps:
example: Step TrailingStop = 1 then every 1 point position will be modified.
example: Step_TrailingStop = 25, then every 25 points position will be modified.

Revised the system of signals for the Signals panel.
This tab shows the trend for the TF and indicator. Previously, signals were indicated after their activation. Now, the current trend is displayed.

Added signals trend by indicators BUY SELL in percentage on tab Signals

Added the ability to hide from the tab Signals individual indicators and the TF for calculating percentages:
Signals_M1 = true;
Signals_M5 = true;
Signals_M15 = true;
Signals_M30 = true;
Signals_H1 = true;
Signals_H4 = true;
Signals_D1 = true;
Signals_W1 = true;
Signals_BARS = true;
Signals_MA = true;
Signals_MACD = true;
Signals_Stoch = true;
Signals_RSI = true;
Signals_CCI = true;
Signals_WPR = true;
Signals_BB = true;
Signals_ICH = true;
Signals_ALI = true;

Added the ability to display the alert on the screen when using the Tab Signals (Note: Tab Signals must be active.)
If Signals_Alert_After_Percent = 50, then if the selected TF and indicators BUY or SELL to be higher than 50% VIRTUALTRADEPAD show Alert
Version 15.915 - 2015.09.16
MagicTarget: Fixed order price, when there is a non-empty value in the Distance field
Version 15.908 - 2015.09.14
MagicTarget can now be used without Stop Loss and Take Profit.
If the priceline is higher than the current price - buystop is set
If the priceline is lower than the current price - sellstop is set

New color options:
color MAGIC_ORDER - Color of the price line for MAGICTARGET;
color MAGIC_STOPLOSS - Color of the Stop Loss Line for MAGICTARGET;
color MAGIC_TAKEPROFIT - Color of the Take Profit Line for MAGICTARGET;
Version 15.521 - 2015.05.22

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;
Version 15.513 - 2015.05.14
Added a field for trailing stop entry in points
Version 15.116 - 2015.01.16
CLP tab
If the button is enabled and a user makes incorrect changes in the settings, the button is disabled and the error is returned to the user.
Version 15.113 - 2015.01.16
Added verification of the specified data before launching Profit or Loss PAD algorithm (protection against incorrect parameters). For example, if you want to set the loss exceeding the current one, the system will not allow you to execute the algorithm since the positions should be closed immediately.

Suppose that you want to close positions when the loss reaches 2 dollars. However, your current loss is -3 dollars. This means that you knowingly set closing at the loss level lower than the current one, so the system should close the trades immediately. In this version, the system returns an error and asks you to specify another value.

If you have the current loss of -5 dollars, you can only specify values that are less than -5.

If your current profit is 10 dollars, and you set 5 dollars, the system returns an error. You can set the closing by profit only above the current profit, for example, 11 dollars.
Version 14.936 - 2014.10.09
Added new parameter that allows choosing the expiration mode of a pending order when trading on FORTS - DayToExpiration:
Version 14.828 - 2014.09.03
Two buttons have been added to Orders tab:

1. BUY STOP LIMIT - this type is the combination of the first two types, being a stop order to place a Buy Limit order. As soon as the future Ask price reaches the stop level specified in the order (Price field), a Buy Limit order will be placed at the level specified in Stop Limit Price field. A stop level is set above the current Ask price, while Stop Limit price is set below the stop level. Distance field is used as a distance between an order and a stop limit - after setting an order, you can modify the prices with a mouse on the chart the order is placed at.

2. SELL STOP LIMIT - this type is a stop order for placing Sell Limit. As soon as the future Bid price reaches the stop level specified in the order (Price field), a Sell Limit order will be placed at the level specified in Stop Limit Price field. A stop level is set below the current Bid price, while Stop Limit price is set above the stop level. Distance field is used as a distance between an order and a stop limit - after setting an order, you can modify the prices with a mouse on the chart the order is placed at.
Version 14.709 - 2014.07.09
Now supports stocks and futures.
Version 14.409 - 2014.04.10
ECN accounts. Positions are modified with a delay of 500ms after opening.
Version 14.403 - 2014.04.04
Fill policy parameter has been added to the external parameters:

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.

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.

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 6.26 - 2014.01.28
The virtual panel is significantly updated.

- Added new tabs INFO and Close if Profit or Loss .
- Added check for errors.
- Added logging of all event and errors (in case there are) of the panel.
- Added highlighting of active tabs.

New tab INFO shows the information about the symbol: brief information about the current trade symbol, the current profit in dollars, pips and percentage as well as the profit for the current day, previous day, weekly, monthly and the total profit for the entire history.

New tab Close if Profit or Loss allows closing positions by a symbol/all symbols in case the total profit/loss reaches a value specified in dollars, pips or percentage.