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.
The panel consists of 5 tabs.
- VirtualTradePad PositionsStyle
- VirtualTradePad Ordersstyle
- VirtualTradePad SignalsStyle
- Demo version of the panel - VirtualTradePad Lite
- Profit or Loss Pad
- INFO Pad
You can also try this panel for МetaТrader 4 terminal.
- 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.
- х - 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:
- MACD parameters:
- Stochastic Oscillator parameters:
- RSI parameters:
- CCI parameters:
- WPR parameters:
- Bollinger Bands parameters:
- Alligator parameters:
- Ichimoku Kinko Hyo parameters:
VirtualTradePad "CLP style"
- 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"
- 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.
- 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
MovingInWLUSE (true - false) LevelWLoss(in points) LevelProfit (in points)
These parameters adjust the possibility to modify deals moving the Stop Loss to breakeven at the earliest opportunity.
You would like to set Stop Loss in the break even, when the deal will score +10 points of profit:
MovingInWLUSE = true; LevelWLoss=0 ; LevelProfit =10;
You want to set Stop Loss in +5 points, when the deal will score +20 points of profit:
MovingInWLUSE = true; LevelWLoss=5 ; LevelProfit =20;
Note that the difference between LevelProfit - LevelWLoss must always be greater than or equal to the minimum stop on the server.
Added AutoTrade_by_Signals parameter to the signals block. This parameter enables the automatic placing of a position in the signal direction, if the signal in that direction exceeded Signals_Alert_After_Percent.
Lot, Stop Loss, and Take Profit are set based on the data entered in the first Positions tab
Attention: the Expert Advisor automatically opens a position on the direction of the signal, without closing the previous one.
CLP_DeleteStopOrders - Delete all pending orders when closing by total profit or loss.
Note: does not work in the SeparateOrder mode (closing positions separately).
Enabled by default.
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.
-Added the SEPARATE Orders option to the CLP panel for separate calculation and deletion of each position.
"Virtual Stop Loss and Take Profit" mode.
For example, if you set closure by loss to $ -5 and closure by profit to 100 points, each trade will be closed separately by a loss of $ -5 or by profit of 100 points.
-Added the Separate BUYSELL option to the CLP panel, which allows to calculate a close positions by the net profit or loss separately for BUY and for SELL.
-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.
For example, if the tick size is 5 points on WING17 symbol, then all stop losses and take profits are normalized.
For example, the contract price is 58840 and when calculating the automated stop loss 1211 points, the final stop loss is normalized up to 1210 points.
Fixed the error in the CLP panel - the CLP_TralOptions 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
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 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.
REVERSE button: operation algorithm changed.
Once pressed: first the current position is closed, then the same position is opened with the same lot.
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
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;
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;
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.
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.
- 0: ORDER_TIME_GTC
- 1: ORDER_TIME_DAY
- 2: ORDER_TIME_SPECIFIED_DAY
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.
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.
- 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.