BF Scalper PRO product page: https://www.mql5.com/en/market/product/34455
BF Scalper PRO live performance: https://www.mql5.com/en/signals/599247
MQL5 channel. For news and discount here -> https://www.mql5.com/en/channels/fxautomater
Telegram channel -> https://t.me/fxautomater_official
BF Scalper PRO is the professional version of my very popular free EA - BF Scalper EA. I have implemented a lot of new additional features and systems in this PRO version in order to improve its overall performance. The improved exit logic reduces the drawdown and increases the efficiency of the system. In addition, the new ATR based Stop Loss calculating algorithm /as an option/ works excellent adapting the Stop Loss levels to the current market volatility, decreasing the drawdown and increasing the Profit Factor of the system. I have added Grid System to make BF Scalper PRO more profitable and less broker dependent. The Grid System is optional and it is disabled by default. Read below to learn how to use the Grid System. In order to prove that the system is profitable under real market condition, I’ve performed 99.9% quality, real tick data, REAL SPREAD backtest, which are promising.
BF Scalper PRO Features:
- Strong, pure and simple trading logic
- Reasonable TP and SL levels - plus new ATR based algorithm
- Low drawdown
- Solid 18-year backtest performance
- Multiple currency pairs support
- Advanced News Filter
- Volatility filter
- New, improved, highly effective exit logic
- Email and Push Notification system
- Friday Exit System
- Grid System (optional)
- Trailing Stop System
Recommended timeframe: M15
Recommended backtest method: M15 by every tick
Supported currency pairs: GBPUSD, EURUSD, EURCHF, EURAUD, EURCAD, EURGBP, GBPCAD, USDCAD, USDCHF and USDJPY.
The default settings are for GBPUSD. I have prepared set files for other supported pairs too. Please scroll down to the bottom of the post. You will find all available .set files.
Please, make sure that you have loaded the .set files for each individual currency pair!
IMPORTANT: Please, pay attention to the parameters MondayTradingHours, TuesdayTradingHours, WednesdayTradingHours, ThursdayTradingHours and FridayTradingHours! In order to get proper results, you have to set them correctly according to your broker GMT Offset. Read carefully the parameters explanation below!
Please, bear in mind that the performance of this kind of trading is highly limited by the brokers conditions - do not even think to try it on random brokers, or micro accounts - only on well-known ECN brokers with tight spreads.
BF Scalper PRO comes with Money Management System. You can set a risk in percents and the robot will automatically calculate the lots according the risk and your account free margin.
Advanced News Filter
BF Scalper PRO is equipped with Advanced News Filter. Thanks to this filter you can avoid trading during most important news and events. The news filter can increase the profit factor of the system and reduce the drawdown. It is disabled by default and you can configure it precisely.
Configure MT4 terminal to allow WEB Requests to the following url: http://www.fxautomater.com You can find it in: MT4 terminal -> Tools -> Options -> Expert Advisors -> Allow WebRequests for listed URL (check the image below):
This is very important! This is the only way the News Filter to work properly. The information for the coming News and Events is on my website and you have to give a permission to the MT4 terminal to allow connections to my website.
Advanced Time Management System
With the Time Management System you can precisely configure the robot to trade only during specific hours. You can also configure the robot to trade or not on individual week days. This is a very powerful option which will let you avoid the most dangerous periods and to trade the best periods when the robot show best results.
Friday Exit System
We all know that sometimes it could be risky to trade on Friday because the trades may remain during the weekend and may be closed on big loss due to Monday gaps. BF Scalper PRO has a Friday Exit system and you can configure the robot to close all trades on Friday evening at a desired time and to stop trading after this time.
E-mail and Push Notification System
BF Scalper PRO will inform you about all actions performed in your account. It easy to set-up your terminal to receive these notifications. BF Scalper PRO can send email and push notifications to your mobile phone and inform you about its trades. By default these options are disabled. Please read below BF Scalper PRO Settings to learn how to enable Email and Push notifications.
Dynamic Stop Loss
BF Scalper PRO comes with a new ATR based Stop Loss calculating algorithm /as an option/ works excellent adapting the Stop Loss levels to the current market volatility, decreasing the drawdown and increasing the Profit Factor of the system.
Grid System (optional)
The new version 1.2 (and above) of BF Scalper PRO comes with Grid System. The Grid System is developed to make BF Scalper PRO more profitable and less broker dependent. My goal was to make the EA perfect trading strategy for all traders. Because with the Grid System it can cover the needs and expectations of most of the forex traders.
The Grid System is disabled by default. When you enable the Grid System you need also to configure it or to use one of the .set files which i have published below. You can find several .set files for different currency pairs and for different scenarios. The Grid System of BF Scalper PRO can be used in many ways.
You can use it as normal grid, grid with martingale risk policy and in more aggressive way. No matter how you will use the Grid System it will improve BF Scalper PRO performance if you configure it correctly.
1. How to use the Grid System as normal grid?
The only thing you have to do is to enable the Grid. Just set Grid_System=true and then configure the Grid parameters. The most important parameter of the Grid Systems are:
These four parameters are enough for making BF Scalper PRO a normal grid. You can read below the section "BF Scalper PRO Settings" to learn more about these four parameters.
What is typical for a normal grid? The typical is that the strategy open a few trades with specific distance between each trade and same lot size. You can control the number of trades by Grid_Max_Trades. You can define the distance by Grid_Distance. You can set take profit in pips by Grid_Take_Profit and you can set stop loss by Grid_Stop_Loss parameter.
With these four parameters you can run optimization to find the best configuration. Then you can use this configuration for real trading.
2. How to use the Grid System as grid with martingale risk policy?
Grid with martingale risk policy means that every next trade will be with higher risk than the previous one. The advantage of this is the speed of closing the trades. Most of the times when martingale risk policy is used with grid strategies all open trades are quickly closed on profit.
You can use the same four parameters from above plus the following parameters:
The first parameter Grid_Risk_Multiplier is used for risk policy. Read the section "BF Scalper PRO Settings" to learn more about this parameter and how to use it.
Since martingale strategies have complicated risk calculation you cannot simply use take profit in pips. Therefore i have added additional parameter Grid_Take_Profit_Money. It is more easy now to calculate your desired profit. Low values of this parameters mean that the EA will close the grid trades quickly. Grid_Stop_Loss_Money is the stop loss in money (your account base currency).
3. How to use the Grid System in more aggressive way?
Based on my tests and optimizations the Grid System can be used as more clever system too. What this means? Not always you need a few additional trades (grid) to compensate the initial losing trade. Sometimes you need only one trade with higher risk and opened at right moment.
This is possible with the Grid System of BF Scalper PRO. You need to configure the following parameters:
- Grid_Max_Trades: usually you need to set 1.
- Grid_Distance: you need to set bigger distance. For example 70, 80 ... 100..
- Grid_Trade_By_Signal_Only: this should be always true.
- Grid_Signal_Period: based on my tests the best results can be achieved with value 60. This is H1 time frame.
- Grid_Risk_Multiplier: you need to set 5. For different currency pairs this may vary.
- Grid_Take_Profit_Money: you need to set minimal profit in money for closing both trades (the initial and the additional).
- Grid_Stop_Loss_Money: you need to set the stop loss in money if there is a big movement in wrong direction.
I have prepared .set files for some of the supported pairs with activated GRID System. You can find these .set files below. Have in mind that there are .set files for different cases with different combination of settings. You must test all .set files in strategy tester before to load them on your real money account. Test well and make sure that the .set files are OK with your account balance and risk you trade.
BF Scalper PRO Grid System .set files
- bfspro-euraud-2000-martingale.set - optimized since 2000 year
- bfspro-eurcad-2000-grid.set - optimized since 2000 year
- bfspro-eurcad-2000-recovery.set - optimized since 2000 year
- bfspro-eurusd-2000-martingale.set - optimized since 2000 year
- bfspro-eurusd-2004-recovery.set - optimized since 2004 year
- bfspro-gbpcad-2000-grid.set - optimized since 2000 year
- bfspro-gbpusd-2003-martingale.set - optimized since 2003 year
- bfspro-gbpusd-2007-recovery.set - optimized since 2007 year
- bfspro-gbpusd-2010-grid.set - optimized since 2010 year
- bfspro-usdcad-2000-martingale.set - optimized since 2000 year
- bfspro-usdchf-2000-martingale.set - optimized since 2000 year
- Check regularly for new .set files! I will publish new .set files for other pairs soon.
NOTE 1: I have used a fixed lot size 0.1 lot in all the .set files. If you change the lot size/risk then you may need to adapt the values of some parameters such as Grid_Take_Profit_Money and Grid_Stop_Loss_Money!
NOTE 2: Always test the .set files in strategy tester with history data before to use them on your real money account.
ATTENTION: If you want to create your own .set files/settings for the Grid System you should know that first you have to set UseBandBreakExit=false, Use_ATR_Profit=false and Use_ATR_Stop=false. Otherwise the Grid System may not work correctly.
These .set files are only for the Grid System! The official .set files for each supported pairs of BF Scalper PRO are at the bottom of the post!
BF Scalper PRO Settings
==== Risk Management ====
- FixedLots - fixed trading volume (works if AutoMM=0).
- AutoMM - values greater than 0 (zero) activate automatic ММ (traded volume as a percentage of free margin).
- AutoMM_Max - maximum allowed value of the proportional money management when RecoveryMode is used.
==== Recovery Mode ====
- RecoveryMode - this parameter activates the drawdown recovery. Works when AutoMM > 0.
- MMTrades - number of history trades on base of which the drawdown of the RecoveryMode function is calculated.
- RecoveryFactor - drawdown positive compensation in percent of the drawdown
- RecoveryMultiplier - trading volume multiplier in RecoveryMode
IMPORTANT: RecoveryMode doesn't work when Grid System is enabled!
==== General Settings ====
- LongTrades - true/false - enable/disable Long trades.
- ShortTrades - true/false - enable/disable Short trades.
- Magic - magic number - it is extremely important to keep this different for all robots.
- EA_Coment - text which will be added as a comment to each trade opened by BF Scalper PRO.
- MaxSpread - maximal allowed spread for position opening.
- MaxSpreadExit - The parameter is used to control closing the trades and avoid closing the trades when the current market conditions are not good. Especially when the current spread is greater than MaxSpreadExit. For example if you set MaxSpreadExit=5 the EA will close the trades only when spread is equal or lower than 5 pips. This could be useful in the period from 00:00 to 00:59 o'clock when the spreads could be higher than usual. This parameter has value 0 (zero) by default which means it is disabled. If you want to use it then you can set a value greater than 0 (zero).
- Slippage - maximal allowed slippage for position opening.
- TicksTrade - if false, the logic will be executed at the beginning of M1 bar, otherwise it will calculate and trade on a new price tick.
- StealthMode - true/false - conceal stop loss and take profit levels in program logic making them invisible to brokers. If you use this mode, the stop loss and take profit orders are not located in the trading server.
- EmergencyStopDist - second level of protection, when StealthMode is used. At values greater than zero, it activates a second level of true (Emergency) StopLoss on a greater distance than the virtual hidden StopLoss is located. In such case, the value of the new emergency StopLoss will be the sum of the EmergencyStopDist value plus the value of the hidden StopLoss.
- StopLoss - stop loss value in standard 4 digit pips - reasonable value range 30-100, opt. step 5.
- TakeProfit - take profit value in standard 4 digit pips, opt. step 1.
- TradeLifeTime - it defines the life time of each trade. For example if you set TradeLifeTime=100 then the EA will close each trades after 100 minutes - no matter whether the profit is positive or negative. Value in minutes. By default its value is 0 (zero) which means that it is disabled. Value greater than 0 (zero) activate this parameter.
- BandPeriod - Bollinger Bands period - reasonable value range 5-20, opt. step 1.
- MaxBreakEntry - the maximum allowed breakout.
- BandBreakEntry - breakout in 4-digit pips of the BB line to initiate an opposite trade (the value could be negative) - reasonable value range 0-5, opt. step 1.
- UseBandBreakExit - true/false - enable/disable the exit logic based on BB indicator.
- BandBreakExit - breakout in 4-digit pips of the opposite BB line to initiate closing of the existing trade (the value could be negative) - reasonable value range (-5) to 5, opt. step 1.
- ATR_TF_FL - timeframe in minutes of the ATR indicator, used to prevent trading in too high volatility
- ATR_Per_FL - period of the ATR indicator
- MaxATR_FL - maximum value of the ATR indicator
- ExitProfitOnReverse - profit in pips on which the position will be close if reversal bar is formed - reasonable value range 5 to 15, opt. step 1.
- Reverse_Bar_TF - the timeframe of the reversal bar – M1 or M5.
- UseTrendFilter - change this to "true" if you want to trade only in the direction of the trend defined by the two MAs below. If you use the trend filter for Asian session scalping you will get higher profit factor, but less trades. Generally, you do not need trend filter for Asian session scalping, but if you want extra safety it will help.
- MA_Fast_Period - fast moving average period - reasonable value range 1-20, opt. step 1.
- MA_Slow_Period - slow moving average period - reasonable value range 20-120, opt. step 5.
- MA_Trend_TF - timeframe of both MAs.
- Trend_Impulse - relative strength of the market impulse - reasonable value range 0-60 opt. step 5.
==== Trailing Stop ====
- Trailing_Stop - true/false - enable/disable the trailing stop system.
- Trailing_Stop_Value - value of the trailing stop in pips. The difference in pips between order open price and the trailing stop.
- Trailing_Stop_After - when the current profit of a trade is equal or greater than Trailing_Stop_After value the EA will set a trailing stop to this order equal to Trailing_Stop_Value value.
==== Dynamic SL & TP ====
- Use_ATR_Profit - activates the ATR based exit profit algorithm. If it is “true” it will be used instead the ExitProfitOnReverse value.
- ATR_Profit_Factor - the ATR value multiplier for calculating the new ExitProfitOnReverse value.
- Use_ATR_Stop - activates the ATR based Stop Loss algorithm.
- ATR_SL_Factor - the ATR value multiplier for calculating the Stop Loss value.
- ATR_TF_SL - the timeframe on which the ATR indicator is calculated – default 1440 (D1).
- ATR_Per_SL - the period of the ATR indicator – default 1.
- Min_ATR_SL - minimal dynamic stop loss. The EA will not set dynamic stop loss lower than Min_ATR_SL value. Value in pips.
- Max_ATR_SL - maximal dynamic stop loss. The EA will not set dynamic stop loss greater than Max_ATR_SL value. Value in pips.
==== Time Management System ====
- AllowedHour_ForBacktest - this parameter is only for backtesting! It helps optimizing the Time Management system. Here is how you can use it. During the optimization set start value 0, end value 23 and the step 1. You can optimize only one day per optimization. For example you want to optimize the trading hours for Monday, you have to disable other days bay settings TuesdayTrading=false ... to ... FridayTrading=false. At the end of the optimization the tester will show you the best hours for trading on Monday. You can add these best hours in the parameter MondayTradingHours separated by comma, for example: 1,4,6.
- MondayTrading - true/false - enable or disable trading on Monday
- MondayTradingHours - trading hours separated by comma. For example: MondayTradingHours=22,23,0,1,2 - only during these hours the robot will be able to trade
- TuesdayTrading - true/false - enable or disable trading on Tuesday
- TuesdayTradingHours - trading hours separated by comma. For example: TuesdayTradingHours=22,23,0,1,2 - only during these hours the robot will be able to trade
- WednesdayTrading - true/false - enable or disable trading on Wednesday
- WednesdayTradingHours - trading hours separated by comma. For example: WednesdayTradingHours=22,23,0,1,2 - only during these hours the robot will be able to trade
- ThursdayTrading - true/false - enable or disable trading on Thursday
- ThursdayTradingHours - trading hours separated by comma. For example: ThursdayTradingHours=22,23,0,1,2 - only during these hours the robot will be able to trade
- FridayTrading - true/false - enable or disable trading on Friday
- FridayTradingHours - trading hours separated by comma. For example: FridayTradingHours=22,23,0,1,2 - only during these hours the robot will be able to trade
- SaturdayTrading and SundayTrading - true/false - enable or disable trading during Saturday and Sunday respectively. Due to big GMT offset, some brokers trade during weekends and for that reason we added these parameters as well. There are two additional parameters SaturdayTradingHours and SundayTradingHours. They are similar as other ...TradingHours parameters. They let you set the hours when the EA to trade during Saturday and Sunday in case your broker allows trading during weekends.
==== Wednesday Swap Filter ====
- WednesdaySwapFilter - true/false - The Wednesday swap filter cancels all trades in Wednesday evening in the direction of the negative swap, if the swap is worse than MaxNegSwapPips parameter.
- MaxNegSwapPips - minus 0.5 pips seems reasonable threshold
==== Rollover Time & Spread Filter ====
- RolloverTimeFilter - true/false - switches on/off the rollover time filter
- MinutesBefore - minute time interval before midnight in which all trading operations will be canceled
- MinutesAfter - minute time interval after midnight in which all trading operations will be canceled
- x_MaxSpreadFilter - switches on/off the rollover additional spread filter
- x_MaxSpread - multiplies the initial MaxSpread, which will be allowed in general, before canceling all trading operations. As example if the MaxSpread is 6 and x_MaxSpread is 2, all trading operations will be canceled if the spread exceeds 6x2=12 pips.
==== Notifications ====
- EMAIL_Notification - true/false - enable/disable email notifications.
- PUSH_Notification - true/false – enable/disable push notifications to mobile phones
===== GMT Settings ====
- GMT_Offset - winter GMT offset of your broker.
- Calculate_DST - true/false - Set TRUE if the broker shifts the GMT offset with +1 in Summer. Set FALSE if broker use same GMT offset whole year.
==== News Filter Settings ====
The News Filter function is disabled by default. It is your personal choice whether, or not to activate this function. The News Filter function can increase the profit factor of the system and reduce the drawdown, but also can reduce the number of the trades and the total profit.
- Avoid_News - true/false – use or not the News Filter.
- Include_Medium_News - true/false – include, or not the medium impact news. The high impact news are included by default.
- Filter_NFP_FOMC_ONLY - true/false - when true the news filter will stop trading only during NFP and FOMC news.
- Wait_Before_News - the amount of minutes, before the news release, when the trading will be disabled.
- Wait_After_News - the amount of minutes, after the news release, when the trading will be enabled.
You can find it in: MT4 terminal -> Tools -> Options -> Expert Advisors -> Allow WebRequests for listed URL (check the image below):
==== Friday Exit ====
- FridayExit - true/false - if you wish to close all trades on Friday, you should use FridayExit=true.
- ExitHourFr - the robot will close all open positions at this hour on Friday.
- LastTradeHour - the robot can trade until the end of this hour on Friday (including this hour).
If you decide to use the "FridayExit" option you should set LastTradeHour and ExitHourFr several hours before the market closing of your broker on Friday.
==== Grid System ====
- Grid_System - true/false - Enable/disable the Grid System of BF Scalper PRO.
- Grid_Max_Trades - maximal number of additional trades which will be opened when Grid System is enabled.
- Grid_Distance - the distance in pips between additional trades.
- Grid_Trade_By_Signal_Only - true/false - when its value is true the additional trades will be opened only by signal generated by a special indicator. When its value is true BF Scalper PRO will check only the distance between previous additional trade or initial trade. Most of the cases when Grid_Trade_By_Signal_Only=true the results are better.
- Grid_Signal_Period - possible values: 1, 5, 15, 30, 60, 240, 1440, 10080 and 43200. The values represent the official time frames in minutes M1, M5, M15, M30, H1, H4, D1, W1 and MN. This parameter is used when Grid_Trade_By_Signal_Only is true. It is the time frame of the special indicator used for opening of the additional trades.
- Grid_Risk_Multiplier - parameter for controlling the lot size of the additional trades. By default, the lot size is equal to the initial trade lot size (Grid_Risk_Multiplier=1). If the value of this parameter is lower than 1 then the additional trades will be opened with lower lot size than the initial trade. If the value is greater than 1 then the additional trades will be opened with greater lot size than the initial trade. Grid_Risk_Multiplier is a multiplier and you can easily calculate the additional trades lot size. For example, if the initial trade lot size is 0.1 lot and you set Grid_Risk_Multiplier=1.5 then additional trades lot size will be: 0.1 x 1.5 = 0.15 lots
- Grid_Martingale - true/false - when its value is true then BF Scalper PRO becomes martingale strategy. Every additional trade will have greater and greater lot size. This is very useful sometimes because it will help the EA to close the trades quickly.
- Grid_Take_Profit - take profit in pips when Grid System is enabled.
- Grid_Take_Profit_Money - take profit in money (your account base currency) when Grid System is enabled. This parameter is very useful in case Grid_Martingale is enabled.
- Grid_Stop_Loss - stop loss in pips when Grid System is enabled
- Grid_Stop_Loss_Money - stop loss in money (your account base currency) when Grid System is enable
BF Scalper PRO Backtest Results
How to backtest BF Scalper PRO
If you wish to back-test BF Scalper PRO, first you should download history from the MetaTrader history center: click Tools -> History Center, or press the "F2" key of the keyboard. In the list, find the currency pair that you wish to back-test and double click to expand it. Click "1 Minute (M1)" and then click "Download". When the download process is finished, double click on "5 Minutes (M5)” and "15 Minutes (M15)" to convert the M1 data (repeat this for the rest of the time frames). Close the "History Center" window. Restart the MT4 terminal in any case. Check the below image!
To open the "Strategy Tester" window click the "Strategy Tester" button of the MetaTrader menu, or press "Ctrl+R" on the keyboard. In the "Strategy Tester" window chose BF Scalper PRO, chose one of the supported currency pairs, chose M15 timeframe, chose the method "Every tick ...", as shown below. Click "Start" to start the back-test.
The back-test by "Every tick" is the most precise, but it is very slow. If you wish to save time you can run the back-test on M1 timeframe by "Open price only ..." method and this will be correct too.
BF Scalper PRO .SET Files
Below you can find .set files for each supported pairs. There are additional set files which have the word "safe" in the name. In these .set files i have disabled trading on Monday morning and on Friday evening. With the idea to avoid big losses during Monday morning gaps. If you are going to use the "safe" .set files then you should know that you may have less trades than usual. Since Monday and Friday trading is reduced in these "safe" .set files this will impact also on EA performance. You may have reduced profits.
The recommended .set files are the normal .set files which don't have the word "safe" in the name.
If you like my product, please write a review! I will be very grateful!
If you want to be notified of my new products, please add me as a friend! I regularly publish new forex robots!
Watch video tutorial to learn how to load the .set files in MT4 terminal
Watch video tutorial to learn how to load the .set files in MT5 terminal