VirtualTradePad One Click Trading Panel
你也可以试试这个 МetaТrader4终端的面板 。
VirtualTradePad在“ MQL5语言最佳图形面板 ”竞赛中 获得二等奖 。
注意！如果你想学习如何交易 策略测试员 ，查看我们的免费 TesterPad 效用
- 安装/卸载BuyStop SellStop BuyLimit SellLimit，
“ CLP”选项卡 -使用按总损益结算的功能。
- 总利润的追踪止损点，美元，百分比 。
INFO 选项卡 -信息选项卡，显示所选符号的当前规格，当前止损和获利目标以及今天，昨天，周，月的利润。
- 在买入和卖出按钮上，询价和买价的变化 是 用箭头显示;
- 窗格可以在图表上移动。为此，请单击“关闭”和“最小化”按钮附近的窗格的上半部分，然后将窗格移动到 一个理想的 位置。
-If you enter a wrong lot (lot step, minimum lot, maximum lot), the panel will automatically correct the error.
A ban on processing an order while holding down a key!
1 keystroke = 1 order execution!
- Added Print of the name of the pressed button, for reproducing questions from users.
LimitForSpreadMin = 0; -> Min Spread to trade
LimitForSpreadMax = 0; -> Max Spread to trade
- Added parameter to Risk Manager:
AlertRiskManager - Display an alert on the screen when conditions are met by the Risk Manager.
- Fixed some Profit Trailing bugs.
- Added the parameter to shift text labels Shift_from_Right. The parameter in bars!
By default, the value Shift_from_Right = 5 bars from the right price line is set in the VirtualTradePad panel (the shift of bars in the terminal is also taken into account)
- Shift applied to all text labels on the chart!
- Added a parameter for displaying the spread on the chart. Show_Spread.
Show_Spread - This shows the spread in points of your broker on the chart!
You can change the position of this mark by clicking on the spread button on the chart.
The button has 4 positions on the chart.
- Added Trailing profit in dollars/points/percent to the CLP tab.
- Now you have the opportunity to set a different value of the trailing profit!
- In case of partial closing, only those buttons will be shown that meet the condition for partial closing.
- The SELL button is highlighted in red to highlight the main BUY SELL buttons.
- Added the Show_Ask_Line parameter for automatic activation of the Ask line on the chart: This is done to make it easier for new users to determine at what price a position/order will be opened.
- Added profit line for "Yesday" (Yesterday) to Info tab.
- Added a line of information by lot to the Info tab: Minimum lot by symbol / Lot step by symbol / Maximum lot by symbol.
- Added a line of information on the type of execution to the Info tab: Type of order execution (
Execution by request / Instant execution / Market execution / Exchange execution)
- Added a line of information on the fill type (MT5) to the Info tab: Order fill type (
Fill or Kill / Immediate or Cancel / Return).
CloseTypebyPercentageof - Added selection of calculating the current percentage of the Current Balance / Current Equity.
---- TrailingStopONOFF_KEY = Enable / Disable Trailing Stop;
---- BreakevenONOFF_KEY = Enable / Disable breakeven.
--- AutoClose_by_Signals = Close the opposite position when the main signal changes,
--- Allows VirtualTradePad to work in automatic Open / Close positions based on the aggregate signal as a percentage.
- Added parameter to CLP (Closing on total profit and loss) settings:
--- CPL_CloseAllCharts_per_CloseAllDeals = close charts / other charts before closing positions.
--- This parameter allows us to solve the problem when our panel begins to close positions upon reaching the total profit or loss, and in the meantime, other experts simultaneously begin to open new positions.
--- The CPL_CloseAllCharts_per_CloseAllDeals parameter closes only those charts on which other Expert Advisors are installed (except for VirtualTradePad) only for MT5.
--- The CPL_CloseAllCharts_per_CloseAllDeals parameter closes All charts (When All Symbols is enabled) or only those with a chart symbol = VirtualTradePad symbol.
--- The CPL_CloseAllCharts_per_CloseAllDeals parameter saves chart templates before closing them! The template can be downloaded later. Template name: VTP_Symbol_Period_Name of the expert (only for MT5).
--- In MT5: Only those charts on which the Expert Advisor is installed are closed in MT5
Does not affect the correctness of placing orders.
In order to calculate the distance correctly, turn on the Ask Line on the chart.
SellStop SellLimit and SELL - open by BID;
BuyStop BuyLimit and BUY - open by ASK;
- Added full work with pending and limit orders on the chart.
---- Information about placed orders on the chart is displayed.
---- Ability to remove stop loss / take profit and pending orders from the chart.
---- Attention! Pending orders are displayed after positions. This means that orders are placed on the chart depending on the chart width.
- Changed text tips about prohibiting trading by server / terminal!
- The color of text labels of information about stop loss / take profit positions changes, depending on the positive / negative zone.
- When you click on the status bar (Name of symbol, type and lots), the type of information displayed (Type_Profit_On_Position_Tab) is changed.
- The way of moving the panel on the chart has been changed to standard! Now you can move the window of our program in the standard way of dragging the window in Windows.
- MagicTarget function updated, graphics changed. Added more information.
- If the chart size is smaller than the panel size * 2, all text labels and tooltips are hidden so as not to overlap the buttons on the panel.
- Added +2 positions on the screen to Show_EndOfBar mode (middle top and middle bottom).
- new controls have been added to Trade Management from the KeyBoardTrade keyboard:
---- Switching work tabs from the keyboard (Position = button 1, Order = button 2, Signal = button 3 ......)
---- Use / Do not use Stop Loss / Take Profit.
---- Added the ability to use upper digits (BUTTON_0-BUTTON_9), not to be confused with NumPAD !!!
- Information on Show_Future_Line has been added:
---- when you hover over the BUY SELL buttons, the calculation of the future lot is shown when using an autolot (DynamicLot).
---- Added Show_true_OnlyonBUYSELLLSLTP mode - show information about a future trade when hovering over the BUY / SELL / Lots / SL / TP Fields.
---- Now you can view information about a future deal by changing lot / stop loss / take profit in real time.
- Added information about closing deals when hovering over the LOSS, PROFIT, CLOSE buttons.
---- Added parameter to external variables Show_Info_Close.
- When using partial closing of positions from the chart (X button), additional information has been added to the tooltip.
---- Attention! In order to exclude situations when your stop-loss / take-profit changes when you accidentally click on the trading lines,
---- You need to enable the ability to change stop loss / take profit using the Alt button, for this:
---- Go to your terminal settings >> Chart >> Show trade levels >> Allow dragging trade levels with the 'Alt' key.
-- If Trailing Stop is enabled and distance = 0, then Trailing Stop will work with the lowest possible stop level on your server.
- Added the ReDrawIfNewObjectFound parameter - which allows / disables panel refresh when a new object is detected.
---- This option is enabled by default. If you find lags and freezes when using VirtualTradePad and other indicators, please disable this option.
================================================== ================================================== =========================================
- Added new buttons:
- Position tab:
- Button "BE" - The MovingInWLUSE function has been moved to the panel in the BE function.
---- You can turn on the BE button on the Position panel and Breakeven will always work.
---- Settings of the breakeven distance - can be configured in the external parameters of the advisor!
---- In order to use the function 1 time (old version) turn on and off the BE button on the panel!
---- "ScreenShot" button - Saves a snapshot of your current chart, with all indicators and objects in the size of your chart.
All screenshots will be saved to the Folder of your terminal / MQL * / Files / VTP /
---- "ShowInfo" button - Hides / Shows information labels of our panel from the chart. Turn on, turn off.
If you need to analyze the chart without unnecessary information, the "ShowInfo" button will help to hide all unnecessary information from the chart.
---- Button "%A" - This turns on / off the AutoLot function (DynamicLotAuto) from the chart.
Now you can enable autolot from the panel.
---- Button "%S" - This turns on / off the AutoLotStopLoss(DynamicLotStopLoss) function from the chart.
Now you can enable autolot by stop loss from the panel.
------ Attention! To disable autolot press the green button "% A" or "% S".
------ The functions DynamicLotAuto and DynamicLotStopLoss in the EA settings now only regulate the method of calculating the autolot (Free Margin or Current Balance)
---- "Vst" button - Working with virtual stop loss / take profit / trailing stop / breakeven.
------ Full work with Virtual Stop Loss and Take Profit levels. Turn on, turn off.
-------- All levels will be virtual and displayed on the chart as lines.
-------- You can move these levels on the chart, just drag the line to the desired location.
-------- Attention! This is a virtual closing of positions. This means that when the price crosses the line of virtual stop loss / take profit, then the advisor sends a command to close to the server.
-------- There may be slippages in the close at requotes and other broker delays.
-------- Attention! Works only on a switched on computer and a connected terminal.
-------- Attention! In MT4, virtual levels work with both positions and orders.
-------- Attention! In MT5 virtual levels work only with positions !!! Pending and limit orders will work with real stop loss and take profit levels.
-------- Attention! There may be slippages when closing positions. Depends on broker requotes and delays !!!
---------- Attention! When you click on the "Vst" button, the advisor modifies all stop loss and take profit levels into virtual / real levels.
When modifying, there may be broker restrictions on the minimum stop level, and then the adviser will not be able to modify some stop loss and take profit.
---- "Av" button - Trailing stop / breakeven functions from the common center line (AVERAGE).
------ Turns on / off the general Trailing Stop / Breakeven from the middle line. Separately for the Buy and Sell directions.
-------- This function allows you to follow the entire grid of positions (Buy or SELL separately) with a general trailing stop(AVERAGE) or breakeven.
-------- VirtualTradePad will automatically calculate the average line based on open positions and set the overall average trailing stop or breakeven from this center line.
================================================== ================================================== =========================================
- Added new buttons:
- Orders tab:
---- "LifeTime" button - Order lifetime in minutes!
------ Lifetime in minutes works virtually for all pending orders.
------ After the LifeTime expires, the order will be deleted.
------ Attention! Works separately with DayToExpiration option (Expiration time in days).
---- "Step" button - Step of each next order in the grid!
------ Used in conjunction with the Grids parameter.
------ Allows you to set the step for the grid from the first pending order in the grid.
Attention! Distance parameter - This is the distance from the current price to the first pending order.
---- Button "CoefLot" - The CoefLotForGridOrders parameter from the parameters has been moved to the panel.
------ Multiplication factor of the next lot in the grid of pending orders when used on the Orders tab
Example: "CoefLot" = 2, Grid = 5, then lots will be opened like this: 0.1, 0.2, 0.4, 0.8, 0.16
-In the CLP_Alert CLP_Push Notification, the name of the currency pair, position type and lot of the closed position are added.
-The design of the Lot +, Lot-, Modify buttons has been changed to display correctly on 4k monitors.
-Partial closing of deals
--Added the ability to partially close positions from the chart :
ShowInfoPosition function updated:
Now, when you click on the "X" next to a position on the chart, a window will appear to select partially or completely closing positions:
in percent: 10%, 25%, 50%, 100%;
in lots: Lot step, Lot step * 2, Lot step * 5, Lot step * 10;
- Added a new option "do not show" to the Type_Profit_On_Position_Tab parameter - disabling the profit display on the Positions page.
When AutoCorrect_Distance is turned off (false), the EA will not check the Dist field value of the Orders tab on the minimum value.
-- Added opportunity to use Expert Adviser on Forex VPS for MetaTrader 4/5 from MetaQuotes
It works on any chart. Supports multiple chart at once!
Tabs work: CLP, TrailinStop, Signals!
Before changing the variables on your computer:
1. Enable AutoTrading to make the Expert Advisor active.
2. change the parameters,
3. After that, start the Migration!
-- Added additional information to the StopLoss / TakeProfit Target control buttons (General Stop Loss / Take Profit):
- The sum of all stoploss / takeprofit in points, deposit currency, percent of the balance.
Information on future Stoploss / Takeprofit levels is displayed if the user presses YES;
You can set the total real stoploss / takeprofit in points / percent / deposit currency (current value)!
- The type of positions for which Target will use;
- Ability to modify a new stoploss / takeprofit (Checks for positions and modifyng errors);
- Added Risk Manager: Risk Manager Limiting losses / profits / Lots / Numbers
Block Limiting updated and supplemented!
This settings block allows users to limit Profit / loss / lots / number of deals/positions for a specified time.
A risk manager who monitors your trading and notifies you that the time limit has been exceeded with Current positions / today / week / month / all the time.
It is possible to disable the operation of the BUY / SELL / LOCK / REVERSE / BUYSTOP / BUYLIMIT / SELLSTOP / SELLLIMIT buttons if the limit is exceeded.
Disables the ability to open deals/positions on the current currency pair if the current value has exceeded the your limit.
CurrentOpenDeals - Take into account current open deals/positions;
ClosedDeals - Take into account closed deals / positions over time:
LimitFor - The time during which closed deals / positions in the history will be checked;
LimitForLosses - Loss limit at which the EA will sent a message, must be specified with -;
LimitForProfits - Profit limit at which the EA will sent a message;
LimitForLotsDeals - Limit of Lots of deals / positions, at which the adviser will sent a message;
LimitForCountDeals - Limit of the number of deals / positions at which the EA will sent a message;
NotificationMailSend - Send a message to the phone (PUSH) and mail if the limit is exceeded;
ProhibitOpeningNewDealsOrders - Disables the operation of the BUY / SELL / LOCK / REVERSE / BUYSTOP / BUYLIMIT / SELLSTOP / SELLLIMIT buttons if the limit is exceeded.
- Show_EndOfBar Added a text label on the chart with the end time of the current bar!
It is possible to change the position of the information label about the end of the bar.
If you click on this label, then the label will change the position on the chart!
Time is shown every tick! This means that if there was no tick, then time stops!
- BuySellConfirm parameter is added to the "Confirm options" block - Confirmation of opening positions by clicking on BUY or SELL;
- Added information on Stoploss / Takeprofit / Profit goals as a percentage of the current balance to the ShowInfoPosition text labels;
- Added information on Stoploss / Takeprofit goals as a percentage of the current balance to the Show_Future_Line text labels;
input bool Signals_D1=false; //Signals_D1 --> Show from D1
input bool Signals_W1=false; //Signals_W1 --> Show from W1
You can enable the display of the Buy/Sell Stop Limit open buttons.
Disabled by default!
-- Forced writing global variables to disk.
-- Added the ability to pending/delete stop/limit orders from the keyboard:
BuyStop_Open_KEY = BUTTON_G; // BuyStop_Open_KEY -> Button to Open BuyStop order;
SellStop_Open_KEY = BUTTON_H; // SellStop_Open_KEY -> Button to Open SellStop order;
BuyLimit_Open_KEY = BUTTON_J; // BuyLimit_Open_KEY -> Button to Open BuyLimit order;
SellLimit_Open_KEY = BUTTON_K; // SellLimit_Open_KEY -> Button to Open SellLimit order;
BuyStop_Delete_KEY = BUTTON_V; // BuyStop_Delete_KEY -> Button to Delete BuyStop order;
SellStop_Delete_KEY = BUTTON_B; // SellStop_Delete_KEY -> Button to Delete SellStop order;
BuyLimit_Delete_KEY = BUTTON_N; // BuyLimit_Delete_KEY -> Button to Delete BuyLimit order;
SellLimit_Delete_KEY = BUTTON_M; // SellLimit_Delete_KEY -> Button to Delete SellLimit order;
--TypeofOrdersMagicTarget - Added selection of the type of orders when using MagicTarget, If stop loss and take profit are not used.
BuyStop SellStop - When using Magic Target without stops, BuyStop / SellStop will be installed (by default, as in previous versions).
BuyLimit SellLimit - When using the Magic Target without stops, BuyLimit / SellLimit will be installed.
-- Color of TrailingStop and CLP in the ON mode - is changed to green.
- Added +/- buttons for the TrailingStop.
- Found and fixed memory leak error when using Signals!
- The version for the MetaTrader 5 terminal now can use scrolling (on the mouse):
If you hover over the field for editing the parameter (lot, stop loss, take profit, distance, CLP), then when scrolling with scrolling, you can increase or decrease the value in this field!
Note: Only for MetaTrader 5!
Note: Scrolling of the chart is disabled if the cursor is on the area of our VIRTUALTRADEPAD panel and is enabled if the cursor is outside the VIRTUALTRADEPAD area.
Please check the change of lots on your broker.
true - take into account the commission in the calculations.
false - do not take into account the commission in the calculations.
Attention: The commission is calculated from an open deal and multiplied by 2 (When closing a deal a commission is also charged)
This is the standard way to calculate commission!
In MetaTrader 5, it is impossible to get the type of commission calculation from an adviser!
If you do not want the adviser to automatically calculate the commission, you can turn off this feature!
Attention! This function only affects the calculations on the CLP tab, all other tabs work in standard mode, taking into account commissions.
CLP: Fixed display of future levels (Show_Future_BE_TP_SL) for BUY positions.
CLP: The Show_Future_BE_TP_SL function has been added to show future profit / loss lines when closing is selected as a percentage of the current balance.
VTP CLP: Added a new parameter to the "CLP options" section:
ClosebyFIFO = Closing positions according to FIFO rules;
When closing positions, the FIFO rule will be used (First opened, First closed).
The position will be closed in the order of their opening!
Attention: This rule is intended to be used only when working with all symbols and closing all positions at once.
Attention: This mode prohibits the use of functions: Separate Deals
Orders: Updated the Rounding function for Normalizing the prices of pending orders on the Orders tab!
Positions: Added type of profit display on the Positions tab:
- in points of your broker.
- in the currency of the deposit.
Signal: When the AutoTrade_by_Signals function is activated (Trading according to indicator signals), the status of the function being enabled will be displayed and the EA can open positions automatically.
KeyBoardTrade: When you enable the trading function from the keyboard, KeyBoardTrade = true, a tooltip in the form of a letter of keys for the command will be displayed on the panel.
ButtonLanguage: Added a new ButtonLanguage parameter to select the language of the text on the buttons and the main language of the panel (information on the tabs)!
Available languages: Russian, English, Português, Español, Deutsch!
Attention: This parameter affects only the text of buttons and tabs. The text of tooltips can be selected in the Language parameter!
Attention! If you find a mistake in the text of your language, you can write the correct values in the discussion of our program Virtual Trade Pad!
CommentOrders parameter updated.
Now you can set the expiration time of the option, for example 5 (Close after 5 minutes)!
Unique comment support for brokers with BOs that require a unique comment.
For example: CommentOrders = CLOSE31 (Close after 31 minutes)
Specify the rules for writing a comment on the BO with your broker!
When using ShowInfoPosition = true, the X button will be added along with the text label, when clicked on:
You can remove Stoploss;
You can remove Take Profit;
You can close the selected position;
Show_Future_Line mode has been improved. When using Show_Future_Line, the labels of the current positions disappear so that the information does not overlap.
Added parameter Show_Future_Line_Orders - Shows future levels of placing pending or limit orders if the user is working on the ORDERS tab.
Improved Show_Future_BE_TP_SL hints when working with CLP.
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;
The function of the calculation of autolot changed.
DynamicLotStopLoss and DynamicLotAuto.
Added the ability to select the type of balance for the calculation.
true From BALANCE - Autolot will be calculated from the current balance.
true From FREE MARGIN - Autolot will be calculated from the current free margin (old version).
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
Now you can disable this adjustment and open pending and limit orders at the current price with a distance of 0 (for brokers who allow you to do this.)
Trading only when there are no open positions and meeting the conditions for a given percentage in one direction only.
If both BUY and SELL meet the opening condition, the new position does not open!
If there is an open position on the current currency pair, the new position is not opened.
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
This function sets break-even only for the current positions once. The break-even calculation also uses swaps and a commission.
This is a manual stop-loss in a break-even position for the current positions, which have a profit!
To enable automatic lossless, you need to enable it in the external settings.
Working with MagicTarget:
Added hot button to activate the MagicTarget / Cancel / Place button
MagicTarget_Button_KEY = BUTTON_O - Activation of the Magic Target, by default O. The tab on Orders automatically changes!
MagicTarget_Place_KEY = BUTTON_P - Set the order by the set levels, by default P.
MagicTarget_Cancel_KEY = BUTTON_I - Cancel by the displayed levels, by default I.
Added the ability to drag an entire order on a chart using MagicTarget:
When installing lines, you can change line levels by dragging lines on the chart.
Added the ability to drag the entire order, holding down the SHIFT button and dragging the main line of the opening price.
Update the function of calculating the cost of tick on futures. The cost of a tick is calculated directly from the open position. Note: If the position is only open, the Expert Advisor can not calculate the tick cost, so it shows the data taken from the server;
Fixed the ability to move trading levels when the collapsed panel;
Added the parameter Show_Prices_on_Tab_Position, which allows to display the Price change and the direction of the change (arrows and prices) on the Position tab. If you turn this option off, the panel will not show any changes;
Updated the operation of MagicTarget.
Added the indication of take profit to stop loss ratio on the take profit line.
Added the indication of the margin required for opening a position/order on MagicTarget.
- Added a variable for specifying the currency pair for the panel to work with: SymbolToTradeCustom
This allows working on offline charts (Tick charts, Renko charts, etc.).
Attention: Be careful when writing the name. The name should exactly match the name in the Market Watch!
EurUSD - incorrect!
EURUSD - correct!
If this parameter is not set, the EA works on the currency pair it is attached to.
- Added the ability for Magic Target to work on an offline (Tick, Renko...) chart.
- Added the indication of the feature operation to the CLP tab.
If the indication is red, the feature is disabled and does not work;
If the indication is green, the feature is enabled and working.
- 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
Updated the prohibition on dragging the trade levels when using the panel. If the cursor is on the panel, the EA disables the ability to drag the trade levels.
When using the REVERSE button to reverse the positions, the predefined stop loss and take profit are set to open positions.
When using the LOCK button for locking positions, all open positions are modified with stop loss and take profit = 0. That is, when locking positions, all the stop loss and take profit levels are zeroed.
Profit trailing can now be enabled only after setting the parameters for closing by profit.
Added the profit trailing values on the CLP panel near the input box for the distance of Trailing Profit. The value appears when the trailing level is fixed by the EA and shows the fixed level for closure.
Added block of alerts for profit and loss in the deposit currency.
If you want to limit the losses on the current client magic number, you can do that in the new block.
For example: you need the EA to send you emails and display on-screen alerts when the total loss of open and closed trades within LimitFor becomes less than -100 USD:
Set the parameters to the following:
After receiving the daily loss of -100 USD in history for the given magic number, the EA displays an on-screen alert and sends an email.
Attention: this block does not close trades! It simply displays alerts!
At the next LimitFor, this parameter is reset to 0.
You can select LimitFor= DAY;WEEK;MONTH;ALLTIME;
You can also enable sending email and push notifications when reaching the limits of NotificationMailSend
To the CLP panel for closing by profit or loss, added a block of notifications when closing positions by profit or loss. 3 notification methods are available:
CPL_AlerT - alert message
CPL_Mail - email message
CPL_Push - push notification
How to set up mobile device or email to messages from the Expert Advisor:
Added hot keys for managing the panel
KeyBoardTrade - enable/disable the management using hot keys.
Buy_KEY=BUTTON_D; - default button for opening BUY orders
Sell_KEY=BUTTON_A; - default button for opening SELL orders
Close_KEY=BUTTON_X; - default button for closing all positions
LossCLOSE_KEY=NONE; - default button for closing all unprofitable positions
ProfitCLOSE_KEY=NONE; - default button for closing all profitable positions
Reverse_KEY=BUTTON_Q; - default button for reversing all positions
Lock_KEY=BUTTON_E; - default button for locking all positions
You can use the numpad keys or the standard keyboard keys.
Attention: for the keys to work, it is necessary to activate the window with the panel.
Added options for managing lots for the grid of pending orders on the Orders tab
CoefLotForGridOrders - multiplier for the next lot in the grid.
For example: CoefLotForGridOrders = 2, Grid = 5, then the lots will be opened as follows: 0.1, 0.2, 0.4, 0.8, 0.16
AddLotForGridOrders - additional lot per each element of the grid.
For example: AddLotForGridOrders = 0.1, Grid = 5, then the lots will be opened as follows: 0.1, 0.2, 0.3, 0.4, 0.5
Added the MagicNumber parameter, now all positions and orders are opened with the specified magic number.
Also, added the UseAllMagicFromAllAccount parameter to the panel for managing all deals on the account.
UseAllMagicFromAllAccount = true - all positions and orders on the account will be considered when using the panel (Closure, Reverse, Locking.....).
UseAllMagicFromAllAccount = false - the panel works only with positions and orders that have been opened with the defined MagicNumber (Closure, Reverse, Locking.....).
Added the CommentOrders parameter.
You can specify an additional comment when opening a deal from the panel.
For the CLP tab
the MagicOrderToClose parameter has been replaced by 2 parameters:
MagicNumber - unique magic number of positions to close.
true = apply the function of closing by total profit or loss to all magic numbers.
false = set the unique magic number for closing positions in the MagicNumber parameter.
- 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.