The first Hedging EA that really works!


CoensioRecoveryEA Manual

1. Introduction

Hello fellow traders! This short manual covers the basic behavior of my hedge trading tool and its parameters. This EA is based on a smart back-and-forth hedging mechanism, which has been known for years within the trading community, however until now there was no working (stable) MT4 implementation available. This strategy can be extremely profitable and give you a huge advantage, because of its ability to turn every losing position into a winning one. Of course, this type of trading is not for everyone, there is some risk involved, but from my own experience it is very difficult to lose money with this system. But for sure, it can happen to anyone. FOREX trading is always a risky business! My personal recommendations are:

  1. Make sure you fully understand the system and all risk involved.
  2. Make sure you understand all EA parameters and EA's behavior. Download and verify your settings and account size with our DDFMcalc MT4 indicator tool!
  3. Be patient and let EA finish its recovery cycle even if it will take several days.
  4. Avoid ranging markets! During ranging markets quit as quickly as you can, even if it means to take some small “acceptable” losses.
  5. Avoid volatile market events (News with high impact etc..)
  6. Practice on your demo account first!
  7. Use a broker with low spread and high liquidity. See FAQ section of this manual.

I wish you all the best! Chris

2. EA Installation


  1. To properly install the provided EA just copy the ex4 file to your MT4 experts directory, e.g.: C:\Program Files (x86)\MetaTrader - Alpari UK\MQL4\Experts\
  2. Do not forget to restart your MT4 terminal
  3. Check the MT4 terminal settings:
  1. Load the EA on chart and insert your personal license key in EA parameter window, which you have acquired during EA download
  2. Check the EA setting, under “Common” tab:

3. EA Operation

In this section the EA's operation is explained. To help you to get a general idea on what this EA does and how to trade with it, one of our members (Marlon) prepared a great explanatory review video. See below:

video placeholder

This trading system uses a smart back-and-forth hedging mechanism, that is continuously opening new positions according to the recent market movements. Each time a new position is opened, system tries to estimate a new Lot size, which is required to breakeven or to profit at the original TakeProfit, but ALSO at the original StopLoss level. This results in a group of open positions that eventually will always turn into a profit, when the market will go in either direction up or down. All trades are automatically closed when the overall profit reaches  the pre-defined ForceTakeProfit level or pre-defined TakeProfit or StopLoss level. PipProfitOffset setting ensures that all new recovery trades are targeting slightly lower TakeProfit levels (w.r.t. the first open position). This results in slightly larger Lot sizes, than Lot sizes required to reach a breakeven condition. This additional offset allows to compensate for small losses, that are caused by spreads, slippages, swaps and commissions. The system is profitable as long there is sufficient level of FreeMargin to be able to open new trade positions. The overview below shows a theoretical recovery flow with corresponding Lot sizes and risk levels.

Ideal recovery case, no rounding errors, spreads, slippages, etc..., PipProfitOffset=0

Recovery example case 1
Recovery example case 1

Note: In both cases all trades would result in a breakeven condition.

Ideal recovery case, no rounding errors, spreads, slippages, etc..., PipProfitOffset=10

Recovery example case 2
Recovery example case 2

In this case each of recovery trades is targeting the original TakeProfit level - 10pips, what results in slightly larger Lot sizes, but also in faster recovery with a larger profit! In most cases this offset setting is required to cover for round-off errors, spreads and slippages or swap/commissions losses.

Note: With ForceTakeProfit parameter set to e.g.: 5, all trades would be closed much sooner, limiting the total risk and still resulting in some small profit!

4. Setting up pending orders and direct market orders

Pending orders:
New trades can be entered by drawing a trend line with "/" MT4 tool and renaming it to "gl" for a long trade and "gs" for a short trade. New trade will be opened when the price crosses trend line in desired direction. That's it!. Watch the video below to see a short entry ('gs') example.

video placeholder

Direct orders:
When the 'EnableTradeButtons' parameter is set, opening of direct market orders is as easy as pushing one of the 'Go Long' or 'Go Short' buttons, which are visible in the right upper corner on the selected chart.

News pending orders:
When the 'EnableNewsTrading' parameter is set, the EA will be able to set time scheduled pending orders.  See the parameters description table below.

5. EA parameters



Description of Trading settings


Your personal license key. When set to “DEMO” EA will work only on a demo account.


Magic Number used to place new orders.


TakeProfit level (in pips), it sets also the StopLoss level which is symmetrically mirrored to the entry point.


Take profit level (also during recovery period) in your account currency, all trades will be closed when equity reaches

ForceTakeProfit level above the current balance level.


Lot size for the initial opening trade


