Update version 2.87. to simplify the settings and to avoid confusion in magics when trading on a large number of instruments, I have excluded the input of magic in the parameters. Now the magic will be calculated by the expert Advisor itself depending on the choice of tools, I.e. there will not even be a possibility to make a mistake and enter the wrong magic. For the EURUSD – USDCHF pair, the magic will always be 917, just like for USDCHF – EURUSD. And for AUDCAD-NZDUSD, magic will always be 890. Accordingly, each combination of tools will have its own number. It doesn’t matter how many of them you set 3 or 50. The adviser will never confuse magic on any combinations. These numbers are calculated by the unique name of each instrument.
Attention! Install the expert Advisor on those pairs for which there are no open positions by the old expert advisors! The old advisors could have a different wizard and the new one would not pick up the old deals. In the future, there will be no problems with picking up since all transactions for these pairs will be conducted with the settlement magic.

This version is licensed for everyone who purchased versions 2.8 and higher. Demo accounts will be open until June 15. To extend demo accounts for free, you can contact the personal account
Telegram:   @mqlcmillion .

Hedging is the safest strategy on the market!
Expert Advisor based on correlation and co-integration of currency pairs.
Strategy description:
The robot works with smart hedging, the safest strategy on the market. He is hedging (insuring) orders of two highly correlated currency pairs, so no matter in which direction the market moves, the drawdown will be minimal, and the profit will be guaranteed! The sh expert Advisor trades on a split of currency pairs. When correlated instruments deviate from their course, the expert Advisor bets on a return to the correct rate.
Correlation (“correlation, correlation»), – statistical relationship of two or more random variables (or values that can be considered as such with some acceptable degree of accuracy). In this case, changes in the values of one value accompany a systematic change in the values of another value. The correlation coefficient is a mathematical measure of the correlation of two random variables.
Cointegration is a property of several non-stationary time series, which consists in the existence of a certain stationary linear combination of them. Co-integration is an important property of many economic variables, which means that despite the random (poorly predictable) nature of changes in individual economic variables, there is a long-term relationship between them, which leads to some joint, interrelated change.

How the strategy works:

Choose two currency pairs with a high correlation and co-integration coefficient. Most of the time, pairs move the same way. But there are times when couples diverge from each other. At this point the adviser opens counter positions as shown in the screenshot below:

the closing of transactions occurs when the currencies converge again and give a total profit. Let’s analyze the principle of hedging (insurance) in this example. We see that the sell position is open for GBPUSD, and the buy position is open for EURUSD. As long as the currencies run in parallel, their total profit will not change. If there is even a very long trend in one direction, for example, up, then we will get a loss for GBPUSD, and about the same profit for EURUSD. Thanks to this trading principle, we do not get large drawdowns. One deal always protects the other! The total profit for us occurs when the pairs approach each other. And at this moment, the adviser starts a profit trawl and takes the maximum possible profit.

These currency pairs are taken as an example only. This is not an ideal to look up to! But they show the principle of trading well because they often diverge and give a large number of transactions. Keep this in mind when choosing tools! If You want to get the most secure trading, you need to select pairs of instruments with a very high correlation. However, there will be very few transactions. Many people are tempted to put the correlation in the opposite direction. For example on EURUSD GBPUSD to trade in negative correlation or on-the-EURUSD-USDCHF – positive. This type of trading can bring a large profit in a short period of time. But it is this kind of trade that will sooner or later lead to a complete drain, since in this case, the pairs do not insure each other, but rather push the trade into the gap. If you want to trade safely, be sure to correctly consider the direction of correlation. The correlation coefficient on some pairs can show both positive and negative correlation on short sections. In this case, check the correlation sign for a longer period, such as 2000 candles. If the sign can change there, then it is better not to contact such pairs, since they most likely do not correlate with each other.

Параметры советника:

Первый инструмент для торговли советник берет тот в окне которого установлен.
Instrument_2 = “AUTO”;
Выбор второго инструмента для торговли. Если оставить поле пустым, то советник предлагает на выбор список наиболее коррелируемых инструментов:

