Работа завершена
Техническое задание
Нужны версии советника для МТ4 и МТ5
Внести изменения в существующий алгоритм:
- Переменную «<значение> лот на каждую 1 000 баланса» изменить на «0.01 лот на каждые <значение> баланса»
- Режим торговли <автоматический/восстановление> (при значении <автоматический> советник открывает сам первую сделку, и торгует согласно своему алгоритму. В режим «восстановление» переходит только в том случае, если просадка достигла установленного значения. При значении <восстановление> советник не открывает первую сделку сам, а работает только в режиме «восстановления», подхватывая открытые другими советниками/руками сделки.
Добавить режим «восстановление»
В этом режиме советник должен подхватывать все открытые сделки, (в случае, если был до этого режим «автоматический» - и свои собственные), и запрещать торговать всем другим установленным советникам.
В этом режиме советник, при достижении установленной максимальной просадки, локирует все открытые сделки в «замок», и с получением прибыли, начинает их частично закрывать.
В случае, если цена находится выше «замка» - советник открывает сделки только на продажу. Если ниже - только на покупку. Если цена в «замке» - то открывает в обоих направлениях. Сигналом к открытию сделок в режиме «восстановления» является сам факт наличия «замка», открывается первая сделка сетки без индикаторов, исходя из ТФ графика.
Из режима «восстановление» должен выходить только в том случае, если все сделки, находящиеся в «замке» закрылись. После этого режим «восстановление» переключается на «автоматический» режим торговли. Запускается этот режим в том случае, если просадка достигла определенного значения. Частичное закрытие залокированных сделок начинается с первой ранее открытой сделки, и тогда, когда прибыль в режиме «восстановление» достигла значение в <значение> раз превышающее плавающий убыток покупки + продажи «замка». И т.д, до полного закрытия «замка»
Переменные режима «восстановление»
- Тейк профит в пунктах (в случае открытой сетки - в пунктах от уровня безубытка)
- 0.01 лот на каждые <значение> баланса
- Множитель лота в сетке
- Шаг сетки
- Максимально допустимая просадка в процентах от баланса
- Частичное закрытие. Тут должна выставляться переменная частичного закрытия в случае, если прибыль в <значение> раз превысила плавающий убыток покупки + продажи «замка»
Пример 1:
Наш советник был в режиме «автоматический». Торговал по своему алгоритму. Открыты, предположим, 3 сделки по 1 лоту на продажу, суммарно 3 лотами. Первая сделка в состоянии плавающего убытка - 150$, вторая - 100$, третья - 50$. На счете образовалась просадка, превышающая максимально допустимую (например 20%, 300$) Советник переходит в режим «восстановление»: локирует все открытые сделки покупкой 3 лотом. Цена находится выше «замка». Советник на открытии свечи ТФ графика открывает продажу. Она закрывается с прибылью 100$. Открывается вторая сделка, которая закрывается с прибылью так же 100$. Третья сделка ушла в просадку, но, по итогу закрытия сетки восстановления серия закрылась так же с прибылью 100$. Теперь у нас есть прибыль 300$. Это значение в 2 раза превышает значение плавающего убытка по первой сделке (предположим, этого достаточно для начала частичного закрытия, так как мы установили такое значение переменной)
Теперь у нас закрывается 1 лот продажи и 1 лот покупки. Остается 2 сделки на продажу и 2 на покупку, с суммарным плавающим убытком 150$. Далее все по аналогии. После закрытия второй и третьей сделки советник переходит в режим «автоторговли»
Пример 2:
Советник был в режиме «восстановление». На счете велась торговля другим советником. Всего открыты 3 сделки по 1 лоту: одна на покупку, две на продажу. Покупка в просадке 100$, продажи в просадке по 200$ каждая. Просадка достигла максимально допустимое значение (предположим выставили 20% от баланса, что равняется 500$). Наш советник, при достижении этой просадки отключает советник, который вел торговлю. Далее локирует открытые сделки. Так как у нас открыты 2 продажи и 1 покупка, он открывает еще одну покупку одним лотом. Получается 2 покупки и 2 продажи, залокированная просадка 500$. Дальше запускается сам режим «восстановления», как это описано в примере 1. После закрытия всех сделок замка наш советник снова разрешает торговлю сторонним советникам.
Менять режимы из «автоматического» на «восстановление» и обратно советник должен всегда исключительно сам, без ручного вмешательства.