Take a Break MT5
Take a Break has evolved from a once simple news filter to a full-fledged account protection tool. It pauses any other EA during potentially unfavorable market conditions and will continue trading when the noise is over.
Typical use cases:
- Stop trading during news/high volatility (+ close my trades before).
- Stop trading when Account Equity, Balance or Margin is low.
- Only trade on specific dates/times, e.g. the Asian session.
- Stop trading for the day when a certain profit/loss is reached (useful also for funding programs such as FTMO).
- Setup as a global (news) filter that handles all other EAs on your account.
The numerous, built-in filters finally give you full control over your EA's operations making Take a Break an indispensable tool for every automated trader. As such, Take a Break might be the only tool you need for
- account protection
- drawdown control
- equity control
As a tool by traders for traders, your feedback is appreciated. If you have a feature request, find a bug or simply need support, just contact me. I'll be happy to help.
How to set up
- Add the URL https://trading.custom-solutions.it to the list of allowed WebRequest URLs (press CTRL+O, tab "Expert Advisors")
- Download the FREE Take a Break Indicator and follow the setup example.
--- External EA Settings ---
- Force stop trading: If set to "true", templates will be applied even if there are open trades of your other EA. Useful to prevent your other EA from opening new trades during news, increased spreads etc. But can possibly leave the open trades unprotected during these periods (if they have no S/L set). Use with caution.
--- News Filters ---
- Pause before NFP/High/Medium/Low Impact News (minutes)
- Pause after NFP/High/Medium/Low Impact News (minutes)
- Close trades X minutes before NFP/High/Medium/Low Impact News: Either all trades or only those with the specified "Magic Numbers" will be closed X minutes before the news.
- Filter News Events: Only pause during specific events. Separate multiple event names by a comma like e.g. "PMI,Rate Statement,CPI".
- Filter News Symbols: By default, Take a Break will determine the news for each symbol automatically. However, you can also specify your own set of symbols (e.g. "EUR,USD,GBP").
--- Additional Filters ---
- Maximum Lots (0 = not used): Trading will be disabled when the sum of all orders' lots >= Maximum Lots. Set to "0" to disable it.
- Maximum Spread (0 = not used): Spread filter for each symbol. Set to "0" to disable it.
--- Account Protection ---
- Maximum Daily Profit Limit (0 = not used): Enter a daily profit limit in your account's base currency here. E.g. "100" means "stop trading when the daily profit reaches 100 EUR/USD/...". In this case, all trades will be closed and the chart template "Daily Profit/Loss Limit reached" applied.
- Maximum Daily Loss Limit (0 = not used): Same as "Maximum Daily Profit Limit" but you specify a negative value here. E.g. "-100" means "stop trading when the daily loss reaches -100 EUR/USD/...".
- Daily Profit/Loss Limit calculation mode: If set to "Equity", the profit/loss of open positions will also be taken into account when performing calculations. If set to "Balance", only the profit/loss of closed positions will be taken into account.
- Timezone to reset Daily Profit/Loss Limit: By default, the limits are reset once every day at the specified "Time to reset Daily Profit/Loss Limit" broker server time. If you want the daily limits to be reset in another timezone, enter it here (e.g. "CET"). See List of Timezone Abbrevations.
--- Trading Times ---
- Monday/Tuesday/Wednesday/Thursday/Friday/Saturday/Sunday Trading: Specify trading times as ranges and separate them by a comma. E.g. to trade from 04:00 to 05:00 and from 20:00 to 22:00 (broker server time), use one of the following formats:
- 04:00 - 05:00,20:00 - 22:00 (extended)
- 4,20-22 (simple)
- Close trades on: In addition to the news filter, all trades can be closed either daily or on a specific weekday at the time specified under "Close trades at".
If you ran into this issue (which mostly affected MT5), please do the following AFTER this update:
1. Stop the Take a Break EA
2. Setup your "Trading IS allowed" templates again and select "Recreate default templates: true" in the indicator parameters
3. Enable the Take a Break EA again
I'm really sorry for any inconvenience this has caused. TaB should be a reliable tool for every user so I do take such bugs seriously.
Should you encounter any errors, please report them to me so that they can be fixed for everybody. Thank you to the users that reported this issue!
Other than the main bug fix, there are also some minor improvements:
- If the Auto GMT or Auto Timezone Offset cannot be determined due to a server error, TaB will now retry after a few minutes (just like it does with the News).
- Parameters that must be > 0 or < 0 are now sanity checked. E.g. if you specify a "Maximum Drawdown for all open trades" of "100", it is now automatically converted to "-100" in the code.
- Updated logic for trade identification by Order Comment: search for occurrences instead of exact matches.
Example: Order Comment "EA2" will now also identify trades having comments that contain this string, e.g. "EA2-Grid", "FirstTrade-EA2", "EA2 [tp]" etc.
Previously, trades would only have been identified if they had the exact order comment "EA2".
- Added the ability to identify trades by Order Comments in addition to Magic Numbers.
- Added the ability to remove SL and TP values of orders before news and to restore them afterwards. This action can be performed instead of closing trades before news.
- High Impact News at 16:00
- "Take action X minutes before/after news": 5
- "High Impact News - Action to take": Remove S/L + T/P before news and restore afterwards
- S/L and T/P values will be removed from the affected orders at 15:55.
- S/L and T/P values will be restored to the affected orders at 16:05.
- If S/L or T/P values have already been exceeded and thus, cannot be restored anymore, the affected orders are closed at 16:05.
- MT5: Added compatibility with latest build version.
- Minor code and wording improvements
- Added new section "Drawdown Control" which replaces the former External EA SL/TP section. Existing settings are migrated conveniently. This section gives you more control over Take a Break's internal trade management and also allows you to set Profit/Loss values in % of account balance.
- If specific Magic Numbers are set, all trades belonging to them are now handled by Take a Break - independently of their symbol. Formerly, Take a Break only managed trades belonging to its chart symbols.
- Profit/Loss values are now also displayed in % of account balance.
- Changed wording of some configuration options for better understanding.
- Finally fixed an annoying bug in the time filter that did not return to "Trading allowed" after a "NoTrade" time (e.g. after the weekend).
- Added display of the (auto detected) timezone offsets for GMT + "Timezone to reset Daily Profit/Loss Limit" (if set).
- Added options to stop trading all day on NFP/High/Medium/Low Impact News. These options also respect any specified "Filter News Events", i.e. will only stop trading for the whole day if any of the specified events take place on the current day.
- If set, the calculated Daily Profit/Loss Limits (including deviation) are now also displayed on the chart. As they are only used when trading is not allowed, they are also only displayed in this case. Calculated "Daily Profit Limit" if Today's P/L is positive, calculated "Daily Loss Limit" if it is negative.
- If set, the calculated S/L and T/P levels (including Daily Profit/Loss, if applicable) are now also displayed on the chart. Calculated T/P if Floating P/L is positive, Calculated S/L if it is negative.
- Added a +/- sign in front of the displayed P/L values for a better overview.
- "Limits deviation": if you have set a "Daily Profit/Loss Limit" or ""Minimum value until trading IS allowed" and trades are closed with slippage, it might result in a slightly lower value than the set limits. This option now allows to multiply these limits by a deviation factor (default: 1).
- "Maximum Daily Profit Limit": $100
- Trades are closed at profit of $100 but with slippage, resulting in a Daily Profit of only $98.
- With default "Limits deviation" of 1, TaB would continue trading as $98 <= $100 ($100 * 1 "Limits deviation").
- With "Limits deviation" set to e.g. "0.95", TaB would now stop trading as $98 >= $95 ($100 * 0.95 "Limits deviation")
- "Days of Year"
- "Days of Month"
Each of them is behaving exactly like the "Monday ... Sunday Trading" inputs which means that you can also specify ranges here, e.g.
- "Days of Year" = "14-352" will pause trading for the first and last 2 weeks of a year (typical use case)
- "Days of Month" = "5-10,20" will trade from the 5th to the 10th and on the 20th of each month.
All time filters interact with each other which allows truly flexible setups.
I also added the "Magic Numbers" to the "Required Settings" and revised this section for a clearer overview which Take a Break EA instance manages which trades. Existing users kindly note that nothing changes for your setups. Each TaB EA instance will only manage the specified Magic Numbers even if the new option "Which trades should be managed?" is set to "All trades (entire account)".
- Relevant news are now displayed on your other EAs' charts as well (requires indicator version >= 1.72).
- Beautified the drawn news lines in general. Changed their default colors to be more like a traffic light: Green = Low Impact, Orange = Medium Impact, Red = High Impact.
- Added a countdown that shows the "Next News Break in XXh YYmin".
- "External EA - Magic Numbers": the value of this input now controls which trades are identified as "ALL trades". A value of "-1" means "ALL trades" in its true sense, i.e. independent of symbol and magic number. If you enter specific magic numbers here (like 1,2,3), only these trades will be taken into account for settings that include "ALL trades" (Loss Limit etc).
This modification makes it possible to have one "master" instance of Take a Break that controls the overall account limits and another (or even multiple) "slave" instance that controls specific EAs only. Thus, your TaB setups are now even more flexible.
- "Dynamic Maximum Volatility (based on current candle)": the volatility filter can now be dynamic. If you control multiple symbols with just 1 TaB instance, setting a fixed "Maximum Volatility (in points)" for all of them might not be too handy. In this case, set this option to "true".
- "Minimum Dynamic Volatility of current candle": if (Minimum) Volatility of current candle > Average Volatility of past candles, trading will be stopped.
The good news is that no template data was lost. The bad news is that depending on your filter settings, not all of your charts might still be managed by Take a Break EA. So after the update, please check your chart setup(s) and make sure that all relevant charts still contain the Take a Break indicator. If it is missing, please add the indicator to the chart again - either manually or by applying the corresponding template: right-click on the chart, select "Templates -> Load Template", navigate to "MQL4\Files" (MT4) / "MQL5\Files" (MT5) and select the template to apply.
I apologize for any inconvenience caused!
Please make sure to also update the indicator to version 1.70 and to follow its release notes!
This update comes with the following improvements:
- If you modified the settings of an EA that is managed by Take a Break, you don't need to recreate the template file manually anymore afterwards. Take a Break will now take care of this by saving all modification to the corresponding template automatically.
- Added new parameter "Average T/P for each open trade" (in addition to "Minimum T/P for ALL open trades"): e.g. when a news filter becomes active and thus, trading is not allowed, Take a Break will manage your open trades. You set "5" as "Minimum T/P" and "1" as "Average T/P for each trade". If you have 6 open trades, Take a Break will close them as soon as the total profit on the account becomes >= 6 USD/EUR/... If you have only 4 open trades, Take a Break will close them as soon as soon as the total profit becomes >= 5 USD/EUR/... (because 4 open trades * 1 USD average T/P < 5 USD minimum T/P).
- Added new parameter "Average S/L for each open trade" (in addition to "Maximum S/L for ALL open trades"): e.g. when a news filter becomes active and thus, trading is not allowed, Take a Break will manage your open trades. You set "-5" as "Maximum S/L" and "-1" as "Average S/L for each trade". If you have 6 open trades, Take a Break will close them as soon as the total loss on the account becomes <= -5 USD/EUR/... If you have only 4 open trades, Take a Break will close them as soon as soon as the total loss becomes <= -4 USD/EUR/... (because 4 open trades * -1 USD average S/L > -5 USD maximum S/L).
- Improved the volatility filter by adding the new option "Calculate average Volatility for the past ... candle(s)": e.g. you want to calculate the average volatility of the past 7 days for each symbol, then you would enter "7" here + select "1 Day" in the following input "on Timeframe".
- Made some minor changes to the wordings + re-grouped the settings sections again. From now on, it is clearly visible which settings are required and which ones are optional.
- "Minimum ... until trading IS allowed": defines the type of the specified minimum value. Available types: Account Equity (default), Account Balance, Account Free Margin. Once the minimum value is reached, trading will be paused and optionally, all trades are closed.
- Added an error message that shows clearly if Take a Break could not identify any symbols to manage and thus, will not work.
- Re-arranged some parameters again for a better and more logical overview.
- Fixed an issue where the symbols managed by Take a Break were not recognized properly after a terminal restart unless a new chart was added to the Chart Group(s). As far as I'm aware, this issue affected MT4 users only. Take a Break will now display a loading message after a terminal restart until all charts could be identified. This might take a while depending on the power and utilization of your computer/VPS.
- Several minor fixes which further improve Take a Break's stability and work algorithm.
- "External EA - Trade Management Mode": by default, All Oder Types (Market + Pending) will be managed by Take a Break. If you don't want to close open trades but delete only Pending Orders of the External EA, select "Pending Orders only". If you want to close only open trades and keep Pending Orders open, select "Market Orders only".
- "External EA - Delete Pending Orders"
- Revised time filter: made it more fail-safe + added a new, simpler format. E.g. "4,8" (or "4-5,8-9") is the same as formerly "04:00 - 05:00,08:00 - 09:00" and will trade from 04:00 to 05:00 and from 08:00 to 09:00 broker server time. The old, extended format is still supported.
- Re-arranged + re-grouped the inputs for a better overview. Also added foot notes for parameters that usually need clarification.
- Renamed "Force template apply" to "Force stop trading". Also, this parameter is now set to "true" per default.
- "T/P in money for ALL open trades" (if "Force stop trading" = true)
- "S/L in money for ALL open trades" (if "Force stop trading" = true)
- "Include Daily Profit/Loss in TP/SL calculation" (if "Force stop trading" = true)
- "Close ALL trades when Daily Profit/Loss Limits are reached": if set to "false" and "Force stop trading" is set to "true", trading will only be paused but open trades will not be closed.
As always, if you have any questions, just contact me. Also, if Take a Break is useful to you, please consider giving it a review. Thank you!
This update makes sure that this won't happen again by applying additional sanity checks. Also, Take a Break will retry to get the news every X minutes in such situations.
Next up will be a major release to version 5.0 with the ability to backtest your Take a Break setup.
- Volatility filter was added.
- Improved handling of news updates + time filters.
- Close ALL trades when Minimum Equity is reached
- Occasionally, templates were applied multiple times which caused some EAs to crash on template load. Additionally, this also lead to broken templates, e.g. the EA was then missing entirely on the "Trading IS allowed" template.
This can be useful to prevent your other EA from opening new trades during news. But will leave the active trades unprotected during these periods - unless they are secured by a hard S/L or another EA on the "Trading is NOT allowed" template. Use with caution.
Once your overall Account Equity falls below the defined value, ALL trades (independent of any magic number) will be closed and the "Trading is NOT allowed" template applied.
- Minimum Balance until trading IS allowed
Once your Account Balance falls below the defined value, ALL trades (independent of any magic number) will be closed and the "Trading is NOT allowed" template be applied.
- Further performance improvements: the frequency of the time filters is now also dependent on the chart timeframe. Due to this, the EA must now be run on a chart with timeframe M1 so that these checks get executed every minute. Conveniently, the EA will change its timeframe to M1 automatically if that's not already the case.
- Updated Setup example + description to reflect these changes.
- Code cleanup
- NFP news filter did not work properly.
- News are now displayed properly again on the chart from highest to lowest impact.
- From this version onward, the frequency of the news filter checks is controlled by the chart timeframe of the Take a Break EA.
- Only one single WebRequest URL needed.
- Manage multiple Chart Groups and Magic Numbers from one single Take a Break EA instance.
Please make sure to read the updated setup example and description of the indicator + EA.
Additional note to existing users:
- Before the update, add the URL "https://trading.custom-solutions.it" to the list of allowed WebRequest URLs (press CTRL+O, tab "Expert Advisors"). The old URLs can be deleted if not used by other EAs.
- Check your existing Take a Break setups. Make sure you change the chart timeframe of the EA to M1.
- Multiple instances of the EA may be combined into one single instance if you use the same TaB EA settings (news filter settings, daily loss limit etc) for all your charts. Simply enter your Chart Groups + EA Magic Numbers (separated by a comma) into the corresponding inputs of the EA.
As always, just contact me if you need any assistance.
- Maximum Daily Profit/Loss Limit = -100
- Daily Profit = 100
- Floating Loss = -200 -> All trades are closed.
If set to "Balance", TaB will close all trades and stop trading for the day if Daily Profit/Loss exceeds the "Maximum Daily Profit/Loss Limit" (= this option does not take the Floating Profit/Loss into account).
- Terminal crashes / freezes on news time (when multiple instances of Take a Break are used).
- Improved internal news filter logic which should result in lower CPU usage. Feedback is welcome ;)
- No need to enter the "News Symbols" manually anymore. Take a Break will get all relevant news for each Chart Group automatically.
- Only those symbols are paused that are actually affected by the news. E.g. if you manage EURUSD and EURGBP in one Chart Group and there are news for GBP, only your EURGBP chart(s) will be paused.
- Likewise, if any "Close trades X minutes before ..." option is set, only those trades are closed that are actually affected by the news. E.g. if you manage EURUSD and EURGBP in one Chart Group and there are news for GBP, only your EURGBP will be closed.
- Revised Control Panel for a better overview of all filters and symbols managed in the current Chart Group.
- Optimized code structure.
- Fixed the "Close trades X minutes before ..." option. If there were many news within a short period of time, trades may not have been closed.
- Fixed the Spread filter which was not working properly after introducing the Chart Groups in version 2.0.
- Fixed an issue in the MT5 version where Take a Break was still active even after disabling Algo trading in the terminal or the EA settings.
- Added parameter "Filter News Events" with the ability to filter for custom news events (e.g. PMI,Rate Statement,CPI).
- Added parameter "Filter News Symbols" with the ability to filter for custom news symbols (e.g. EUR,USD,GBP).
- "News for current symbol only"
- Multi-chart handling is finally here! Please read the updated description for more information.
- "Timezone to reset Daily Profit/Loss Limit"
- "Chart Group"
- "Chart ID"
- Various minor code improvements
- "External EA - Close all open trades if trading is not allowed"
- "Close trades X minutes before Non-Farm Payrolls/High/Medium/Low Impact News": You can now specify the trade closing time in minutes before a news release.
- "Time to reset Daily Profit/Loss Limit": Usually, the daily profit/loss limit is reset every day at midnight (00:00 terminal time). If you want to specify another reset time, you can now do so.
- "Close ALL trades on/at": You can now specify a specific weekday and time for closing ALL your trades (useful if you don't want to keep positions open over the weekend).
- "External EA - Delete Pending Orders": If this is set to "true", Pending Orders will also be deleted X minutes before Non-Farm Payrolls/High/Medium/Low Impact News or if a weekday and time for "Close ALL trades on/at" is selected.