В этом окне необходимо выбрать второй инструмент по которому в дальнейшем будет происходить торговля. Чтобы после перезапуска советник снова не предлагал это меню, нужно в поле Instrument_2 вписать выбранный символ. Если в строку Instrument_2 прописать конкретный инструмент, например USDCHF то советник будет работать именно с ним.
Если в строку Instrument_2 прописать слово AUTO то советник выбирает второй инструмент на основании первого из заложенного в нем списка:

При этом советник так же меняет и магик номер для удобства анализа и торговли в корзине. Например, установили советник на пару USDCHFи установили Instrument_2 = AUTO. Советник выбирает второй инструмент EURUSD и ставит магик всем сделкам = 3.
Список указанных здесь инструментов в разных версиях может меняться.

MAGIC = 100;
Уникальный номер позиций. Желательно для каждого советника ставить его разный чтобы одинаковые пары на разных советниках не пересекались. Если советник сам выбирает пару в режиме AUTO то магик он выставляет сам и его можно не менять.

Correlation = AUTO;
Выбор типа корреляции между положительной “+”, отрицательной “-” и автоматической.
Если указать параметр Correlation = AUTO, то советник определяет тип корреляции по знаку коэффициента корреляции на момент открытия позиций.
Режим AUTO рекомендуется использовать опытным пользователям. В режиме AUTO знак корелляции может измениться на противоположный в соответствии с поведением валютных пар. А от знака корелляции зависит направление сделок. Если смена знака в режиме AUTO произойдет при открытой серии ордеров на графике, то ваши доливки могут открыться не в том направлении. Это возможно использовать в стратегии ускорения выхода из просадки, но это может нарушить основной принцип хэджирования. В большинстве случаев рекомендуется зафиксировать знак корелляции «+» или «-», в зависимости от выбранных пар.

Lot 1 Symbol (0-auto)= 0.01
Lot 2 Symbol
(0-auto)= 0.01
Объем стартовых ордеров 1го и 2го инструментов. Если установить 0 то советник сам рассчитает лот второго инструмента исходя из их стоимости пункта и волатильности. (Автоматический расчет рекомендуется только для опытных пользователей). Не путайте его с расчетом лота от баланса. От этого он не зависит!


Идеальный вариант торговли данным советником, когда он открывает не более 1 пары позиций и закрывает эту пару по прибыли. Потом следующий цикл… Но если произошла раскореляция или были выбраны не верно инструменты, то советник может открыть дополнительные позиции по более выгодным ценам. Позиции открываются с помощью виртуальных отложенных ордеров. При старте советник показывает линию на графике и перемещает ее за ценой на заданном расстоянии. А на откате цены, когда она пересечет линию, открывает доливку.

OrderLotUp = 2 – С какого ордера начинаем увеличение лота.
K_Lot = 2.00 – Коэффициент изменения последующих лотов.
Maxlot = 1 – Максимально возможный лот открываемой позиции
MaxOrders = 4 – Ограничение количества ордеров
Step = 15 – Первый шаг доливочных ордеров.

Если после установки первой пары ордеров их убыток в пипсах стал больше указанной в параметре Step, то открывается следующая доливка. На 5 значных котировках советник увеличивает Step в 10 раз. Величина шага, указанная на самом графике является истинной уже измененная под количество знаков.

K_Step= 1,5 – Коэффициент шага доливочных ордеров. При Step=100 и К=1.5 второй шаг будет 150 третий 225 и т.д…. Т.е. с каждой новой доливкой шаг будет увеличиваться.

Level_Tral = 10 – Расстояние до виртуального доливочного ордера.
Доливочные ордера открываются не сразу при достижении просадки. Они выставляются в виде виртуальных отложенных ордеров на расстоянии Level_Tral от текущей цены. Далее этот виртуальный отложенный ордер перемещается за ценой на этом же расстоянии, пока цена на обратном движении не откроет его.

Расчет дельты расхождения инструментов.

TIMEFRAMES = 5; – ТФ по которому производим расчет дельты корреляции.
BarsCorrelation= 300; – Число свечей для расчета корреляции
K_Min_Delta= 1.10; – Коэффициент деления максимальной дельты определяет минимальную дельту входа как DELTA_MAX / K_Min_Points. Используется для изменения минимальной дельты входа первых позиций.
Min_Delta. – Минимальная дельта открытия первых позиций. Открывать будет только если дельта

