RapidFire is an Expert Advisor that uses the strategy of local extrema breakouts. Local extrema are based on the principle of fractals by Bill Williams with the only difference that the user can customize their periods.
Description of the EA's useful features:
The Expert Advisor has a function for recording the pending order execution statistics to a text file (the EA also displays the execution statistics of the last three orders in the info panel), which will allow the trader to monitor spread and slippage of a pending order at the time its activation.
The user can also configure the EA to only open orders after the release of high-impact news, because large price spikes often happen at that time. Please do not forget to add the necessary link to the list of allowed URLs for the WebRequest function (see the Comments page).
Another function is closing pending orders when the spread becomes larger than the allowable value. The EA will be able to place a pending order at the previous price only when the spread normalizes.
Recommended currency pairs and timeframes: XAU/USD (M15, H1, H4), GBPUSD (M15, H1), EURUSD (H1), USDJPY (H1).
- Auto Lot Size — if "True", then the EA will calculate the Lot using the "PerEquitySize" and "InitialLot" parameters; if "False", the EA will use a fixed lot.
- Lot Step Size and Per Balance — lot per deposit amount. For example, if "Per Balance" is set to 450, and "Lot Step Size" = 0.01, this means that the lot of 0.01 will be used for every 450 units of the deposit. With the balance of 900 the lot will be 0.02, etc.
- Reverse Trading (Limit orders instead of Stop orders) — if set to "True", the EA will open limit orders instead of stop orders.
- Close pending orders during a high spread period — if True, the EA will close pending orders if spread exceeds Max Spread (Points). Once the spread normalizes, the EA will place pending orders at the previous price.
- Close orders during a high spread when a distance is less than — the "Close Pending Orders During High Spread" function will not work if the pending orders are further than n points away from the current price.
- Save orders execution statistics — if True, the EA will record order execution statistics (spread and slippage at the moment of pending order activation). Statistics will be stored in the folder 'terminal_data_folder/MQL4/Files/RapidFire'.
- Size of the left/right side of a H/L point (number of bars) — the minimum number of bars for the left/right side of high/low points.
- How many orders must be placed on one H/L point — the number of High/Low points for the EA to place pending orders.
- Open orders only after important news — open orders only after the release of important news.
- Name of the CSV file — name of your CSV file with news history data. The CSV file must be located in the folder '//terminal_data_folder//test//files'.
- Use Daylight Saving Time For Testing With News — works only during testing. The EA shifts the time of news one hour forward during the Eastern European Summer Time (EEST).
- Trading period before/after important news (in minutes) — trading period in minutes before/after an important news release.
- Your broker's GMT offset — GMT time zone of your broker.
- Which currency news the EA must track — set the currency pair to monitor news for.
- Put pending orders on number of H/L points — the number of High/Low points for the EA to place pending orders.
- Trade only at the specific time period — if True, the EA will only trade at the specified time.
- TradeOnMonday/Tuesday/Wednesday/Thursday/Friday — if False, the EA will not trade on the specified day of the week.
- Stop Trading On Friday — if True, the EA will stop opening new orders on Friday after a specific time.
Full description of all parameters: https://www.mql5.com/en/blogs/post/705405
- Removed the "max slippage" parameter, as it does not work on accounts with "market execution".
- The EA will close an open order if its slippage is greater than N points.
- Fixed a bug where the EA would not open pending orders after a trade period begins.
- The EA can put pending orders on multiple high/low points.
- The input parameter "Put Pending On The Next H/L Point" was replaced by the "Put pendings on number of H/L points" one.
- Removed the "H/L Filter" function.
- Added the function to send a push notification or an email if a critical error occurs.
- Some minor big fixes.
- "Buy Pending Order Price Offset" - additional points to be added to the open price of a buy limit/stop pending order.
- "Sell Pending Order Price Offset" - additional points to be added to the open price of a sell limit/stop pending order.
- "Put Pending on The Next H/L point" — if True, the EA will ignore the first high/low point and search for the next one. Once the next high/low points are found, the EA will put pending orders on them.
- "H/L Filter" — if True, the EA will place pending orders only near the boundaries of the channel.
- "H/L Period" - the period of the channel in bars.
- "Don't Close Orders During High Spread If The Distance is More Than" — the "Close Pending Orders During High Spread" function will not work if the pending orders are further than n points away from the current price.
- Fixed some issues with the info panel.
+ Stop Trading On Friday - if True, the EA stops opening new orders on Friday after a specific time.
+ Friday Stop Trade Time - time, after which the EA stops opening new orders on Friday.
- Optimized the speed of testing with news history.
* Name of the CSV file - the name of your CSV file.
* Use Daylight Saving Time For Testing With News - works only during testing. The EA shifts the time of the news one hour forward during the Eastern European Summer Time (EEST).
* Trading period before important news (in minutes) - allow the EA trade before important news (in minutes).