Break even level (in pips), when trade will reach this profit level the stop loss will be moved to entry point and trade will run until TakeProfit or StopLoss level is hit. Set to 0 to disable.


Trailing stop loss step (in pips) after breakeven level is reached. Set to 0 to disable.


Slippage (in pips), it should stay high to allow closing orders without re-quotes


When set to 'true', this parameter will enable emulation of pending "limit orders". So, e.g.: pending "gs" trendline can be placed above the current market price.


When set to 'true', this parameter will enable manual trade buttons that can be used to manually open and close orders.


Description of Recovery Settings


This parameter enables advanced automatic hedging recovery mechanism. Only for experienced users. Use with caution!


Distance from the entry point (in pips) at which EA initiates recovery mechanism. If set to 0 recovery mechanism is disabled!


This parameter needs to be tuned according to local trading environment: spread, slippage etc. It makes sure every new trade is opened with slightly lower (virtual) TakeProfit target than real TakeProfit level that is set by the first trade. Doing so the new lot size will always be slightly larger than the required. Lot size to breakeven at TakeProfit or StopLoss target.


Enable/disable the recovery target shift mechanism. When enabled the recovery level is shifted closer to the market, each time a new recovery trade is opened.

Shift is equal to (number of open trades) * (PipProfitOffset). This increases the chances for hitting the recovery level and so minimizes the number of recovery trades needed for reaching the breakeven or ForceTakeProfit condition.


Maximum allowed number of trades during recovery periods.


Parameter that can be used to disable/allow opening of multiple orders within same bar


News Trading Options


This parameter enables news trading timer. Make sure there are no manually pre-setup "gl" or "gs" entry trend lines on the chart when enabling this parameter.


Distance from the actual market price (before a news event) to the pending entry trend lines.


This parameter determines the pending entry trendline length in bars.


This parameter determines the day number of the month in which a news event is expected.


This parameter determines the hour number of the day in which a news event is expected.


This parameter determines the number of minutes of the hour in which a news event is expected. At this moment in time pending orders trendlines are activated.


This parameter activates/dissables pending orders in a "long" direction.


This parameter activates/dissables pending orders in a "short" direction.


Description of Debugging Options


Testing option flag, if set to true, additional broker information is displayed. See FAQ section below.


Debugging option flag, if set to true, additional trade information is printed, after tester will end. The EA writes a summary file into:

../tester/files/ directory.

6. How to trade this system?

It is very important to understand that this system uses account's FreeMargin for opening new trades during recovery periods. This means that your 'account size' and 'account leverage' are two main factors that will determine the maximum amount of open positions during recovery cycle. For example if you are trading EUR/USD chart (1.28576 price level) with a $10000 account where 1 Standard Lot = $100000 and with a 1:100 leverage, then each position with 1 Lot will require a $1285.76 of your account Margin. Thus the FreeMargin level (on a "USD" account) will drop to: $10000-$1285.76=$8714.24. To get better understanding of this relationship, and the influence of the EA parameters on the resulting FreeMargin drop and also on resulting DrawDown, download and play with the following MT4 indicator tool (Click image to download).

So following this, in order to protect our FreeMargin level we need to:

  • Trade small lot sizes (0.1 is recommended)
  • Trade with a broker that allows high leverages (1:500 is recommended)
  • Have a sufficient account in order to be able to open at least 10 recovery positions (min. $3000 is recommended)
  • Open only one active EA trade per account at a time

7. FAQ and troubleshooting


7a. The EA says "Copyright protection enabled! Visit: www.hedgingea.com"

This error will occur when the original filename of the EA has been changed. The EA has it's own copyright protection mechanism that forbids any internal or external content changes. To solve this problem rename the EA to its original name: "CoensioRecoveryEaV02.ex4" and try again.

7b. I hit "Go Long" button and EA is not opening any trades.

This can be caused by many factors but the most common mistake is trying to open a second trade within the same bar, while OneOrderPerBar setting is set to 'true'. This parameter blocks the possibility for opening more than 1 trade within the same bar. This mechanism can be used to prevent multiple unneeded recovery cycles within 1 bar, and so to protect FreeMargin level.

7c. EA is making calculation error and trades with 0.01 LotSize. This error is a common error which is caused by:

  • Unfortunate choice of EA parameters that results in impossible negative LotSize (this is dictated by the mathematics and thus not an internal EA bug).
  • Lost server connection, EA wasn't able to open new recovery position
  • Bad broker that in not able to fill required recovery order due to reduced liquidity, during a volatile market event. See example below:

