Советник Exp – SafetyLock PRO был написан с целью защитить такие системы от промахов не путем блокирования позиций, а за счет установки противоположно направленных отложенных ордеров.
SAFETYLOCK
"Самое большое укрепление крепости - его защитники…. "
Силован Рамишвили
Он помогает трейдерам избежать сильного разворота рынка путем установки противоположного отложенного ордера на уже открытую позицию.
Как часто Вы отказываетесь от более важных дел, чем смотреть на графики котировок?
Наверно каждый 2-ой читатель побывал в ситуации, когда в ожидании продолжения тренда убираешь StopLossв надежде, что данная позиция принесет тебе больше прибыли, чем ты ожидал. С этого я и хотел начать свою статью.
Рынок очень непредсказуем, и надеяться на какую-нибудь стратегию либо советника довольно опасно. Просторы интернета кишат разнообразного рода советниками, авторы которых яро уверяют Вас, что стратегия рабочая и данный советник принесет Вам прибыль. Довольно часто такие советники рано или поздно промахиваются в своих расчетах и Вы рискуете потерять свои деньги. Работая с позициями, некоторые трейдеры подстраховывают свои позиции с помощью локированных (HEDGE) ордеров, противоположно направленными позициям.
Но зачастую Lock – это не выход, а временное удовлетворение своих желаний.
Основные функции
Он помогает трейдерам избежать сильного разворота рынка путем установки противоположного отложенного ордера на уже открытую позицию.
Если трейдер или советник открывает позицию, наш защитник открывает отложенный противоположный ордер на эту позицию. Если позиция трейдера идет в убыток, срабатывает отложенный защитный ордер, создавая тем самым замок LOCK.
В функциях советника возможно закрытие первоначальной позиции или работа с трейлингстопом, умножение лота.
Также есть функция модификации цены открытия отложенного ордера вслед за ценой позиции.
Алгоритм работы данного советника:
Советник начинает свою работу с того, что проверяет все открытые позиции на наличие уже установленных отложенных ордеров. В системе существуют настройки для проверяемых позиций:
Основной алгоритм
Отложенный ордер можно установить с, заданным в параметрах , StopLoss и TakeProfit.
Также отложенный ордер можно установить с лотом, умноженным на MNLot. Например: если позиция открыта с лотом 0.5, и параметр MNLot=2, то отложенный ордер будет открыт с лотом 1.0 .
Далее система Exp – SafetyLock PROпроверяет уже открытые отложенные ордера, и если цена ушла от ордера на расстояние sens, То система модифицирует отложенный ордер, тем самым подтягивая ордер вслед за ценой.
Если основная позиция закрылась (по стоплоссу, тейкпрофиту, вручную или другой системой) – отложенный ордер, установленный на эту позицию, также удаляется.
Параметр OrderSafetyMonitor– регулирует возможность проверки сработанных ордеров. Другими словами, данный параметр разрешает(true) / запрещает(false) установку отложенных ордеров на позиции, которые были открыты системой Exp – SafetyLock PRO.
Дополнительные функции
Иногда появляется необходимость включать трейлингстоп на позициях. И раз уж мы заговорили об автоматической системе, я «прикрутил» к данной системе автоматический Трейлингстоп.
Для того, чтобы включить Автоматический трейлингстоп, параметр TrailingIfProfitследует поставить на true. Стоит отметить, что при работе данной функции, параметры StopLoss и TakeProfit при первом срабатывании функции – модифицируются на 0.
Параметр TrailingStop– означает шаг трейлингстопа.
Параметр Prchoose– профит в пунктах, при которых автоматический трейлингстоп начнет свою работу.
Вывод: При определенных настройках и последующей проверке системы, я обнаружил, что данный инструмент является своего рода золотой жилой для всех систем, которые доступны в интернете. Данный инструмент по праву может претендовать на звание «Полноценный защитник систем». Но стоит учесть тот факт, что рынок непредсказуем и никто, даже самые опытные трейдеры не могу т с 100% уверенностью дать анализ рынка.
Мониторинг и алгоритм работы
SymbolToMonitor- Название инструмента, за позициями которого следует установить слежение. Данная опция предназначена для того, чтобы ограничить работу эксперта на определенные символы. Например, если Вы хотите чтобы система следила за позициями определенного символа, Вы должны заменить данный параметр на точное название инструмента(например: EURUSD USDCHF USDRUR). Если Вы хотите чтобы советник следил за всеми позициями, в том числе и за позициями, которые были открыты вручную, данный параметр следует поставить на 0
- Система следит открытые ордера по всем валютным парам или же по тем, которые заданы в настройках советника, параметр Symbol_Monitor.
- Система следит те позиции, которые выставленные в советнике Type_Monitor
- Система следит те магические номера, которые выставлены в советнике Magic_Monitor
- Отложенный ордер выставляется стоп ордером на расстояние StopOrderDeltaifUSE от текущей цены.
- Далее Отложенный ордер мониторится.
- Если мы прошли расстояние StopOrderDeltaifUSE от ордера и включен параметр ModifyOrdPend=true, цена Отложенного ордера подтягивается. Тем самым уходя в безубыток.
- Как только отложенный ордер сработала мы начинаем следить за ней (следить за ней) .
- В системе есть функция отключения мониторинга своих ордеров. параметр SafetyPosMonitor=false отключает мониторинг позиций, которые были созданы данным советником.
- Если поставить параметр на true система будет следить за своими отложенными ордерами.
- Далее если Отложенный ордер не сработал и ордер от которого был открыт Отложенный ордер, уже закрыта пользователем или другим способом - Отложенный ордер, выставленный на этот ордер, автоматически удаляется.
- В системе есть возможность умножать лоты Отложенный ордер. параметр MNLOT. Если например ордер открыт с лотом 0.2 то Отложенный ордер будет открыт с лотом 0.2 * MNLOT.
- Если включен параметр CloseOneifStopsActive=true, позиция, на которую был открыт Отложенный ордер – закроется, и в работе останется только позиция созданная данным экспертом
- Также в системе есть возможность выставить StopLoss и TakeProfit отложенных ордеров
- Есть возможность включать трейлингстоп на позиции Tralling.
При перезапуске терминала система не выставляет новые Отложенные ордера. Она следит за Отложенными ордерами, выставленными ранее.
Внешние переменные и настройки
Название | Описание |
---|---|
MilliSecondsTimerForMonitoring | количество миллисекунд исполнения алгоритма (по умолчанию 1000 = 1 секунда) |
Параметры мониторинга | |
SymbolMonitoring | SymbolMonitoring= ALL_SYMBOL = Проверять все символы, все сделки на счете. Если Вы установили советника на 1 график любой валютной пары, он будет следить за всеми валютными парами на счете; SymbolMonitoring = Проверять только текущий символ. Советник будет Проверять и сопровождать только сделки с символом, на котором установлен эксперт; SymbolMonitoring = SPECIFID_SYMBOL = Проверять только сделки по указанному в SPECIFID_Symbol_Monitor символу. Например EURUSD - тогда советник будет сопровождать сделки только по символу EURUSD; |
SPECIFID_Symbol_Monitoring | Добавлена возможность создавать список символов через запятую, для мониторинга. Внимание! Вы должны указать символы так, как написано в "Обзоре Рынка" Если написано EURUSD.c то писать нужно EURUSD.с , а не eurusd.c или EURUSD.C |
Type_Monitoring | тип сделок для мониторинга, BUY SELL или ВСЕ |
Magic_Monitoring | Магический номер позиций для мониторинга Теперь можно задать список магических номеров через запятую, которые нужно Проверять . Например: Magic_Monitoring= -1 означает, что будут Проверять все магические номера; Magic_Monitoring= 0 означает, что будут мониториться ручные сделки ; Magic_Monitoring= 555,777 означает, что будут мониториться магики 555 и 777; |
Comment_Monitoring | Данная опция фильтрует сделки для выставления LOCK по позициям, чьи комментарии совпадают с Comment_Monitoring Например: Comment_Monitoring="" - следит за всеми сделками, неважно какой у них комментарий Comment_Monitoring="VirtualTRadePad" - следит за всеми сделками, с комментарием VirtualTRadePad, даже если в комментарии есть VirtualTRadePad-1 или VirtualTRadePadEXTRA или TickVirtualTRadePadEXTRA |
Min_Lot_Monitoring | Минимальный лот для мониторинга советником, если 0 - параметр отключен; |
Max_Lot_Monitoring | Максимальный лот для мониторинга советником, если 0 - параметр отключен; например, Вам необходимо использовать текущий советник SafetyLock для защиты позиций, которые набрали большой лот, например при использовании мартина. Лот, на который Вам нужно установить противоположный стоп ордер = 0.16, при этом советник не должен трогать позиции, которые меньше чем 0.16, тогда Вам необходимо выставить такие параметры: Min_Lot_Monitoring =0.16 ; например, Вам необходимо локировать все позиции, которые имею лот от 0.1 до 0.25, тогда Вам необходимо выставить такие параметры: Min_Lot_Monitoring = 0.1; Max_Lot_Monitoring = 0.25; |
SafetyPosMonitoring | Включить мониторинг позиций, открытых советником SafetyLock. Если SafetyLock установил локирование Вашей позиции путем установки отложенного ордера и этот отложенный ордер активировался и превратился в позицию, тогда SafetyLock установит новый отложенный ордер на эту позицию. Этот алгоритм напоминает алгоритм Качелей. |
Параметры отложенных ордеров | |
StopLosse | стоплосс ордеров отложенных ордеров SafetyLock |
TakeProfite | тейкпрофит ордеров отложенных ордеров SafetyLock |
MNLOT | Множитель лота для отложенных ордеров Если, например, ордер открыт с лотом 0.2, то отложенный ордер будет открыт с лотом 0.2 * MNLOT; |
StopOrderDeltaifUSEe | Дистанция для отложенных ордеров SafetyLock |
DynamicStopOrderDelta | параметр динамической дистанции DynamicStopOrderDelta: Например: При DynamicStopOrderDelta=-100: |
Параметры Сетки ордеров | |
NumberofStopOrder | Количество отложенных ордеров SafetyLock для одной позиции. Вы можете установить NumberofStopOrder= 5, тогда на каждую позицию будет открыто 5 отложенных ордеров LOCK. Позволяет строить сетку отложенных ордеров |
DistancefromStopOrders | Шаг сетки в пунктах, при использовании NumberofStopOrder |
Параметры модификация ордеров | |
ModifyOrdPend | Включить модификацию цены открытия отложенных ордеров при движении цены. Позволяет тянутся отложенным ордерам вслед за ценой. |
ModifyOrdPend_STEP | Шаг модификации в пунктах |
ModifyOrdPend_onlytoOpenPrice | true - возможность модифицировать отложенный ордер только до цены открытия позиции(старый вариант) false - продолжать модифицировать по движению цены |
Параметры дополнительные | |
ReopenClosedSafetyOrders | Позволяет заново открывать отложенные ордера SafetyLock , если они были закрыты стопом, при этом защищаемая позиция еще открыта. Например: Отложенный ордер SafetyLock сработал и превратился в позицию, на эту позицию установлен стоплосс, тейкпрофит или трейлингстоп. Эта позиция, при движении цены, закрывается по своему стоплоссу или тейкпрофиту. При включении этой опции, советник SafetyLock выставит новый отложенный ордер на главную позицию. |
StopOrderDeltaifReopens | Дистанция для установки отложенного ордера SAFETYLOCK после переоткрытия ордера. Если StopOrderDeltaifReopens = 0, тогда дистанция = StopOrderDeltaifUSEe (старый вариант) Цена для установки отложенного ордера будет рассчитываться от текущей цены. |
Close_One_if_Safety_Closed_In_Profit | закрывает оригинальную позицию, если позиция SafetyLock была закрыта в прибыли, перекрывающей текущий убыток оригинальной позиции. При использовании NumberofStopOrder>1 прибыль позиций SafetyLock рассчитывается от суммы прибыли всех позиций по Тикету основной позиции. Теперь закрытие основной позиции происходит только тогда, когда сумма прибыли закрытых позиций SAFETYLOCK и основной позиции будет больше или равна Close_One_if_Safety_Closed_In_Profit_Dollars. Например:
|
Close_One_if_Safety_More_profitable | закрывает оригинальную позицию, если позиция SafetyLock более прибыльная, перекрывающая текущий убыток оригинальной позиции. При использовании NumberofStopOrder>1 прибыль позиций SafetyLock рассчитывается от суммы прибыли всех позиций по тикету основной позиции. Теперь закрытие основной позиции и позиций SAFETYLOCK происходит только тогда, когда сумма прибыли этих позиций будет больше или равна Close_One_if_Safety_More_profitable_Dollars(При NumberofStopOrder>1) Например:
|
Если включены обе функции Close_One_if_Safety_More_profitableи Close_One_if_Safety_Closed_In_Profit, Например:
| |
CloseOneifStopsActive | Закрывать позицию, если отложенный ордер SafetyLock сработал. Если отложенный ордер активировался и превратился в позицию, тогда, при включении этой опции, главная позиция будет закрыта. |
CloseSafetyPositionsifclosed | Закрывать позиции SafetyLock, которые уже активированы, если главная позиция закрылась. Если главная позиция была закрыта, тогда позиция SafetyLock будет также закрыта |
Close_One_if _Safety_Closed | Если позиция SAFETYLOCK была закрыта по любой причине (ручное закрытие, тейкпрофит, трейлингстоп), тогда основная позиция будет также закрыта. |
Remove_TAKEPROFIT_ofOriginalifStopsActive | Удалять тейкпрофит оригинальной позиции, если отложенный ордер SafetyLock был активирован; |
Remove_STOPLOSS_ofOriginalifStopsActive | Удалять стоплосс оригинальной позиции, если отложенный ордер SafetyLock был активирован; Позволяет "жестко" зафиксировать LOCK на двух позициях удалив при этом стоплосс и тейкпрофит. Создает "Безопасный замок", который не будет разблокирован если оригинальная позиция была закрыта по своему стполосс или тейкпрофиту. |
Параметры TrailingStop | |
TrailingStopUSE | Включить трейлингстоп позиций SAFETYLOCK PRO. Включает трейлингстоп только на позиции, которые были активированы и открыты советником |
IfProfTrail | Включать трейлингстоп только тогда, когда позиция набрала TrailingStope пунктов прибыли. Если выключить эту опцию, советник включит функцию трейлингстопа сразу же, как только позиция наберет +0 пунктов прибыли. Тогда первый стоплосс установится в минусовую зону. |
TrailingStarte | Количество пунктов прибыли для начала включения функции трейлингстопа |
TrailingStope | Дистанция в пунктах от текущей цены до установленного стоплосса. Если текущая прибыль = 200 пунктов, а TrailingStope = 100, тогда стоплосс будет установлен на уровне +100 пунктов. Тем самым мы даем цене возможность отката на 100 пунктов максимум. В другом случае сработает стоплосс и позиция будет закрыта в +100 пунктов. |
TrailingStep | Шаг изменения стоплосса при включении функции трейлингстопа. |
Параметры Breakeven | |
MovingInWLUSE | Включение функции безубытка. Функция модифицирует стоплосс в LevelWLoss пунктов, когда позиция наберет LevelProfit пунктов прибыли. Пример: LevelWLoss=50 LevelProfit=200 Как только позиция наберет 200 пунктов прибыли, Стоплосс позиции будет модифицирован в цену открытия позиции (+спред) + 50 пунктов Пример: LevelWLoss=0 LevelProfit=100 Как только позиция наберет 100 пунктов прибыли, Стоплосс позиции будет модифицирован в цену открытия позиции (+спред) |
LevelWLoss | Уровень установки стоплосса в плюсовой зоне в пунктах |
LevelProfit | Количество пунктов прибыли, которое должна пройти позиция для того, чтобы функция безубытка модифицировала стоплосс. |
Параметры торговли | |
SetMinStops | Автоматически нормализует все параметры в пунктах до минимально возможного уровня стопов на сервере. Если ВЫ указали стоплосс или дистанцию = 10 пунктам, а минимальный стоп уровень на вашем сервере = 20 пунктам, тогда советник автоматически нормализует значения стоплосса и дистанции до 20 пунктов. Если выключить эту опцию, тогда при возврате сервером ошибки 130 , советник не сможет установить отложенный ордер или стоплосс |
Magic | Магический номер открываемых отложенных ордеров советником |
Slippage | Уровень максимально возможного проскальзывания в пунктах при открытии и закрытии позиций. Пример: Slippage = 1 Максимальное отклонение при открытии позиции = Цена открытия +-1 пункт. Slippage = 100 Максимальное отклонение при открытии позиции = Цена открытия +-100 пункт. Например: Цена открытия позиции при отправке приказа на сервер = 1.12345 Но, если за время отправки и открытия позиции цена изменилась в пределах 100 пунктов, тогда позиция откроется с проскальзыванием в пределах 1.12245 - 1.12445 |
MarketWatch | Включает возможность открытия позиций с стоплосс \ тейкпрофитом на счете с MARKET исполнением. Первая открывается позиция, после успешного открытия модифицируются уровни стоплосс и тейкпрофит. |