SPREAD (фильтры спреда)

NoOpenSpread= 1 – filter spread (Delta > sum spread)
Не открывать если дельта меньше NoOpenSpread. Пример: спред по EURUSD = 2 спред по GBPUSD = 3. Суммарный (3+2=5). Сделки откроются только если дельта более 15 (5*NoOpenSpredDelta)
NoOpenSpread влияет только на открытие первой пары позиций.

MaxSpread= 0 -MaxSpread (0 – off)
Не открывать и не закрывать сделки если спред по одной из пар стал больше заданного
Исключение – ручное закрытие и работа виртуальных отложек

Trailing Profit (Трал профита)

close profit (0-auto) старт трала профита в валюте депозита
close trall (откат трала профита в %)
K_D= 5 – Коэффициент на который делим профит при авторасчете. Работает только если close profit = 0. При этом стартовая прибыль трала рассчитывается в зависимости от текущей дельты деленной на коэффициент и умноженной на сумму произведений суммарного объема и стоимости пункта каждой валюты.
Profit = DELTA / K х (tick_value1 х L1+tick_value2 х L2)
tick_value – стоимость пункта валюты
L1 – суммарный лот всех позиций первой валюты
L1 – суммарный лот всех позиций второй валюты

Трал будет включаться при достижении прибыли, например, 10 usd и при откате на 50% закрывать все. Если прибыль после старта сразу пошла вниз, то закроется при 5 usd. Если прибыль выросла, до 150 usd, то на откате закроется при 75usd и не будет уходить дальшев минус. Если нужно чтобы советник сразу закрывал ордера при достижении указанной прибыли без трала, то установите откат трала
close trall = 0.

Close Delta

CloseRevers= true – CloseDelta закрытие при пересечении дельты если прибыль больше Min_Profit
Min_Profit_Delta= 0.00 – Min Profit (минимальная прибыль в валюте 0-off)

Close Loss

CloseLoss = false – Close Loss закрытие при убытке
Loss_Close = 0 – lossprofit (убыток в валюте 0-off) закрытие при достижении убытка
Stop_Trade = true – StopTrade остановка торговли при старте

Close Time

MinuteClose= 1500 – Minute Loss Close (0 – off). В этом параметре указываем число минут после которого советник будет пытаться закрыть позицию за счет накопленного профита.


Скальпинг – закрытие последних двух сделок при достижении профита. Эта функция отключена изначально и я не рекомендую ей пользоваться без особого опыта так как она может затянуть процесс закрытия серии. Суть ее в том, что она отслеживает последнюю пару сделок и когда эта пара в сумме дает прибыль больше чем указано в ProfitSkalping, то закрывает только эту пару не трогая остальные. Работает только при открытии второй или последующих пар ордеров.
ProfitSkalping = 0.0; – Профит скальпинга. (Суммарный профит последних 2 позиций)


