I have been developing, testing and correcting this automated scalping system for a long time: https://www.mql5.com/en/signals/author/test-standart. The most stable results have been achieved on currency pairs with Swiss Franc, which means higher profitability and lower drawdown as compared to other symbols.
Highlights to pay attention to
1. During live operation of the EA, the GMT offset parameter is determined automatically based on local time of the computer (GMT_Offset_AUTO=true).
This parameter provides synchronization of the expert settings with the MetaTrader 4 server time.
To ensure the correctness of settings it is necessary:
- to compare the GMT time in expert information area on the chart of currency pair, to which the expert is attached, with http://time.is/GMT (or other reliable source).
- If the values do not match, then set GMT_Offset_AUTO=false and set a value of GMT_Offset_Manual according to the instructions in https://www.mql5.com/en/blogs/post/682539
2. In order to activate the News filter function, enable "Allow WebRequest" and add https://sslecal2.forexprostools.com/ to the URL list for WebRequest.
To do this, open Tools > Options > Expert Advisors. Check the option "Allow WebRequests for listed URL:". Add https://sslecal2.forexprostools.com/ and click OK.
The EA contains a news archive (01.01.2015 - 13.08.2017), which is used for testing.
3. By default, in the EA settings, the risk per trade is set to 3.6%.
After testing on real accounts this parameter can be changed depending on your preferences. I recommend using a fixed lot or a recovery money management.
4. The expert works on any timeframe equally well, as it automatically takes the necessary data from multiple timeframes.
As the expert uses multiple timeframes for the analysis, it is necessary for the quotes of all timeframes (M1, M15, M30, H1, H4) to be downloaded in the terminal for testing. At the same time, the testing itself can be performed on any timeframe.
5. For brokers with the rule "First In First Out", enable the parameter FIFO_MODE = true.
6. The EA logs information on spread, slippage and other useful information when performing trades, and also when it is possible to make trades.
To write this information, set the parameter Record_Deals = true;
To view this information:
- set the parameter Record_Deals = false;
- go to MQL4/Files in the terminal folder and open the corresponding file;
- after viewing, close the file and set the Record_Deals parameter to true for subsequent recording.
- ==== GMT and DST ====
- GMT_Offset_Manual - the difference between your broker's server time and GMT.
- GMT_Offset_AUTO - enable/disable the automatic detection of GMT Offset, using the local computer time (does not work in the strategy tester).
- Adjust_DST_Universal - enable/disable Daylight Saving Time correction (for the tester).
- ==== Lot and MM ====
- Use_Fix_Lots - enable/disable fixed trading lot;
- Use_MM - enable/disable the lot value as a percent of deposit based on StopLoss;
- Use_MM_Reg - enable/disable recovery money management (trading lot will not decrease in case of drawdowns);
- ==== Days without Trade ====
- Use_Holidays_Pass - do not trade during the holidays.
- ==== Record of deals in the file ====
- Record_Deals - enable/disable logging of the EA operation details in a file.
- ==== First In - First Out ====
- FIFO_MODE - enable/disable the First In First Out mode.
- ==== News Filter ====
- Use_NewsFilter - use the news filter;
- ==== Strategies select ====
- use_select_Strategy - select strategy from 1 to 6 using optimization in the Strategy Tester.
- ==== TIMING ====
- GMT_Open_Trade_Hour - hour to start opening trades, GMT;
- GMT_Open_Trade_Minute - minute to start opening trades, GMT;
- Period_Open_in_minute - time duration for opening trades in minutes;
- GMT_Monday_OH - time to start opening trades on Monday;
- GMT_Friday_CH - time to stop opening trades on Friday;
The full list of the EA parameters can be found in the blog: https://www.mql5.com/en/blogs/post/695169
2) The log file with the EA operations ("Record_in_txt") can now be viewed at a time other than the time the EA is allowed to trade and when there are no trades opened by the EA. Without changing the "Record_Deals" parameter to "false", as before.
3) The history of news for the strategy tester is updated to November 14, 2017 ("NewsFilter").
2) The option allowing to note jumps of spread on a chart.
2. The parameter limiting the minimum transaction lifetime: "not_close_transaction_number_second".
3. In the AUTO_PARAMETERS mode, it is possible to change all the parameters in the "Common Parameters" block.
4. Downloaded the news archive (1/1/2015 - 7/10/2017) for testing with the news filter enabled.
2) Skipping holidays.
3) Field for entering currencies in the filter of news.
4) Skipping the beginning and end of month.
2) block of parameters: "Trailing Stop";
3) additional filter on an entrance to the transaction: "add_filter_of_entrance";
4) option of alternative settings at the included mode "AUTO_PARAMETERS": "Alternative_Set_at_AUTO".
2) Ability to close a profitable transaction at any spread.
3) The internal improvements to prevent the EA incorrect operation in emergency.
2) Added the ability to select the trading direction (Buy or Sell).
2) Parameters of the maximum spread can be changed if AUTO_PARAMETERS=true.
2) The recommended currency pairs: EURCHF, USDCHF, GBPCHF, EURCAD, CADCHF, GBPCAD.
2) Added option to record the information of the expert (opening / closing of positions), to a file for future analysis.
3) Ability to set a custom maximum opening spread and closing spread for BUY and SELL positions.
4) When back testing, a custom date can now be assigned for the beginning and end of DST (Daylight Savings Time) for more accurate back testing results.
5) Added the ability to limit open positions in time.
2) Added the ability to set the pause in the time interval for opening orders.
2) The number of strategies is increased (more transactions).
3) Magic numbers and comments to strategies can now be set manually and in the AUTO mode.
2) Parameters are divided into two blocks for simplicity of setup:
◾MANUAL_PARAMETERS - block of parameters to be filled manually;
◾AUTOMATIC_PARAMETERS - block of parameters recommended to be set automatically (AUTO_PARAMETERS = true).
Safety_StopLoss = 2*StopLoss, Safety_TakeProfit = 1.2*TakeProfit.