Описание работы советника Recovery System

13 декабря 2018, 09:42
Alexander Nechaev
0
712

Содержание:

  1. Общая информация о продукте.
  2. Порядок работы:
    • Варианты запуска.
    • Варианты процесса восстановления.
    • Общее описание алгоритма с комментариями
  3. Работа с другими советниками.
  4. Примеры ситуаций для восстановления и какие настройки в этих ситуациях следует изменять.

1. Общая информация о продукте.

Советник Recovery System предназначен для уменьшения просадки на счете трейдера. Советник осуществляет локирование убыточной позиции и ее последующее частичное закрытие с помощью авторского алгоритма. Советник подходит к работе с единичными большими по объему ордерами, с группами ордеров различных типов, с сетками ордеров раскинутыми на большие ценовые диапазоны. Гибкость настройки советника Recovery System позволяет работать с различными ситуациями. Продукт может быть использован для текущего восстановления убытков, включен в режиме ожидания для запуска по просадке или убытку, использован как полноценная торговая панель, открывающая и сопровождающая ордера.

Данная статья призвана помочь разобраться с настройкой и работой данного советника.

Панель советника:


Видеоинструкция советника:


2. Порядок работы: Запуск советника.

Попробуем разобрать основные возможные вариации запуска советника Recovery System:


  1. Включение с немедленным восстановлением убыточных ордеров:
  2. Это запуск с Type of the launch = Instant_start  . При данном варианте включения советник производит в момент включения стандартную процедуру запуска.
  3. Включение в режиме ожидания с запуском работы при просадке в процентах от депозита:
  4. Это запуск с Type of the launch = Start_at_drawdown_in_percents . При данном варианте включения советник переходит в режим ожидания, не производит торговые операции до тех пор, пока убыток от обрабатываемых ордеров не составит "Drawdown in percentage or in money to run" процентов от депозита. Сто процентов отображаются как 100.00, если необходимо запустить советник при достижении убытка в 25% от депозита, то переменная "Drawdown in percentage or in money to run" должна быть равна 25. Важный нюанс: Выйдя из режима ожидания Recovery System не возвращается в него автоматически.
  5. Включение в режиме ожидания с запуском работы при убытке в валюте депозита:
  6. Это запуск с Type of the launch = Start_at_drawdown_in_percents . При данном варианте включения советник переходит в режим ожидания, не производит торговые операции до тех пор, пока убыток от обрабатываемых ордеров не составит "Drawdown in percentage or in money to run" единиц измерения депозита. То есть это убыток в валюте депозита. Если депозит долларовый, и есть необходимость запустить советник, когда убыток достигнет на пример 500 долларов, то переменная "Drawdown in percentage or in money to run" должна быть равна 500. 
    Важный нюанс: Выйдя из режима ожидания Recovery System не возвращается в него автоматически.
  7. Включение для последующего использования советника Recovery System в качестве торговой панели:
  8. 1) Для запуска Recovery System в качестве торговой панели актуально переключить автоматическое локирование в значение false. Если его не выключить, то при открытии ордеров через панель мгновенно произойдет выравнивание позиции открытием дополнительного ордера. Для сопровождении ордеров следует также включить  Type of the launch в позицию  Instant_start  , в данном варианте, если ордер уйдет в убыток - советник начнет открывать восстанавливающие ордера для частичного закрытия, а если пойдет в прибыль - советник будет сопровождать трейлинг стопом и тейк профитом в деньгах весь объем ордера.
    2) Можно запустить Recovery System в режиме запуска по просадке, тогда ордера будут открываться через панель, но локирование и восстановление начнутся только при достижении определенной просадки. 
  9. Включение в тестере стратегий:
  10. Для запуска Recovery System в режиме тестирования пользователи могут генерировать различные убыточные ситуации с помощью панели открытия новых ордеров. При "Type of the launch" = Instant_start  советник откроет при начале тестирования демонстрационный ордер и восстановит его. В режимах запуска при просадке или при убытке советник не будет открывать демонстрационные ордера, а сразу перейдет в режим ожидания. Когда убыток достигнет заданного значения - советник залокирует позицию и начнет восстановление. Режимы запуска при просадке/при убытке позволят тестировать восстановление различных ситуаций, таких как восстановление нескольких ордеров большого объема или восстановление раскинутой сетки ордеров.