CorrOpen = 0.0; – Correlation open. Минимальный размер корреляции
CorrClose = 0.0; – Correlation Close (0 – off) (закрывать если корреляция ниже и прибыль больше Min_Profit
Min_Profit_Correlation = -10.0; – Min Profit (минимальная прибыль в валюте депозита)
BarsControlCorrelation = 300; – Bars Control Correlation


Cointegration = false;
CoiOpen = 0.0; – cointegration open (0 – off) минимальный размер коинтеграции
CoiClose = 0.0; – cointegration Close (0 – off) (закрывать если коинтеграция ниже и прибыль больше Min_Profit _Coi = -10.0; – Min Profit (минимальная прибыль в валюте депозита)
PercentProfit = 10.0; – % profit closing (% профита на закрытие дальних и при снижении корреляции )

TIME (фильтр по времени)

TimeStart = 1; – TimeStart (время начала работы советника)
TimeEnd = 23; – TimeEnd (время окончания работы советника)
Сделки открываются только в период времени с TimeStart по TimeEnd. Если указать TimeEnd меньше чем TimeStar, то советник будет торговать ночью.


Start_Lock_Orders = 0; – Start Lock Orders, 0-off (число открытых колен для открытия лок ордера)
PercentLock = 100.0; – % Lock (% перекрытия объема)
MinProfitLock = 1.0; – MinProfitLock (минимальный профит перекрытия лока)
Level_Lock = 10; – Level Lock (расстояние до лок ордера)
Локирующий ордер выставляется по той же валютной паре, по которой советник открыл заданное число основных ордеров ( Start_Lock_Orders ). Советник суммирует прибыль локирующего ордера с убытком самого первой позиции той же валюты. Если эта сумма достигает значения MinProfitLock, то советник закрывает лок и 1 дальнюю позиции. Обратите внимание, что закрывает не парно, а только по той валюте, на которой был лок. Перекос возникший после этого советник восстанавливает за счет виртуального ордера.
Функция LOCK очень опасная и не стоит ее применять без особой необходимости!

Equity Profit (закрытие при увеличении эквити)

EquityProfit = 0.0; – Equity profit (закрытие по приросту эквити в валюте) 0-off
Советник закрывает все сделки как только эквити вырастет на заданную величину. Функция предназначена больше для тестера так как ее правильная работа возможна только при торговле на 1 советнике без корзины и без торговли на других парах.
При старте советника. EquityProfit = 10 Balance = 1000 Equity = 1000.
В процессе торговли возникла просадка по парам 100 usd. Текущий баланс 1105 usd а эквити 1005. Такое возможно если советник работал скальпингом или Вы сами закрывали прибыльные сделки не парно. Как только эквити станет 1010 usd так советник закроет все позиции. Баланс и эквити при этом станут 1010 usd. Т.е. он снизит баланс, но выведет эквити на уровень выше стартового на 10 usd.

Filter GEP (фильтр при резких скачках)

Filter_GEP = true; – Если дельта выросла на одном баре более чем в 2 раза то запрещаем открывать позиции.
Во время ГЭПА или просто при резком скачке одной из валют, бывает резкое расширение дельты. Данный фильтр нужен, чтобы советник не открывал позиции на неспокойном рынке.

Прочие параметры

Slippage = 50; – Slippage, Проскальзывание цены
StringLines = 50; – String lines Число строк в информационном поле в центре экрана.
WindSize = 1.2; – Подбор параметра для размера информации в зависимости от типа монитора (значение ставьте в пределах 0,5 – до 3)
SleepAfteOpenClose = 1000; – Задержка после открытия и закрытия позиций в миллисекундах.
AlertTime = 60; – Время задержки алерта
ask_open_close = true; -Переспрашивать перед открытием и закрытием сделок после нажатия кнопок.
DrawLine = true; – Показывать на экране линии ордеров

Дополнительные функции советника

Если нажать на значок открытой позиции, то советник предлагает ее закрыть. При этом он показывает все данные по ней в том числе текущую прибыль с учетом комиссии и свопов. Закрывать можно позиции любой валюты, не обязательно той, в окне которой находится значок.

Если Вы закрыли позицию руками или советник при закрытии не смог закрыть какое то направление из за реквотов, то возникает дисбаланс ордеров и нарушается принцип хэдж торговли. Чтобы восстановить баланс, советник выставляет виртуальный отложенный ордер в сторону недостающего направления и тралит этот ордер за ценой пока цена на обратном движении не зацепит его. Далее советник открывает ордер и восстанавливает дисбаланс. Работа виртуального доливочного ордера описана выше в разделе «Доливки»

Советник можно протестировать на истории только в терминале МТ5. Торговля в реальном времени предполагается на HEDGE счетах MT4 или MT5.

Cost of the adviser:

On a demo account, the adviser works for a while for free. To work on the real world, you need to buy an adviser. The cost for 1 trading account is 180$ without time limit. Renting an adviser for 3 months costs 75 usd. You can link the adviser to the name so that it can work on any accounts with any broker opened in this name. This binding costs 500 usd.

SH - 2
name ea & account & email

Other payment methods: PAY
To clarify questions about payment and getting an adviser, write:

You can ask questions about the adviser in the telegram group

SH 2.86
SH 2.86
Version: 2.86
287.4 KiB
SH 2.87m
SH 2.87m
415.6 KiB
SH 2.86
SH 2.86
Version: 2.86
422.0 KiB
SH 2.87m
SH 2.87m
286.6 KiB