So what happened? At the major news event the broker did not filled the recovery order on time (this happened due to reduced liquidity which is never a good sign), the price went through recovery level without opening new recovery trade. The order was filled in just in 3.6 pips from the SL level, at this moment EA has only 3.6pips room for recovery and this results in an overflow and the calculated lotsize becomes negative! Since a negative lot size is smaller that the minimum allowed lot size, the EA opens new lot size with 0.01 Lot. If this happens the best recommendation is to find another broker with more liquidity.

7d. How to recognize a good broker? Forex market experiences increased volatility during news time. Some of the fx brokers, shows some unstable strange behavior during news release event. In most cases their big problem lies in reduced liquidity. At major forex news event strange things can happen: brokers can freeze your platform, delay your orders, increase spread dramatically or even ignore your predefined StopLoss levels! In order to keep our strategy profitable we should avoid those "bad" brokers at all costs. So what are the characteristics of an "ideal" broker? And most importantly how to recognize them?

  • fast trading platform, fast feeds and chart updates
  • fast order execution, minimum re-quotes
  • instant guaranteed execution of pending orders
  • instant guaranteed execution of stops
  • reasonably low spreads and high leverage (1:500 or more)
  • no significant spreads widening during news spikes
  • allowed hedging and automatic trading

No Dealing Desk (NDD) brokers are by far the best choice, since Dealing Desk brokers may actively trade against your positions. They can profit when you lose. Alternatively, they may lose when you profit. Because of this, Dealing Desk brokers are incentivized to manipulate your orders. They may for example place restrictions on stops and limits or re-quote your orders. In contradiction under a NDD execution model your orders automatically fill from the NDD price feed, which is the best available bid and best ask prices from all of our liquidity providers. Additionally, your orders are anonymous to the liquidity providers. They cannot see your stops, limits, or entry orders, they only see market orders coming from the broker.

7e. How to test your broker?

In order to hep you to test your broker we have introduced a "BrokerTest" module into the EA. This is an additional parameter that will tell you 3 important things about your broker and your MT4 interface:

  1. Spread: this field will display the current and the maximum observed spread on the selected chart. Used display format is:  "Spread: current spread (maximum spread) pips". If the current spread is regularly higher than 4pips and the maximum observed spread is greater than 10pips, your broker is simply trying to rip you off or it lacks liquidity. Required action: change your broker! Fixed spread brokers are recommended.
  2. Execution time: this field displays the execution time of opening, modifying and closing orders. Display format is: "ExecTime: last execution time (maximum execution time) ms". If the last execution time or the maximum execution time is higher than 1000ms (1s), your MT4 to broker interface is very slow, your broker is very slow. Required action: Try to speed up your internet connection (minimize broker server ping time), check if your broker has a possibility to trade via a VPS.
  3. Entry slippage: this field is will display the last and the maximum entry slippage value observed during opening of recovery orders. This is the distance between the resulting OpenPrice and a recovery line or entry line. Display format is: "EntrySlip: last entry slippage (maximum observed entry slippage) pips". If the observed entry slip is regularly higher than 10pips then your broker dealing desk is slow or it lacks liquidity. Required action: change your broker! NDD (No dealing desk) brokers are recommended.

So basically, a good broker can be characterized by very low maximum values of all three parameters, as mentioned above. Of course there are other important things like swap rates and commissions, so the overall trading results are dependent on many different factors. The best way is to test your broker in your own configuration.

7f. How to contact support?

In case when you have questions or if you need an additional support, you can contact us at: info@coensio.com. Please make sure your support request email will contain the following information:

  • Detailed problem description
  • Chart screenshots
  • Output of the "Experts" tab from your MT4 terminal
  • Name of your broker and account type

8. Results

9. Contact information


Please enter your contact details and a short message below and I will try to answer your query as soon as possible.

WAIT! Before you go you should consider to check out my free online blog, where I share everything I know about trading for FREE!


[DISCLAIMER]: This site contains valuable and informative high quality material, that can be used for any kind of currency trading. The presented information is meant for non-commercial, informational and personal purposes only, and all of freely downloadable materials are meant for non-commercial home use only. To the maximum extent permitted by applicable law, in no event shall hedgingea.com, or its suppliers be liable for any special, incidental, indirect, or consequential damages whatsoever (including, without limitation, damages for loss of business time, business profits, business information, or any other kind of loss) arising out of the use of, or inability to use the Software developed by hedgingea.com, or the failure to provide support services, even if Software, or one of its supplies has been advised of the possibility of such damages. Copyright © 2015 hedgingea.com. [OUR PRIVACY POLICY]: READ HERE [OUR TERMS AND CONDITIONS]: READ HERE