Account Protector («Защитник счета») — это экспертный советник для МетаТрейдера, который позволяет вам управлять сделками, а также контролировать прибыль и убыток по нескольким валютным парам сразу, используя собственные параметры и настройки. Вот лишь несколько примеров того, что вы можете делать с помощью «Защитника счета»:
- Закрыть 50% объема сделки, когда прибыль достигнет 100 пунктов.
- Закрыть все позиции, как только средства по счету увеличатся на 10%.
- Удалить все отложенные ордера по паре EUR/USD, как только плавающая прибыль по сделкам достигнет 500 долларов.
- Отправить по электронной почте состояние счета и отключить автоматическую торговлю, как только свободная маржа опуститься ниже 1000 долларов.
- Применять трейлинг-стоп к всем сделкам, у которых есть комментарий.
- Закрыть все позиции и выйти из МетаТрейдера, как только суммарная плавающая прибыль по сделкам с мэджиком, равным 1000, достигнет 50 пунктов.
- Выйти из платформы, когда местное время будет 23:59 в пятницу.
- Включить автоматическую торговлю, когда серверное время будет 8:00 в любой день.
- Закрыть все убыточные позиции, если общий убыток снизиться до 100 долларов.
- Закрыть все сделки, когда цена на текущем графике достигнет заданного уровня и задержится там на 10 секунд.
- Отключить автоматическую торговлю, когда уровень маржи счета опускается ниже определенного уровня.
- Закрыть все позиции, когда спред опуститься ниже заданного значения.
- Прекратить все торговые операции по достижении заданного дневного убытка.
- Закрыть все остальные графики на основании отклонения от «снимка» средств счета, сделанного другим экземпляром «Защитника счета».
- Закрыть все шорты, когда число открытых позиций достигнет 5.
Основные преимущества «Защитника счета» включают:
- Вы контролируете все основные настройки через графическую панель.
- Вы можете закрывать, минимизировать и свободно передвигать панель по графику.
- Практически любую настройку внутри панели можно изменить в один-два клика.
- Вы можете включить механизм массового трейлинг-стопа и безубытка для защиты своей прибыли.
- Скрытый трейлинг-стоп по уровню средств счета.
- Вы можете сделать так, чтобы советник срабатывал по таймеру (в том числе периодически).
- Можно выбирать, учитывать ли свопы и комиссию при расчете прибыли и убытка.
- Панель показывает спред по текущему инструменту.
- Доступен механизм «снимков» маржи и средств для продвинутых условий срабатывания советника.
- Вы можете фильтровать сделки по мэджикам, инструменту, направлению, прибыльности и комментариям.
- Вы можете как угодно комбинировать условия и фильтры.
- Панель может уведомлять о своих действиях по электронной почте или с помощью мобильных пуш-уведомлений.
- Панель сама автоматически сохраняет и загружает все настройки при изменении таймфрейма или перезагрузке платформы, уберегая ваш труд по конфигурации советника.
- Вы можете использовать собственный файл с настройками, чтобы автоматически заполнять поля панели в соответствии с вашими предпочтениями.
- Использует только одну стандартную динамическую библиотеку (DLL) ОС Windows для отключения авто-торговли. ЭС может работать и без включения DLL, но тогда он не сможет контролировать кнопку авто-торговли в платформе.
- Вы можете использовать его как в МетаТрейдере 4, так и в МетаТрейдере 5 (и в режиме хеджирования и в режиме неттинга позиций).
- Панель масштабируется для правильного отображения на экранах высокого разрешения.
- Вы можете свободно просматривать и изменять открытый исходный код советника.
Интерфейс
Основная вкладка
Основная вкладка панели служит для управления трейлинг-стопом и безубытком, а также для обновления «снимков» свободной маржи и средств по счету. Эта же вкладка используется для управления трейлингом по средствам счета. Также, тут вы можете устанавливать таймер и выбирать, учитываются ли свопы и комиссионные в расчете прибыли и убытка. Кроме того, эта вкладка показывает текущий спред. Все вкладки отображают статус советника:
Таймер — это необязательная функция, которая позволяет запустить действия советника в заданное время. Для его включения отметьте чекбокс и установите время (торгового сервера или локальное), когда вы хотите, чтобы советник применил свои действия (а не время до срабатывания этих действий). Вы также можете установить день недели для срабатывания таймера.
Трейлинг-стоп и безубыток устанавливаются похожим образом — после клика на чекбокс задайте соответствующие значения в полях для ввода:
- Первое поле для ввода трейлинг-стопа задает уровень прибыли, с которого активизируется трейлинг-стоп. Например, 100 пунктов; когда позиция достигнет прибыли в 100 пунктов, к ней будет применен трейлинг-стоп, заданный в следующем поле.
- Расстояние для трейлинг-стопа, вычитаемое или прибавляемое к текущей цене.
- Первое поле для безубытка задает число пунктов (или единиц валюты) прибыли, после которых стоп-лосс будет установлен на уровень безубыточности (цену открытия).
- Поле для ввода под ним дает вам возможность ввести число дополнительных пунктов для уровня безубыточности, если вы хотите закрепить некоторое минимальное количество пунктов прибыли. Это значение не будет применяться, если основное значение безубытка не задано.
- Последнее поле для ввода позволяет задать значение трейлинг-стопа по уровню средств в валюте счета или в процентах. Когда есть активный трейлинг-стоп по средствам, то его текущее значение отображается под чекбоксом вместе с кнопкой для его сброса. Вы можете также включить уведомления при срабатывании трейлинг-стопа по уровню средств и выбрать отключать или продолжать трейлинг после срабатывания.
Вкладка фильтров
Эта вкладка позволяет вам ограничивать, какие сделки находятся под контролем «Защитника счета», на основе мэджиков, инструмента, прибыльности, направления и комментариев ордеров.
Поле для мэджиков (magic numbers) позволяет ввести несколько значений, чтобы указать советнику или работать только со сделками, в которых указаны эти числа, или исключить такие сделки. Фильтрация по символу организована в виде группы переключателей, которые явно описывают выбор: не фильтровать по символу, использовать только для текущего символа, исключить текущий символ. Фильтр по комментарию ордера использует текстовое поле и выбор условия: равен, содержит, не содержит, не равен.
Фильтр по убыточным и прибыльным сделкам можно выбрать с помощью двух чекбоксов, в то время как фильтр по направлению сделки выбирается выпадающим списком.
Вкладка условий
На этой вкладке, вы можете задать условия для срабатывания действий советника.
Первые 12 условий относятся к плавающей прибыли/убытку и срабатывают, если:
- Плавающий убыток поднимается до заданного процента от баланса. Например, плавающий убыток становится равным или превышает 20%.
- Плавающий убыток снижается до заданного процента от баланса. Например, плавающий убыток становится равным или меньше чем 20%.
- Плавающий убыток поднимается до числа единиц валюты. Например, плавающий убыток становится равным или превышает 100 $.
- Плавающий убыток снижается до числа единиц валюты. Например, плавающий убыток становится равным или меньше чем 100 $.
- Плавающий убыток поднимается до числа пунктов. Например, плавающий убыток становится равным или превышает 50 пунктов.
- Плавающий убыток снижается до числа пунктов. Например, плавающий убыток становится равным или меньше чем 50 пунктов.
- Плавающая прибыль поднимается до заданного процента от баланса. Например, плавающая прибыль становится равной или превышает 40%.
- Плавающая прибыль снижается до заданного процента от баланса. Например, плавающая прибыль становится равной или меньше чем 40%.
- Плавающая прибыль поднимается до числа единиц валюты. Например, плавающая прибыль становится равной или превышает 200 $.
- Плавающая прибыль снижается до числа единиц валюты. Например, плавающая прибыль становится равной или меньше чем 200 $.
- Плавающая прибыль поднимается до числа пунктов. Например, плавающая прибыль становится равной или превышает 100 пунктов.
- Плавающая прибыль снижается до числа пунктов. Например, плавающая прибыль становится равной или меньше чем 100 пунктов.
Любые из этих 12 условий могут быть отключены и спрятаны с помощью входных параметров.
Следующие два условия сравнивают уровень средств счета с заданной суммой:
- Средства становятся меньше или равными заданной сумме. Например, средства опускаются до или ниже 800 $.
- Средства становятся больше или равными заданной сумме. Например, средства вырастают до или выше 1200 $.
Затем следуют четыре условия, сравнивающие средства со сделанным ранее «снимком»:
- Средства становятся меньше или равными заданному проценту от «снимка». Например, средства опускаются до или ниже 90% от суммы, запечатленной на «снимке».
- Средства становятся выше или равными заданному проценту от «снимка». Например, средства вырастают до или выше 115% от суммы, запечатленной на «снимке».
- Средства минус «снимок» становятся выше или равными заданной сумме. Например, средства становятся на 100 $ выше, чем запечатленный ранее «снимок».
- «Снимок» минус средства становится выше или равным заданной сумме. Например, средства становятся на 150 $ меньше, чем запечатленный ранее «снимок».
Похожие условия существуют и для свободной маржи. Первые два условия сравнивают ее с заданной суммой:
- Свободная маржа становится меньше или равной заданной сумме в валюте счета. Например, свободная маржа опускается до или ниже 500 $.
- Свободная маржа становится больше или равной заданной сумме в валюте счета. Например, свободная маржа вырастает до или выше 750 $.
Следующие два условия сравнивают текущий уровень свободной маржи с ее «снимком»:
- Свободная маржа становится меньше или равной заданному проценту от «снимка». Например, свободная маржа опускается до или ниже 80% от суммы, запечатленной на «снимке».
- Свободная маржа становится выше или равной заданному проценту от «снимка». Например, свободная маржа вырастает до или выше 130% от суммы, запечатленной на «снимке».
Следующие два условия анализируют цену на текущем графике:
- Цена становится выше или равной заданному значению. Например, цена EUR/USD на текущем графике достигает 1,2000 или выше.
- Цена становится меньше или равной заданному значению. Например, цена EUR/USD на текущем графике достигает 1,1000 или ниже.
Затем следуют два условия, работающие с уровнем маржи (то есть, средствами счета, деленными на используемую маржу):
- Уровень маржи становится больше или равен заданному процентному значению. Например, уровень маржи поднимается до 110% или выше.
- Уровень маржи становится меньше или равен заданному процентному значению. Например, уровень маржи падает до 55% или ниже.
Затем идут два условия, связанные с текущим спредом:
- Спред становится больше или равен заданному числу пунктов. Например, спред поднимается до 100 пунктов.
- Спред становится меньше или равен заданному числу пунктов. Например, спред опускается до 10 пунктов.
Следующая группа состоит из шести условий, которые анализируют дневную прибыль/убыток по счету. Вы можете вводить отрицательные значения для убытка и положительные — для прибыли. «Защитник счета» использует серверное время для определения начала дня в этих условиях, а также включает плавающую прибыль/убыток в расчет:
- Дневная прибыль/убыток больше или равна заданному числу единиц валюты. Например, общая прибыль за день доходит до 100 USD.
- Дневная прибыль/убыток меньше или равна заданному числу единиц валюты. Например, общий убыток за день доходит до -100 USD.
- Дневная прибыль/убыток больше или равна заданному числу пунктов. Например, общая прибыль за день доходит до 250 пунктов.
- Дневная прибыль/убыток меньше или равна заданному числу пунктов. Например, общий убыток за день доходит до -300 пунктов.
- Дневная прибыль/убыток больше или равна процентному значению от стартового баланса счета. Например, общая прибыль за день доходит до 5% от баланса счета.
- Дневная прибыль/убыток меньше или равна процентному значению от стартового баланса счета. Например, общий убыток за день доходит до -3% от баланса счета.
Последняя группа условий связана с числом ордеров и позиций:
- Число позиций больше или равно заданному. Например, общее число открытых позиций возросло до 5.
- Число позиций меньше или равно заданному. Например, общее число открытых позиций упало до 0.
- Число ордеров больше или равно заданному. Например, общее число отложенных ордеров возросло до 6.
- Число ордеров меньше или равно заданному. Например, общее число отложенных ордеров упало до 1.
После срабатывания условия из его чекбокса убирается флажок (если DoNotDisableConditions не установлен в true).
Вкладка действий
Эта вкладка позволяет выбрать действия, которые будут выполнены, когда какое-либо условие будет удовлетворено.
«Защитник счета» поддерживает девять действий:
- Закрыть % позиций — закроет (полностью или частично) выбранные активные сделки (или все, или только убыточные, или только прибыльные) по всем торговым инструментам, которые не отфильтрованы настройками на соответствующей вкладке и для которых разрешена торговля.
- Удалить все ордера — удалит все стоп-, лимит- и стоп-лимит-ордера по всем торговым инструментам, которые не отфильтрованы настройками на соответствующей вкладке и для которых разрешена торговля.
- Отключить авто-торговлю — выключит кнопку «Авто-торговля», предотвращая дальнейшую работу всех экспертных советников. «Защитник счета» использует вызов одной из функций библиотеки user32.dll для эмуляции нажатия кнопки. Это действие не будет работать, если в настройках советника не разрешен импорт функций DLL.
- Отправить электронное письмо — уведомит вас по электронной почте, если заданы корректные настройки в меню Сервис->Настройки->Почта. Будет отправлено одно письмо с кратким описанием удовлетворенного условия и выполненных действий.
- Отправить пуш-уведомления — проинформирует вас, используя мобильные пуш-уведомления, если заданы корректные настройки в меню Сервис->Настройки->Уведомления. Будет отправлено два уведомления с кратким описанием удовлетворенного условия и выполненных действий.
- Закрыть платформу заставит платформу МетаТрейдер закрыться. Это предотвратит дальнейшую работу каких-либо советников присоединенных к графикам внутри данной платформы.
- Включить авто-торговлю — включит кнопку «Авто-торговля», позволяя всем экспертным советникам в платформе работать. «Защитник счета» использует вызов одной из функций библиотеки user32.dll для эмуляции нажатия кнопки. Это действие не будет работать, если в настройках советника не разрешен импорт функций DLL.
- Обновить «снимки» — обновит «снимки» свободной маржи и средств по счету.
- Закрыть все другие графики закроет все графики в платформе кроме текущего, в котором работает данный экземпляр «Защитника счета».
После срабатывания действия из его чекбокса убирается флажок (если DoNotDisableActions не установлен в true).
Использование
Цель «Защитника счета» (ЗС) — помочь вам сберечь баланс счета. ЗС работает на основе заданных условий и действий. Действия выполняются в тот момент, когда хотя бы одно условие выполнено. Графическая панель помогает управлять экспертным советником.
Для правильной работы ЗС нужно включить кнопку «Авто-торговля» в терминале МетаТрейдера. Разрешение импорта функций DLL даст ЗС автоматически выключать авто-торговлю, когда вы настроите его на такое действие. Экспертный советник даст вам знать, если кнопка «Авто-торговля» или импорт DLL отключены, но продолжит работать в ограниченном режиме.
ЗС будет применять трейлинг-стоп и безубыток к открытым позициям, если вы настроите эти опции на основной вкладке и включите авто-торговлю.
Если вы установите входной параметр EnableEmergencyButton равным Yes, большая красная кнопка экстренного отключения появится в нижней части основной вкладки. Ее можно будет нажать для немедленного закрытия всех позиций, удаления всех ордеров и отключения авто-торговли. Кнопка экстренного отключения работает согласно фильтрам, установленным на соответствующей вкладке.
Статус
Вы можете следить за состоянием «Защитника счета» по верхней строчке на любой вкладке панели. Она отображает текущее состояние панели: ON (Вкл) или OFF (Выкл). Также она отображает текущий статус в виде одного из шести возможных вариантов:
- Autotrading is disabled (Авто-торговля отключена) — экспертный советник не сможет выполнять торговые операции до тех пор, пока не будет включена авто-торговля.
- No condition is set (Не задано условие) — вам следует задать хотя бы одно условие на вкладке условий, чтобы ЗС мог выполнять свои действия.
- No action is set (Не задано действие) — вам следует задать хотя бы одно действие на вкладке действий, чтобы ЗС мог что-то делать, когда выполнится условие.
- OK (but turned OFF) — «Защитника счета» готов приступить к работе, как только вы включите его с помощью кнопки Switch.
- OK — ЗС готов к работе и совершит все заданные действия при выполнении одного из заданных условий.
- Triggered at (Сработал в <метка времени>) — появляется после срабатывания какого-либо условия.
Журналирование
Когда ЗС добавляется на график, он записывает информацию о торговом счете и своих входных параметрах в файл-журнал, если было задано его название.
Во время работы ЗС журналирует следующие действия:
- Когда выполняется какое-то условие, ЗС записывает название условия, текущее состояние счета и все настройки панели.
- Когда выполняется какое-то действие, ЗС записывает название действие и подробный список всех закрытых позиций и удаленных ордеров.
- ЗС записывает сообщения об ошибках (например, когда в полях для ввода оказываются некорректные значения).
- Почти все записи журнала ЗС можно также видеть на вкладке «Эксперты» терминала МТ4/МТ5.
- Когда вы убираете ЗС с графика, он опять записывает в файл-журнал всю информацию о торговом счете и своих настройках.
Каждая строка файла-журнала сопровождается временной меткой, основанной на локальном времени платформы.
Входные параметры
Основные
- Enable emergency button (по умолчанию = No) — если Yes, на панели будет доступна кнопка экстренного отключения для быстрого закрытия всех сделок и отключения авто-торговли.
- PanelOnTopOfChart (по умолчанию = true) — если true, панель будет отображаться на переднем плане, а график — на заднем. Установив значение в false, вы переставите график на передний план.
- DoNotDisableConditions (по умолчанию = false) — если true, чекбокс сработавшего условия не будет отключен на вкладке условий.
- DoNotDisableActions (по умолчанию = false) — если true, чекбокс сработавшего действия не будет отключен на вкладке действий. Данный параметр не рекомендуется менять, если у вас нет абсолютной уверенности, что вам это нужно.
- DoNotDisableEquityTS (по умолчанию = false) — если true, трейлинг-стоп по уровню средств останется активным даже после срабатывания и продолжит работать с новыми сделками при их появлении.
- DoNotDisableTimer (по умолчанию = false) — если true, таймер продолжит работать после срабатывания и сможет сработать опять на следующий день (или через неделю).
- ConditionDelay (по умолчанию = 0) — число секунд, в течение которых условие должно оставаться выполненным, прежде чем сработают действия.
- CountFloatingInDailyPL (по умолчанию = true) — если true, плавающая прибыль/убыток будет учитываться в условиях по дневной прибыли/убытку.
Условия
- DisableFloatLossRisePerc (по умолчанию = false) — если true, условие «Плавающий убыток поднимается до заданного процента от баланса» будет спрятано.
- DisableFloatLossFallPerc (по умолчанию = true) — если true, условие «Плавающий убыток снижается до заданного процента от баланса» будет спрятано.
- DisableFloatLossRiseCurr (по умолчанию = false) — если true, условие «Плавающий убыток поднимается до числа единиц валюты» будет спрятано.
- DisableFloatLossFallCurr (по умолчанию = true) — если true, условие «Плавающий убыток снижается до числа единиц валюты» будет спрятано.
- DisableFloatLossRisePoints (по умолчанию = false) — если true, условие «Плавающий убыток поднимается до числа пунктов» будет спрятано.
- DisableFloatLossFallPoints (по умолчанию = true) — если true, условие «Плавающий убыток снижается до числа пунктов» будет спрятано.
- DisableFloatProfitRisePerc (по умолчанию = false) — если true, условие «Плавающая прибыль поднимается до заданного процента от баланса» будет спрятано.
- DisableFloatProfitFallPerc (по умолчанию = true) — если true, условие «Плавающая прибыль снижается до заданного процента от баланса» будет спрятано.
- DisableFloatProfitRiseCurr (по умолчанию = false) — если true, условие «Плавающая прибыль поднимается до числа единиц валюты» будет спрятано.
- DisableFloatProfitFallCurr (по умолчанию = true) — если true, условие «Плавающая прибыль снижается до числа единиц валюты» будет спрятано.
- DisableFloatProfitRisePoints (по умолчанию = false) — если true, условие «Плавающая прибыль поднимается до числа пунктов» будет спрятано.
- DisableFloatProfitFallPoints (по умолчанию = true) — если true, условие «Плавающая прибыль снижается до числа пунктов» будет спрятано.
- DisableCurrentPriceGE (по умолчанию = true) — если true, условие «Текущая цена выше или равна» будет спрятано.
- DisableCurrentPriceLE (по умолчанию = true) — если true, условие «Текущая цена ниже или равна» будет спрятано.
- DisableEquityMinusSnapshot (по умолчанию = true) — если true, условие «(Средства - снимок) выше или равны» будет спрятано.
- DisableSnapshotMinusEquity (по умолчанию = true) — если true, условие «(Снимок - средства) выше или равен» будет спрятано.
- DisableMarginLevelGE (по умолчанию = true) — если true, условие «Уровень маржи больше или равен» будет спрятано.
- DisableMarginLevelLE (по умолчанию = true) — если true, условие «Уровень маржи меньше или равен» будет спрятано.
- DisableSpreadGE (по умолчанию = true) — если true, условие «Спред больше или равен» будет спрятано.
- DisableSpreadLE (по умолчанию = true) — если true, условие «Спред меньше или равен» будет спрятано.
- DisableDailyProfitLossUnitsGE (по умолчанию = true) — если true, условие «Дневная прибыль/убыток больше или равна числу единиц валюты» будет спрятано.
- DisableDailyProfitLossUnitsLE (по умолчанию = true) — если true, условие «Дневная прибыль/убыток меньше или равна числу единиц валюты» будет спрятано.
- DisableDailyProfitLossPointsGE (по умолчанию = true) — если true, условие «Дневная прибыль/убыток больше или равна числу пунктов» будет спрятано.
- DisableDailyProfitLossPointsLE (по умолчанию = true) — если true, условие «Дневная прибыль/убыток меньше или равна числу пунктов» будет спрятано.
- DisableDailyProfitLossPercGE (по умолчанию = true) — если true, условие «Дневная прибыль/убыток больше или равна процентному значению» будет спрятано.
- DisableDailyProfitLossPercLE (по умолчанию = true) — если true, условие «Дневная прибыль/убыток меньше или равна процентному значению» будет спрятано.
Торговля
- DelayOrderClose (по умолчанию = 0) — задержка в миллисекундах между закрытиями ордеров. Этот параметр поможет, если вы хотите ограничить скорость, с которой советник отсылает на сервер брокера приказы о закрытии.
- UseTotalVolume (по умолчанию = false) — если true, «Защитник счета» будет использовать общий объем всех закрытых сделок при частичном закрытии. Это особенно полезно при торговле с большим количеством очень маленьких позиций.
- CloseFirst (по умолчанию = "No order, as quickly as possible") — определяет, как сортировать позиции для их закрытия:
- No order, as quickly as possible — «Защитник счета» не будет сортировать позиции. Он закроет их том порядке, в каком они хранятся в МетаТрейдере. Если закрытие было вызвано каким-либо из условий, основанных на плавающей прибыли или убытке, советник все равно отсортирует сделки по убыванию.
- Most distant trades first — «Защитник счета» будет сортировать позиции, начиная с самой отдаленной (расстояние до цены открытия). Этот вариант сортировки будет работать независимо от сработавшего условия.
- Nearest trades first — «Защитник счета» будет сортировать позиции, начиная с самой близкой (расстояние до цены открытия). Этот вариант сортировки будет работать независимо от сработавшего условия.
- Most profitable trades trades first — «Защитник счета» будет сортировать позиции, начиная с самой прибыльной (плавающая прибыль). Этот вариант сортировки будет работать независимо от сработавшего условия.
- Most losing trades first — «Защитник счета» будет сортировать позиции, начиная с самой убыточной (плавающий убыток). Этот вариант сортировки будет работать независимо от сработавшего условия.
- BreakEvenProfitInCurrencyUnits (по умолчанию = false) — если true, расстояние до безубытка на основной вкладке устанавливается в единицах валюты счета, а не в пунктах.
- EquityTrailingStopInPercentage (по умолчанию = false) — если true, скрытый трейлинг-стоп по уровню средств будет работать с процентами вместо валюты счета.
Разное
- AlertOnEquityTS (по умолчанию = false) — если true, уведомление в виде попапа будет отображено при срабатывании трейлинг-стопа по средствам.
- AdditionalFunds (по умолчанию = 0) — дополнительные деньги, которые будут добавлены к балансу счета, средствам и свободной марже. Может оказаться полезным, если вы хотите, чтобы «Защитник счета» действовал так, как будто у вас больше (или меньше) денег на счету, чем есть на самом деле.
- Instruments (по умолчанию = "") — список торговых инструментов для фильтра сделок.
- GlobalSnapshots (по умолчанию = false) — если true, все экземпляры «Защитника счета» в платформе будут делиться друг с другом «снимками» средств и маржи. Наиболее позднее обновление «снимка» будет считано всеми «Защитниками счета», у которых этот параметр равен true.
- Slippage (по умолчанию = 2) — значения проскальзывания, заданное в брокерских пунктах, которое будет использовано при закрытии позиций.
- Log file name (по умолчанию = "ap_log.txt") — если задан, «Защитник счета» будет вести журнал событий и записывать свои настройки в этом файле.
- Settings file (по умолчанию = "") — если задано имя файла, «Защитник счета» загрузит из него настройки панели. Файл может быть загружен только из поддиректорий \MQL4\Files\ или \MQL5\Files\ папки данных вашей платформы.
- Silent (по умолчанию = false) — если true, «Защитник счета» не будет ничего журналировать во вкладке Эксперты. Может быть полезным, чтобы избежать флуда сообщений о работе советника.
Скачать (ver. 1.11, 2024-06-19)
Account Protector («Защитник счета») для МетаТрейдера 4
Account Protector («Защитник счета») для МетаТрейдера 5
Установка: разархивируйте и скопируйте всю папку Account Protector в \MQL4\Experts\
или \MQL5\Experts\
(если вы используете МетаТрейдер 5) в папке данных вашего терминала. При компиляции «Защитника счета» в MetaEditor, убедитесь, что вы компилируете или AccountProtector.mq4 или AccountProtector.mq5, а НЕ AccountProtector.mqh.
Часто задаваемые вопросы
Может ли «Защитник счета» отключить авто-торговлю и только затем уже переходить к закрытию позиций и удалению ордеров?
К сожалению, нет. «Защитник счета», будучи экспертным советником, сможет закрывать позиции и удалять ордера только при включенной авто-торговле.
Обсуждение
У вас есть вопросы или предложения по данному экспертному советнику? Вы можете обсудить Account Protector («Защитник счета») с другими трейдерами на форуме.
Список изменений
Внимание! Версия для МТ5 теперь использует кодировку UTF-8 для хранения настроек. Обновление «Защитника счета» с версии 1.09 или старше скорее всего приведет к тому, что он не сможет правильно загрузить ваш старый файл с настройками.
Версия 1.11 — 2024-06-19
- Добавлена опция для переключения скрытого трейлинг-стопа по уровню средств на работу с процентами (EquityTrailingStopInPercentage).
- Добавлен «тихий» режим работы, когда советник не выдает никаких сообщений во вкладке Эксперты (Silent).
- Добавлен специальный механизм для предотвращения циклического срабатывания условия связанных с прибылью/убытком за день.
- Изменено название по умолчанию файла-журнала — с
log.txt
наap_log.txt
. - Изменено то, как определяется и отображается статус разрешения автоматической торговли. Сообщения «Защитника счета» будут теперь более конкретными.
Версия 1.10 — 2023-06-20
- Добавлена опция для учета только реализованной прибыли/убытка в условиях по дневной прибыли/убытку (CountFloatingInDailyPL).
- Добавлена опция задержки срабатывания (ConditionDelay), чтобы подождать, пока условие будет активным в течение заданного времени, прежде чем сработают действия.
- Добавлена возможность загрузить ваш собственный файл с настройками полей панели (Settings file).
- Добавлены четыре новых условия, использующих число позиций и отложенных ордеров.
- Добавлено глобальное состояние включения/выключения для панели, чтобы избежать неожиданного срабатывания действий, трейлинг-стопа или безубытка.
- Добавлен новый фильтр на вкладку фильтров, чтобы работать с лонгами и шортами по отдельности.
- Изменен способ управления сортировкой позиций перед закрытием (смотрите входной параметр CloseFirst).
- Исправлена кодировка файла настроек панели в версии для МТ5. Теперь это — UTF-8. Из-за этого возможны проблемы с загрузкой старых файлов настроек.
- Исправлена ошибка в версии советника для MT4, которая приводила к тому, что депозиты и снятия считались в условиях по дневной прибыли/убытку.
- Исправлена нормализация чисел в некоторых полях.
- Исправлено расположение полей в на вкладке фильтров, чтобы избежать проблем с их наложением в MT4.
- Оптимизированы фазы инициализации и деинициализации советника с заметным увеличением скорости загрузки при переключении символа графика.
- Удален входной параметр PanelOnTopOfChart. Вместо него следует использовать чекбокс «График сверху» в настройках самого графика.
Версия 1.09 — 2022-12-21
- Добавлен входной параметр (BreakEvenProfitInCurrencyUnits), чтобы можно было задавать расстояние для выставления безубытка в валюте счета вместо пунктов.
- Добавлен входной параметр (GlobalSnapshots), чтобы два и более экземпляра «Защитника счета», запущенных в одной платформе, могли делиться друг с другом «снимками» средств и маржи.
- Добавлен входной параметр (DoNotDisableTimer), чтобы сделать таймер периодическим.
- Добавлено действие Закрыть все остальные графики, чтобы можно было аккуратно выключить все остальные советники в платформе.
- Увеличена скорость закрытия позиций в случае, когда не установлены никакие фильтры.
- Исправлена потенциальная ошибка с делением на ноль при включенных условиях с дневной прибылью/убытком.
- Исправлено ошибочное срабатывание условий с уровнем маржи, когда в платформе нет открытых сделок.
- Исправлен баг (был только в версии для MT4), когда панель не запоминала выбранную вкладку.
- Исправлена незначительная ошибка с функцией
ArraySort()
. - Изменен текст условий с дневной прибылью и убытком в процентах, чтобы было понятно, что проценты считаются от баланса счета.
Версия 1.08 — 2022-06-15
- Добавлен входной параметр DoNotDisableEquityTS, чтобы трейлинг-стоп по уровню средств не отключался после срабатывания.
- Добавлен входной параметр AlertOnEquityTS для включения уведомлений при срабатывании трейлинг-стопа по уровню средств.
- Добавлен входной параметр CloseMostDistantFirst для указания экспертному советнику, что торговые позиции нужно сортировать и закрывать «от самой дальней» (дальность определяется по разнице текущей цены и цены открытия).
- Переименованы входные параметры DoNotResetConditions на DoNotDisableConditions и DoNotResetActions на DoNotDisableActions во избежание путаницы.
- Исправлен критический баг, который препятствовал закрытию позиций, если не был задан файл журналирования.
- Исправлен баг, который иногда не давал нормально работать журналированию, даже когда файл открывался без ошибок..
Версия 1.07 — 2022-02-16
- Исправлена ошибка в трейлинг-стопе по средствам, из-за которой позиции не закрывались.
Версия 1.06 — 2022-02-08
- Добавлено условие по текущему спреду.
- Добавлено условия по уровню маржи счета.
- Добавлен набор условий, основанных на прибыли/убытке за день.
- Добавлен фильтр для прибыльных/убыточных сделок.
- Улучшен фильтр по инструментам — теперь можно задать список торговых инструментов для включения или игнорирования.
- Улучшена совместимость с другими индикаторами и советниками, использующими графическую панель.
- Улучшена производительность при проверке некоторых особенно медленных условий.
- Оптимизирован процесс фильтрации по мэджикам.
- Исправлен баг, который не давал кнопке экстренного отключения закрывать позиции.
- Исправлен баг, который приводил к тому, что «Защитника счета» применял «Дополнительные пункты для уровня безубыточности», даже когда соответствующий чекбокс был отключен.
- «Писы» переделаны в «пункты» в интерфейсе советника для большей ясности.
Версия 1.05 — 2021-08-04
- Добавлены условия «Средства − снимок» и «Снимок − средства».
- Добавлены условия с ценой графика.
- Добавлена возможность ставить после каждого закрытия сделки (входной параметр DelayOrderClose).
- Добавлена возможность (входной параметрUseTotalVolume) использовать общий объем для расчета процента закрытых сделок при работе с большим числом мелких позиций (например, по 0,01 лота).
- Добавлен входной параметр (AdditionalFunds), чтобы трейдер мог указать дополнительную сумму, которая будет добавлена балансу счета, средствам и свободной марже. Может быть полезным, когда вы работаете с процентными значениями, и не все ваши деньги, выделенные на торговлю, лежат на депозите.
- Изменено поле процента закрытия на вкладке действий, чтобы принимать дробные значения.
- Убрано всплывающее окно с предупреждением об отключенном импорте DLL. Предупреждения через статусную строку должно быть достаточно.
- Исправлена зачистка остатков старых панелей при добавлении «Защитника счета» на график после критической ошибки.
- Исправлена работа с закрытыми рынками в версии для MT5. Теперь, если сделка должна быть закрыта (на основе условия и действия) в то время, как торговая сессия завершена, «Защитник счета» закроет ее, как только рынок откроется заново и без флуда сообщениями об ошибке в лог.
- Улучшена совместимость версии для MT5 со счетами в криптовалюте и криптовалютными парами.
Версия 1.04 — 2020-04-17
- Добавлено действие «Включить авто-торговлю».
- Добавлено действие «Обновить «снимки».
- Добавлена возможность закрывать все, только прибыльные или только убыточные позиции.
- Добавлены обратные условия для достижения плавающим убытком или прибылью заданных значений. Они могут быть использованы для выполнения действий при снижении, а не увеличении, убытка или прибыли.
- Добавлены входные параметры для уменьшения количества условий, отображаемых на вкладке.
- Замена времени
TimeCurrent()
на времяTimeLocal()
в журналах. - Улучшены некоторые сообщения в журналах.
Версия 1.03 — 2019-09-30
- Добавлено поле для процентов для частичного закрытия позиций на вкладке действий.
- Добавлен день недели для таймера.
- Добавлена поддержка для 8 знаков после запятой в размере позиции (только в версии советника для МТ5).
- Добавлены входные параметры для, чтобы отключить сброс условий и действия при срабатывании советника.
- Изменено поведение полей для ввода на панели — значения могут быть изменены, даже если соответствующий чекбокс отключен; теперь нет специального значения
EMPTY
, что немного упростит работу с советником.
Версия 1.02 — 2019-02-12
- Исправлена ошибка, из-за которой Account Protector не мог закрывать позиции в МТ5, если сервер использовал тип выполнения заявки Immediate or Cancel.
Версия 1.01 — 2017-11-20
- Добавлен трейлинг-стоп по уровню средств счета.
- Исправлены ошибки, связанные с минимизацией и максимизацией панели.
- Исправлено появление двух и более панелей при загрузке шаблонов с «Защитником счета».