Попробуем разобрать действия советника при включении:

    1. При включении в режиме ожидания:
    2. Советник анализирует открытые ордера и не начинает работу до момента превышения просадки или убытка до уровня "Drawdown in percentage or in money to run", после переходит к стандартной процедуре запуска.
    3. При включении с немедленным восстановлением убыточных ордеров или выходе из режима ожидания:
      • Советник закрывает другие окна выбранного инструмента, чтобы выключить убыточные советники (опционально).
      • Советник сбрасывает уровни TakeProfit и StopLoss у всех обрабатываемых ордеров и удаляет отложенные ордера с соответствующими идентификаторами.
      • Советник закрывает все обрабатываемые прибыльные ордера, чтобы с помощью их прибыли перекрыть часть убыточных ордеров и уменьшить общий объем позиции(опционально).
      • Советник блокирует убыточную позицию с помощью открытия локирующего ордера.(опционально)
    Далее при помощи открытия восстанавливающих ордеров приступает к уменьшению убытка с помощью частичного закрытия убыточных ордеров.

    2. Порядок работы: Восстановление убытков.

    1. Как советник идентифицирует ордера пригодные к обработке:
    2. Советник определяет ордера для восстановления по выбранному пункту в переменной Group of orders for recovery, всего доступно три варианта:
        • Обрабатывать только ордера символа, к которому прикреплен Recovery System с таким-же MagicNumber, что и у Recovery System. Используется для восстановления убытков от конкретных советников, обозначено значением Group of orders for recovery = Orders_of_the_current_symbol_with_same_MagicNumber .
        • Обрабатывать только ордера символа, к которому прикреплен Recovery System, открытые вручную. Открытые вручную ордера имеют MagicNumber = 0, этот идентификатор и использует советник, поэтому следует обращать на это внимание при подключении Recovery System в данном режиме. Обозначен значением Group of orders for recovery = Manual_opened_orders_of_the_current_symbol .
        • Обрабатывать абсолютно все ордера символа, к которому прикреплен советник Recovery System. Обозначен значением Group of orders for recovery = All_orders_of_the_current_symbol .
    1. Как советник определяет ордера  для восстановления:
    2. Советник анализирует открытые ордера в отдаленности от прибыльности. Для восстановления можно использовать в первую очередь наиболее далекие от прибыльности ордера(Order selection procedure = Close_More_Loss , это актуально для восстановления небольшого числа ордеров. Либо наиболее близкие к прибыльности(Order selection procedure = Close_More_Lots ), это более актуально для восстановления сеток ордеров раскинутых на большой ценовой диапазон, так-как более близкие ордера закрыть быстрее, следовательно быстрее может быть уменьшен объем убыточной позиции.
    3. Часть для закрытия, ее размеры, соотношение с размером первого восстанавливаемого ордера:
    4. Если часть для закрытия меньше чем первый восстанавливающий ордер - выше вероятность того, что одного восстанавливающего ордера будет достаточно для закрытия части убыточной позиции. При расчете рисков и составлении входных настроек под конкретную ситуацию следует иметь это ввиду.


    2. Порядок работы: Общее описание алгоритма с комментариями

    Попробуем описать порядок действий советника при восстановлении, и добавим пару комментариев к этим действиям:

     Итак, при запуске в режиме Instant_start, локирование и восстановление начнутся автоматически, советник соберет информацию обо всех ордерах на чарте, проанализирует их прибыли и убытки. Общая корзина ордеров будет выровнена в объеме, то есть объем Buy ордеров будет равен объему Sell ордеров. После чего советник определит наименее удачно расположенные по ценам ордера - это самые дешевые продажи и самые дорогие покупки(Это относится к использованию Order selection procedure = Close_More_Loss). Именно эти ордера будут в первую очередь восстанавливаться. Восстановление будет происходить отдельно для множества частей этих ордеров. Ордера будут закрываться частично, их убыток будет компенсироваться прибылью от группы восстанавливающих ордеров и частью прибыли от блокирующего ордера(Например: мы закрываем часть, равную 0.03 лота от убыточного Sell ордера, его будут перекрывать -

    1. Прибыль части в 0.03 лота от локирующего Buy ордера.
    2. Прибыль от группы восстанавливающих ордеров )


    3. Работа с другими советниками:

    При восстановлении другого советника обязательно нужно исключить возможность параллельной работы с Recovery System. Другой советник следует либо выключить вручную, либо отключить его используя функция автоматического  закрытия других окон, которая имеется во входных настройках советника Recovery System.

    В случае если Recovery System запущен на VPS, то он сможет закрывать советники расположенные только на этом VPS. В данном процессе будет необходимо обращать на это внимание. Запустили на терминале, значит можем закрыть то, что открыто конкретно на терминале, Запустили на VPS, значит можем закрыть то, что открыто конкретно на VPS. Ключевой момент - это конкретное расположение окон, которые нужно закрывать, каждый терминал стоит рассматривать как отдельную песочницу. RS не работает глобально, только в границах отдельно взятого терминала.


    4. Выбор настроек в зависимости от текущей ситуации:

    Попробуем привести несколько примеров возможных ситуаций, при которых может быть использован советник Recovery System:

    • Имеется один убыточный ордер большого объема, либо несколько больших по объему убыточных ордеров

    В таком случае полезно использовать автоматическое локирование. Лок зафиксирует убыток в текущем положении и не даст убыточному ордеру возможности обрушить депозит при сильном движении цены. В случаях, когда уже имеется большой объем в рынке наиболее безопасно будет использовать малый объем части для закрытия. Большие ордера более безопасно делить на много частей, но при таком подходе восстановление может занять длительный промежуток времени.

    • Имеется один или несколько убыточных ордеров небольшого объема, расположенных весьма далеко от текущей цены

    В таком случае при расчете части для закрытия и объема восстанавливающего ордера следует не забывать, что убыток равен объему умноженному на расстояние от цены. Небольшие, но далекие ордера проще всего восстанавливать самыми малыми объемами закрытия. 

    • Имеется сетка ордеров разного объема, типа, в ней могут присутствовать рыночные и отложенные ордера, сетка имеет большой размер в пунктах(от самого верхнего до самого нижнего рыночного ордера)

    В таком случае желательно использовать функцию "Delete available pending orders at start" для удаления всех отложенных ордеров, если они есть. При работе с сетками я рекомендую использовать зону восстановления с небольшим фиксированным размером. Для сеток актуально использование локирования, восстановление я предпочитаю начинать с уменьшения общего объема позиции, которое в данной ситуации будет происходить быстрее при "Order selection procedure " = Close_More_Lots . 

     

    • Нет просадки и открытых ордеров. Recovery System планируется запустить вместе с другим советником на VPS, как лучше их включать?

    В таком случае Recovery System можно запустить на VPS вместе с другим советником. Для этого нужно поставить RS в запуск по просадке или в запуск по убытку, а также включить функцию "Close another charts with same symbol at start", при выходе из режима ожидания RS закроет окно другого советника, тем самым выключит его. Далее следует обратить внимание на два нюанса: 

    1. После завершения восстановления Recovery System не возвращается в режим ожидания автоматически.
    2. Когда Recovery System работает с ордерами, другие алгоритмы не должны с ними взаимодействовать или открывать новые ордера, которые могут попасть в группу "Locked"


    Во всех возможных случаях обращайте внимание на расположение ценовых зон и текущий тренд. Если Вы видите, что Recovery System в соответствии с обозначением зон открытия восстанавливающих ордеров может открыть ордера в местах противоречащих Вашей стратегии - открытие восстанавливающих ордеров определенного типа можно ограничивать во входных настройках советника.

    В целом, когда ордера находятся на небольшом расстоянии друг от друга и от текущей цены, а автоматическое локирование включено - проще использовать автоматический расчет зоны восстановления, в остальных случаях более быстрое восстановление ордеров будет происходить при использовании восстанавливающей зоны фиксированного размера.


    Поделитесь с друзьями: