Revenge Trading Protector MT 5
- Utilities
- Konstantinos Kalaitzidis
- Version: 1.5
- Updated: 10 August 2024
- Activations: 20
Revenge Trading Protector is a simple but effective tool for traders who can fall victim to revenge trading. Being a day-trader myself, I understand the psychological aspect of revenge trading and the desire to cover the losses.
So, I developed this tool (that I use myself too) to be 100% sure I’m able to remain patient after a loss and not make irrational trading decisions.
When you take a loss, the Revenge Trading Protector EA prevents you from opening another order (either limit order, stop order or market execution order) until the desired time break has elapsed.
For example, if you take a loss at 10:45am and you have set a 30-minute time break, any order you set before 11:15am will be instantly canceled by the EA. Once you’re allowed again you’ll be notified with an alert.
Any attempt of entering a trade before the 30 minutes have elapsed, you’ll be notified respectively.
Additional feature: The Maximum Equity Drawdown is meant to prevent any type of entry order for the rest of the day (calendar day) when you exceed the desired maximum equity drawdown.
For example, let’s assume you’ve set the maximum drawdown at 2% and you’re already -1.75% for the day, if you take another trade and the floating loss exceeds 0.25% (so it goes at -2%),
the EA will automatically close the trade and prohibit trading for the rest of the day.
The user inserts the value of the 3 parameters:
- Max DD: It’s the desired maximum drawdown in %. By typing “2”, it translates to 2% maximum desired drawdown for each day.
- MinutesBlock: It’s the desired number of minutes that will need to elapse in order to enable trading again. (based on the first example, here you would type “30”)
- HoursBlock: It’s the desired number of hours that will need to elapse in order to enable trading again.
- Delete all existing pending orders once trading is blocked: (true/false) If "false", the EA will NOT close pending orders that were added BEFORE the loss that triggered the revenge trading protection.
For example, if you have this setting at "false", and you have set a buy limit order at 2pm, then if you take a loss at 3pm, it will not remove the buy limit from your terminal! It will however block any new order/position after the loss was registered (after 3pm), for as long you've set the Minutes or HoursBlock before. - By default, the value of this parameter is "true", so it'll delete all pending order when a loss is registered, regardless of when the pending order was set. - Delete all existing pending orders once trading is blocked: (true/false) If "false", the EA will NOT close running trades that were added BEFORE the loss that triggered the revenge trading protection.
For example, if you have this setting at "false", and you have set a buy position at 2pm, then if you take a loss at 3pm, it will not close the "buy" trade from your terminal! It will however block any new order/position after the loss was registered (after 3pm), for as long you've set the Minutes or HoursBlock before. - By default, the value of this parameter is "true", so it'll delete all running positions when a loss is registered, regardless of when the trades were opened.
- Send Mobile Notification: If "true", the EA will send you notifications through your Mobile MT5 app. Make sure you've connected it with your computer's terminal. (I have attached a screenshot of a test notification, for illustration purposes)
- Alert on Terminal: If "true", the EA will send alerts in a new window when new patterns form, or when there's an error with a trade order.
- Print on Journal: If "true", the EA will print in the Journal tab of the terminal. It's the lowest form of communication between the user and the EA.
Important Notes:
- You must set the value of the desired time block ONLY on ONE PARAMETER. Either “MinutesBlock” or “HoursBlock”. The other parameter must be remained at 0. You can’t insert “30” on MinutesBlock and “1” on HoursBlock if you want a 1.5-hour break.
- It's highly advised to use an MT5 on a VPS (Virtual Private Server) so that the EA runs 24/7 hence the drawdown and time-block limits function effectively! This is how I do it too.
- If you don’t want to use the Daily Drawdown Protector feature, just leave the “Max DD” parameter’s value at 0. It’ll not be used.
- If a loss is registered and trading becomes prohibited for the desired time period, please note that any other pending order/running trade will be automatically closed! Any pending orders will need to be set again when trading becomes enabled again.
If you wish this to be different, please contact me. - Make sure to enable AlgoTrading from the MT5, otherwise it’ll not run properly. (the EA isn’t permitted to open new orders, only to cancel/close orders/trades)
- The EA doesn’t consider the seconds in the time break. For example, if a loss is taken at 10:45:26, and the time break is set at 3 minutes, the trading will be allowed again at 10:48:00.
- It is advised that you first test in on a demo to see how it works.
- The "Free Demo" that you can try in this page, can't work on strategy tester where MQL facilitates this "free demo". So, there's not an issue with the tool that you can't test it properly in the "demo" version.
- You only need to activate the EA on one chart, and it'll work across all pairs you trade. Any loss/drawdown is measured globally and not for each pair. (for example, taking a loss on EUR/USD will disable trading for X amount of time you've set)
- ANY Expert Advisor does NOT have the capacity to block a USER from placing manual trades. It can only intervene after a trade is placed manually, but that happens instantly (on the next price tick).
Please feel free to contact me through my MQL5 profile (by clicking on my name at the top of this page) if you have any question, issue, or a request about an additional feature. Trade safely!
It works like a charm. It simply stops me from making an emotional after taking a loss which makes all the world a difference. I set it to 30 minutes, so I can regain my poise and reassess the market, and by the time the 30 minutes was over, it had made a reversal and the trading conditions were very obvious and I didn't waste a lot of money making a million attempts to get in the wrong direction through emotional trading. Another idea for a future product or to add to this product, is some sort of tool to stop people from adding to a losing trade unless they're deliberately hedging, I'd be the first to buy it, I cannot find anything that exists like this on MT5.