Licence Protection Template Expert Advisor For MT4
WE IMPROVED THIS EXPERT ADVISOR FOR YOU!!!
PLEASE NOTE: This expert advisor was publicly available for free usage on other websites and is not programmed by us. We explain the functionality and possible improvements of the EA. Furthermore, we are convinced that fully automatic Expert Advisors will fail in the long run. On the other hand, our semi-automatic approach with detecting the best setups and then activating our Expert Advisors (e.g. V-Power EA, EdgeZone EA) produced many successful traders and some of them even got prop traders at prop trading firms. Therefore, we added a similar semi-automatic trading feature (to allow only buy or only sell trades) to the free Expert Advisors. You can download the modified version here and enjoy!
Table Of Contents:
- Licence Protection Template Expert Advisor For MT4
- The Licence Protection Template Expert Advisor For MT4 – Entry Criteria
- The Licence Protection Template Expert Advisor For MT4 – Exit Criteria
- The Licence Protection Template Expert Advisor For MT4 – Room for Improvement
The Licence Protection Template Expert Advisor For MT4 is a very simple algorithmic trading system for MT4 platform. It is a fully automated trading system as it handles both trade entry and exit without needing user intervention. In fact, it does not take any inputs from the user. While this setup might be a good thing at first, it might limit the user’s capability in the future as the need arises.
As the name suggests, this expert advisor is designed to protect expert advisors from being stolen or being used by unauthorized users. However, this is not at all possible as any user may have a copy of the source code file. A trading robot creator can only protect his own work even without invoking his rights to intellectual property by inserting a specification for expiry in the program code and selling or sharing the executable file to the intended users.
During testing, the expert advisor took several trades and managed to come to breakeven at the end of the test run. The equity curve fluctuated up and down with no clear direction. Obviously, this testing result suggests that the expert advisor is not ready to be used for live trading. Further testing may be needed to be done by the user to have confidence in using the robot. Additionally, if the user has a programming background in MQL4 language, it is a good idea to look into the code and tweak something to ensure the expert advisor performs the intended functions.
The Licence Protection Template Expert Advisor For MT4 – Entry Criteria
The Licence Protection Template Expert Advisor for MT4 performs very minimal checks the moment it is dropped on the chart. It does not conduct involved mathematical computations to generate data for later use in trade generation or for display of any objects on the chart. As such, the robot may be run in slow computers without affecting computer performance.
The trading system does not wait for a new candle to form before performing its algorithm as it runs by the tick. It executes only one preliminary test prior to looking for trade entries. The expert advisor looks at the account balance to see if it has enough margin to take on new trades. If it does, then the robot conducts trade operations.
First, the robot will check the trading account if it contains a market order for the current symbol. If this is the case, the robot immediately gets out of the loop and put on a waiting mode until a new tick comes in. If there is no open trade, the expert advisor will immediately send a trade request to the trade server.
In the trade request, the robot sends a buy order with a lot size of 0.01 (by default). The user has no freedom to change the lot size as it is imbedded in the program code. The robot comes with no inputs at all. Going along with the request are the orders for stop loss and take profit. The default stop loss is 20 pips, and the default take profit is 20 pips. However, upon trade execution the robot adds the current spread to the stop loss amount, so the risk is increased by the spread value.
As mentioned in the foregoing paragraph, the expert advisor takes buy trades only, perhaps not by design. Once a trade is taken, the robot stops looking for another trade. It assumes a passive role until either the trade is closed by the stop loss or take profit. In this trading system, no technical indicator is being used to determine the directional trade bias.
The Licence Protection Template Expert Advisor For MT4 – Exit Criteria
The Licence Protection Template Expert Advisor for MT4 takes a passive approach regarding trade management. As a trade always has a stop loss limit and a take profit target, the robot lets the market decide the fate of each trade. If price hits the stop loss, the trade is closed at a loss. If instead price hits the take profit objective, the trade is closed at a profit. The robot does not contain the functionality to adjust the stop loss to breakeven or beyond as it becomes profitable. It is a win-loss scenario with the same amounts for potential loss and anticipated profit.
The Licence Protection Template Expert Advisor For MT4 – Room for Improvement
While the Licence Protection Template Expert Advisor for MT4 runs on autopilot mode, it appears to be created not for the purpose of performing trade operations. The creator might have envisioned to share the code to the public to provide guidance on how to put expiration dates to expert advisors of any kind.
Any user familiar with the MQL4 programming language can easily make the conclusion that the expert advisor is not intended to take trades. However, in the strategy tester, the expert advisor takes buy trades anyway. This trade entry is possible based on the code, but buy trades are taken by accident. It was a mistake arising from initializing a certain variable.
In addition, the function for checking trades is erroneous. The algorithm requires the robot to loop through the orders in the trade pool to check if a trade order’s close time is equal to zero. The function will never return the correct value (i.e., 1 or -1) as control will immediately exit the for loop earlier than intended and will never get to a point where it checks the current order’s trade type. The returned value is always zero, resulting in buy trades being taken from start to finish in the strategy tester.
During a short test run, the expert advisor seems to be working just fine. It managed to come very close to breakeven at the culmination of testing. The equity curve looks like the zigzag indicator in MT4 when applied to a ranging market. The win rate of 52 percent is not bad at all either, and the drawdown is very small. These trade statistics might look neutral to traders, but the unidirectional trade bias is a cause of concern. The robot executed around 300 trades in three months of testing, averaging 100 trades per month, which is on the high side for typical expert advisors. Taking buy trades only all throughout does not look normal.
Therefore, this trading program needs code review to correct errors in trade functions and give users some parameters to adjust to their liking. Users must be given the chance to adjust the lot size, stop loss and take profit of trades as most expert advisors do. In addition, putting these crucial parameters in Inputs will allow users to test the robot in the strategy tester and use the advanced optimization function. However, the code must be explored for errors first prior to making some variables available for user adjustment.
The user might do the code review himself if he is capable. He might consider adding functions as well that will make the expert advisor a more versatile trading tool. One area that the coder can look into is the trade entry. Executing trades with random order type might not be best if maximum profitability is desired. The developer can use simple tools to select the trade direction based on market condition. The simplest technical tool is one or two moving averages. When price crosses below or above the moving average, that is a signal for entry in the direction of the breakout. Alternatively, a crossover of two moving averages can be easily coded to define the trade direction.