VR Smart Grid is a multi-functional expert Advisor for the MetaTrader 4 and MetaTrader 5 terminals that allows you to trade using order networks. The adviser's algorithm allows you to trade on the trend and against the trend. Trend trading is designed in such a way that each new order is opened only if the previous order has a Stop Loss in the profit zone. Trading against the trend is conducted in order to close unprofitable positions with a profit. The EA has a large number of settings that allow you to conduct conservative, aggressive or scalping trading of financial instruments.
>Advantages of the VR Smart Grid adviser
Easy to configure
Suitable for beginners and professionals
It can work with any financial instruments (Forex, Crypto, CFD, Futures, Metals)
It can be optimized in the strategy tester
Can trade on any time periods
It has several trading modes, according to the trend, against the trend
It has several averaging modes, including smart averaging
It has several types of trailing stop
Two versions of the EA have been developed for MetaTrader 4 and MetaTrader 5
The adviser's algorithm depends on the selected settings. The standard algorithm of the adviser - the adviser is waiting for a signal from the CCI indicator. If the indicator is in the oversold zone, the adviser opens a buy position, if the indicator is in the overbought zone, the adviser opens a sell position. When prices rise, the Advisor will add to positions with the trend a lot, specified in the settings under the condition that the latter stop loss is in profit zone and against the trend, EA will open orders according to the selected type of lot calculation, in order to close the order grid at a profit. The network of orders against the trend is closed by one of the averaging options. All orders can participate in averaging, the lowest and topmost order, the last two orders, and “Smart averaging” can also be used, which selects the best option from other averages.
It is important to note how orders are closed. The expert Advisor algorithm allows you to close a network of orders with the minimum profit specified in the program settings. The most risky orders can also be closed using previously accumulated profit. When working with trailing stop orders against the trend, there can often be a situation when trailing works on large orders with a large lot, after running a large order several times, the adviser accumulates profit and, if this profit is greater than the profit specified in the settings, the adviser will close a risky distant order.
Unlike other expert advisors that use the order network trading method, VR Smart Grid can simultaneously trade for buy and sell, use trailing stop for orders, and calculate trading lots using several algorithms.
The profitability of the VR Smart Grid expert Advisor was determined and achieved using the optimizer built into MetaTrader 5, since the quality of optimization, the quality of historical data is several times better than in MetaTrader 4. All settings can be applied to the MetaTrader 4 and MetaTrader 5 terminals.
The conditions of testing and optimization:
Testing period: H1
Testing time interval: (2019.01.01 - 20.01.07)
Accuracy: 5 decimal places
Simulation: 1 minute OHLC
Initial Deposit: 1000 USD
Margin requirements: 1: 500
Calculations: Currency of Deposit
Optimization: 4-pass Genetic algorithm
Positive passes 28346
Optimization report with maximum profitability, optimization is made on five waves with a genetic algorithm.
Each wave is the start of optimization, and each point is the result of optimization. The optimizer was able to find and calculate several thousand sets of settings for which the VR Smart Grid adviser showed a positive result. All pass results are archived with the program in the Report Optimizer file.xml
Schedule and report of testing the VR Smart Grid adviser in the strategy tester:
Chart of a single run of the adviser in the strategy tester after optimization.
Story quality: 99%
Ticks: 1459380 Characters: 1
Net profit: 1 125 546.15
Absolute drawdown on the balance: 2.90
Absolute drawdown on funds: 683.91
Total profit: 1 291 073.39
Maximum drawdown on the balance: 8,815.44 (1.09%)
Maximum drawdown on funds: 454 720.68 (52.50%)
Total loss: -165 527.24
Relative drawdown on the balance: 1.93% (6,371. 80)
Relative drawdown on funds: 76.51% (52,875.73)
Expectation of winning: 993.42
Margin level: 62.88%
Recovery factor: 2.48
Sharpe Ratio: 0.20
Z-Score: 19.73 (99.74%)
AHPR: 1.0067 (0.67%)
LR Correlation: 0.95 OnTester Result: 0
GHPR: 1.0062 (0.62%)
LR Standard Error: 138 699.54
Total trades: 1133
Short trades (% of winners): 591 (56.35%)
Long trades (% of winners): 542 (59.78%)
Total transactions: 2266
Profitable trades (% of all): 657 (57.99%)
Loss-making trades (% of all): 476 (42.01%)
Largest profitable trade: 72,687. 74
The largest losing trade: -8 815.09
Average profitable trade: 1,965.10
Average loss-making trade: -347.75
Maximum number of continuous wins (profit): 10 (161 163.53)
Maximum number of continuous losses: 14 (-1 894.89)
Max. continuous profit (number of wins): 161 163.53 (10)
Max. continuous loss (number of losses): -8 815.09 (1)
Average continuous win: 2
Average continuous loss: 1
Additional testing data:
To create the settings file, the best result was selected from 31756 received parameter sets.
Conduct testing in conditions as close to real as possible.
Use demo accounts for tests.
Conduct testing for at least 2-4 business weeks
Use a VPS server, this will allow the expert Advisor to work efficiently 24/7
The program settings allow you to run multiple copies of the adviser in one terminal
Do not allow yourself to take big risks, use a small Deposit
Any .set files check on tests
Testing the adviser in the strategy tester will not give you any guarantees, use only demo accounts
Do not leave the adviser to work 24/7 on a real account, always monitor the work of the adviser
Adjust the settings if necessary
[opt] - it makes sense to optimize the Setting.
[4/5] - the setting depends on the number of decimal places on the trading account.
< --- The calculation settings of the lot --- >
Lot calculation type (Fixed or Percentage) - this setting allows you to set a fixed lot or lot based on the account balance. In the first case, when trading profitably, the starting lot for all networks will remain unchanged. In the second case, when the profit on the balance sheet increases, the starting lot will also increase.
Fixed lot - the Lot is unchanged and does not depend on the balance on the Deposit. Example: 0.01, 0.23, etc.
Lot by percentage % - Dynamic lot and depends on the balance on the Deposit. By entering the value 1 in the field, the expert Advisor automatically calculates the lot based on 1% of the Deposit, if the Deposit is $ 100,000, the lot will be calculated from 1% it is $ 1000, the lot value will be 4.33 lots.
Value - depending on the selected type of lot calculation, the value field is specified for a Fixed lot or a Percentage of which the lot will be calculated.
[opt] lot calculation Type ( calculation for orders) - this setting allows you to select one of several types of lot calculation for the order network.
Start lot (1,1,1,1,1,1,1,1,1,1,1) - This lot calculation uses the starting lot without changes for all orders in the network.
Martingale lot (1,2,4,8,16,32,64,128) - This calculation of the lot increases the lot, for each subsequent order in the network, twice
Fibo lot (1,1,2,3,5,8,13,21,34) - This lot calculation increases the lot for each subsequent order in the network based on the principle of Fibonacci numbers. Each new lot is equal to the sum of the previous two lots.
Sum start lot (1,2,3,4,5,6,7,8,9) - This lot calculation increases the lot for each subsequent order in the network, on the principle of adding the starting lot.
Up lot + Dw lot (3+,4,7,10,13,16,19) - This lot calculation increases the lot, for each subsequent order in the network, according to the principle, the sum of the smallest lot and the largest lot.
Maximum allowed lot for purchases - this setting will limit the size of the maximum lot for purchase orders. If the lot is calculated more than specified in the settings, the adviser will automatically reduce the lot to the value specified in the settings.
Maximum allowed lot for sales - this setting will limit the size of the maximum lot for sale orders. If the lot is calculated more than specified in the settings, the adviser will automatically reduce the lot to the value specified in the settings.
< --- Order averaging settings --- >
[opt] order averaging Type - this setting allows you to select one of several types of order averaging.
All orders - This type of averaging automatically sets the total take profit for all orders by type. At the same time, buy orders will have their own take profit, and sell orders will have their own.
Two extreme orders Maximum and Minimum - the setting allows you to average the two extreme orders between each other and exclude from averaging all orders that are located between the highest and lowest orders.
Two extreme orders Maximum and Previous - This type of averaging automatically averages the last two orders.
Smart averaging, selects the best averaging from other averages - This type of averaging automatically analyzes the above-described averaging types and selects the most appropriate averaging type for the current situation. The expert Advisor automatically applies the best averaging option.
Do not use averaging - Averaging is not used.
Two extreme orders Maximum and Minimum (Partial closing) - This type of order closing uses the method of splitting orders into parts, the program automatically takes the lot of the maximum order and splits it into parts. Then the program closes the maximum order in parts. For purchases, it looks like this: the Maximum order at the price is at the very top, its lot is larger than the minimum, the program splits the lot into parts and automatically closes part of the maximum order and the most recent order in the network.
Two extreme orders Maximum and Previous (Partial closing) - This type of order closing uses the method of splitting orders into parts, the program automatically takes the lot of the previous order and splits it into parts. Then the program closes the previous order in parts. For purchases, it looks like this: the Previous order at the price is higher than the last order, its lot is greater than the minimum, the program splits the lot into parts and automatically closes part of the previous order and the most recent order in the network.
Virtual network - This type of order closing is a separate experimental strategy. The virtual network is built inside the program, which allows you to use stop loss and take profit when trading.
Manual change of the total take profit - this setting allows you to display the line on the chart to increase the total take profit for the order network. The line is moved with the mouse after double-clicking on it.
< --- Trade type settings --- >
[opt] trade on a trend ? - Setting automatically turns the trade on the trend. There are no lot calculations for trend orders and the starting lot is used.
Do not use - trading on the trend is not conducted.
Enabled - to enable trade with the trend.
Trade type - the setting allows you to choose the direction of trade or disable trade in the direction or completely stop the program trading smoothly.
Trade all orders - this setting allows the program to trade buy and sell orders.
Trade only buy orders - this setting allows the program to trade only buy orders.
Trade only sell orders - this setting allows the program to trade only sell orders.
Stop buy trading smoothly - the setting allows the program to trade buy orders, allows the program to trade sell orders until the network of sell orders is completely closed.
Smoothly stop sell trading - the setting allows the program to trade sell orders, allows the program to trade buy orders until the network of buy orders is completely closed.
Smoothly stop trading with the expert Advisor - the setting allows the program to trade in all directions until the network is completely closed for purchase and until the network is completely closed for sale in turn.
Enable manual trading mode - this setting allows the program to provide the order network management to the trader in manual mode. The trader gets a control panel with which he can indicate the levels on the chart for opening subsequent orders and set the lots manually for subsequent orders. The advantage of this mode is the ability to set levels in a free direction, including at an angle.
[opt] trade on a new bar ? - The setting indicates the moment when orders are opened.
Do not use - trade regardless of the period.
Included to take Account of the emergence of a new period.
Maximum number of buy orders - the setting limits the number of buy orders in the network.
Maximum number of sell orders - this setting limits the number of sell orders in the network.
< --- Order step settings --- >
[opt] [4/5] Step between orders in points - the setting sets the distance between which subsequent orders will be opened.
[opt] order Series - setting allows the program to affect the previous setting and change the distance between orders depending on the number of orders.
< --- Balance management settings --- >
[opt] [4/5] Minimum profit for closing orders in points - the setting adds the specified number of points to the average price of the order network.
Close all orders with a profit or loss in the Deposit currency - this setting tells the program at what amount of the current profit or loss to close all orders and stop trading, before restarting the program.
Use Commission and swap compensation - the setting tells the program to compensate Commission and swap in profit. The spread is not taken into account.
Do not use - Compensation for the swap and Commission is not taken into account.
Enabled - compensation for the swap and Commission is taken into account, and the calculated number of points is added to the total take profit.
< --- Trailing stop settings --- >
[opt] trailing stop Type - the setting tells the program which type of stop loss pull - up for the price to use.
[opt] Don't use trailing stop - the setting tells the program not to use trailing stop loss.
[opt] Classic trailing stop - setting tells the program to pull up the stop loss automatically after the price and only in the direction of reducing the loss and increasing the profit.
[opt] Trailing stop on the Donchian channel - the setting tells the program to pull up the stop loss automatically after the price and only in the direction of reducing the loss and increasing the profit, while using the Donchian channel levels.
[opt] Trailing by moving Average - the setting tells the program to pull up the stop loss automatically after the price and only in the direction of reducing the loss and increasing the profit, while using the moving average price.
[opt] Distance for trailing stop - setting sets the minimum distance at which the stop loss is pulled up after the price.
[opt] Donchian or Moving average Period when trailing on the indicator - the setting sets the period for the Donchian or moving average indicator.
< --- Trading stop time settings --- >
Time limit (On/Off) - the setting specifies the time when the program does not trade orders, and the program will automatically monitor previously opened orders.
Do not use - Do not use time control.
Enabled - Limit the program's trading time.
Stop trading by time - this setting specifies the time from which new orders should not be opened.
Resume trading by time - the setting specifies when to resume trading.
< --- Settings of trading strategy signals --- >
[opt] trading strategy signal Type - the setting specifies which signal to use to start trading a network of orders.
[opt] Do not use the indicator signal - the setting tells the program to trade independently of the signals.
[opt] Signal from the CCI indicator - the setting tells the program to use the CCI indicator for signals. Buy orders are opened when the CCI crosses a level -100 from the bottom up, to sell when CCI crosses 100 from top to bottom.
[opt] Donchian channel Breakdown - the setting tells the program to use the Donchian indicator for signals. The purchase occurs when the current price breaks through the local maximum price level for the selected period. A sale occurs when the current price breaks through the local minimum price level for the selected period.
[opt] moving average Intersection - the setting tells the program to use two moving averages for signals.
The signal to an external indicator - setting specifies the program to use the external indicator signals are passed via global variables. GlobalVariableGet ("SignalBuy") = = 1 and GlobalVariableGet ("SignalSell") = = -1
[opt]Apply the signal to all orders in the network - the setting tells the program to use the received signals from trading strategies for all orders. All new orders will be opened if all conditions and signals from the strategy are met.
[opt] period of the Donchian indicator or fast moving average - the setting specifies the period for signals from the Donchian indicator or the period for the fast moving average.
[opt] slow moving average Period - the setting sets the period for signals from the slow moving average.
< --- Other settings --- >
Show balance information on the chart - this setting allows you to display information about balance changes in the upper-left corner of the chart.
Do not use - do Not display changes in the balance.
Enabled - Display balance changes.
Low Margin warning - this setting tells the program to display a low Margin warning for the trader.
Order comment - this setting sets a custom comment for orders. If the field is empty, the program name and MagicNumber are used as comments.
Order serial number (Magic Number) - this setting allows the program to control and open orders only with the specified serial number.
Slippage - this setting tells the program in which range of points to allow brokers to accept orders, if the price has changed since the order was sent to the server.
Version 20.27 2020.02.13
Revised calculation of swap and Commission compensation
The program's algorithm has been optimized and accelerated
Version 20.26 2020.02.01
Optimized the calculation of the lot by percentage
Version 20.25 2020.01.30
Fixed - Message and maxlotcheck lot calculation
Fixed - Trading at the intersection of moving averages
The entire history of changes and updates can be viewed at the link.
At the moment, there are no plans for further development.
You can suggest an idea or revision in the "Reviews and discussions" section.
>What's in the archive
The archive contains files:
VR-Smart-Grid-RU.ex4 - version of the program in Russian language for MetaTrader 4
VR-Smart-Grid-EN.ex4 - English version of the program for MetaTrader 4
VR-Smart-Grid-RU.x5 - Russian version of the program for MetaTrader 5
VR-Smart-Grid-EN.x5 - English version of the program for MetaTrader 5
Optimization and testing files for the adviser
Adviser settings files
Expert Advisor testing report in Myfxbook monitoring
How the adviser works in the strategy tester
The EA works in the MetaTrader 4 tester for an hour
A non-indicator trading strategy based on the breakdown of the middle of the previous movement. The trading strategy is as simple as" two fingers " and does not require much knowledge and a lot of time.
Hereby, in accordance with the Federal law No. 152-FZ "on personal data" dated 27.07.2006, I freely Express my unconditional consent to the processing of my personal data to Pastushak Vladimir Romanovich, registered in accordance with the legislation of the Russian Federation at the address:Rostov-on-don (hereinafter - the Operator).
Personal data - any information relating to a particular or determined on the basis of such information to an individual.
This Consent is issued by me for the processing of the following personal data:
The consent is given to the Operator to perform the following actions with my personal data using automation and/or without the use of such means: collection, systematization, accumulation, storage, clarification (update, change), use, depersonalization, as well as the implementation of any other actions provided by the current legislation of the Russian Federation as manual and automated methods.
This consent is given to the Operator to process my personal data for the following purposes:
providing me with services/works;
sending notifications to me regarding the services/works provided;
preparing and sending responses to my requests;
direction in my address information, including advertising, events/the goods/the services/the works of the Operator.
This consent is valid until its revocation by sending a notice to the email address email@example.com. In case of withdrawal of my consent to the processing of personal data, the Operator has the right to continue processing of personal data without my consent if there are grounds specified in paragraphs 2-11 of part 1 of article 6, part 2 of article 10 and part 2 of article 11 of the Federal law No. 152-FZ "on personal data" dated 27.06.2006.