Spezifikation
Есть советник под МТ4. Нужно добавить в него одну настройку и сделать версию для МТ5.
ВЕРСИЯ 3. ДОПОЛНИТЕЛЬНАЯ НАСТРОЙКА:
Dynamic channel (0, 1, 2, 3) - если включена, то отложенный разворотный ордер подтягивается за ценой в сторону открытого ордера. Стоп-лосс открытого ордера подтягивается соответственно.
0 - настройка отключена.
1 - тейк-профит отложенного ордера при модифицировании выставляется с учётом фактических убытков серии. Если отложенный ордер переместился на уровень, где убыток серии равен 0 и менее (при срабатывании разворотного ордера серия имеет прибыль), отложенный ордер модифицируется на минимальный объем (становится началом новой серии).
2 - тейк-профит отложенного ордера при модифицировании выставляется в соответствии с расчетным размером прибыли серии для конкретной сделки (таким образом, чтобы общая прибыль серии при срабатывании тейк-профита была такой, как при фиксированном канале).
3 - тейк-профит отложенного ордера при модифицировании выставляется в соответствии с расчетным размером прибыли конкретной сделки в текущей серии (таким образом, чтобы при срабатывании тейк-профита прибыль данной сделки была такой, как при фиксированном канале).
При выявлении ошибок в уже реализованном функционале их нужно будет исправить.
УЖЕ РЕАЛИЗОВАННЫЙ ФУНКЦИОНАЛ:
Базовый алгоритм торговли:
Бот торгует сериями. Серия представляет собой последовательность сделок, которая завершается либо плановой прибылью, либо плановым убытком.
Упрощенно серия выглядит так:
- вход
- стоп+разворот (1)
- стоп+разворот (2)
- ...
- стоп+разворот (n)
- профит/убыток
- новая серия...
При развороте размер позиции изменяется в соответствии с настройкой "Количество шагов".
При значении данной настройки по умолчанию "1", каждая последующая сделка открывается объемом в два раза больше предыдущей.
Стоп-лосс для каждой позиции постоянный.
Разворотная сделка устанавливается стоп-ордером на уровне стоп-лосса для текущей открытой сделки (чтобы срабатывание стопа и открытие разворотного ордера происходило одновременно)
Тейк-профит рассчитывается в процентах от суммы убытков текущей серии (для 2й и всех последующих сделок в серии) или от размера стоп-лосса (для 1й сделки).
Перед каждой серией система рассчитывает длину серии (предельное количество сделок) на основании параметров "Риск серии" и "Стоп-аут".
Описание параметров советника:
Лот (десятичное)
размер позиции для первой сделки в серии
Дистанция (десятичное)
Расстояние от текущей цены при открытии серии, на которое выставляются первые отложенные ордера серии
Стоп-лосс (десятичное)
значение стоп-лосса для всех ордеров в серии.
Тейк-профит (целое)
значение тейк-профита в процентах от суммы убытков текущей серии (для первой сделки в серии - в процентах от стоп-лосса)
Количество шагов (целое)
При настройке по умолчанию увеличение лота происходит на каждом шаге (каждый последующий ордер в серии больше предыдущего по объему в два раза)
Данный параметр будет определять количество последовательных сделок, совершаемых одинаковым размером позиции
По умолчанию, серия открывается такими объемами (шаг=1): 1-2-4-8-16-32...
При настройке (шаг=2): 1-1-2-2-4-4-8-8-16-16-32-32...
При настройке (шаг=3): 1-1-1-2-2-2-4-4-4-8-8-8-16-16-16-32-32-32... и т.д.
Формула и пример расчета этой настройки приведены в файле steps_example.xlsx
Направление первой сделки (any/buy/sell)
При настройке buy или sell в начале серии выставляется только один соответствующий ордер согласно настройки "Дистанция"
При отдалении цены более, чем на значение настройки "Дистанция", отложенный ордер подтягивается за ценой на это же расстояние
При настройке any выставляется 2 отложенных ордера. При срабатывании одного из них, второй удаляется.
Риск серии (0% - 100%)
Предельное значение убытков текущей серии в процентах от депозита
Если для следующей сделки в серии сумма общих убытков серии при срабатывании стандартного стоп-лосса превысит значение этой настройки, то следующая сделка не открывается.
Вместо следующей сделки начинается новая серия
Стоп-аут (0% - 100%)
Минимальное значение депозита в процентах от суммы всех пополнений счета, при котором советник перестаёт торговать.
Если для очередной серии сумма общих убытков серии при срабатывании стандартного стоп-лосса превысит значение этой настройки, то следующая серия не открывается.
Защитные уровни (целое)
Количество шагов снижения уровня тейк-профит до срабатывания настройки "Риск серии"
Пример. Риск серии по расчетам сработает на 8 сделке в серии (8я будет последняя, после этого новая серия). Значение параметра "Тейк-профит" установлено на 150
Это значит, что каждый тейк профит устанавливается так, чтобы покрыть все убытки текущей серии плюс заработать 150 % от суммы убытков серии сверху.
Защитные уровни равномерно снижают процент бонуса на протяжении числа сделок, заданного в настройке защитного уровня
В данном примере настройка 4 защитных уровня будет означать, что начиная с 5й сделки в серии бонус будет снижаться на 30% (150/(4+1)): 150-150-150-150-120-90-60-30
Формула и пример расчета этой настройки приведены в файле dropdown.xlsx
Trailing stop start (целое)
Указывает номер сделки в серии, на которой включается скользящий стоп.
Пример. Настройка равна 3. После открытия 3-й сделки в серии, при достижении уровня, указанного в настройке "Trailing stop treshold", стоп-лосс открытой сделки переносится на уровень, указанный в настройке "Trailing stop level" и далее подтягивается за ценой с заданным шагом из настройки "Trailing stop step". При значении 0 параметр отключен.
Trailing stop treshold (целое)
Значение прибыли в процентах от суммы убытков текущей серии (для первой сделки в серии - в процентах от стоп-лосса), при достижении которого стоп-лосс переносится на уровень, указанный в настройке "Trailing stop level". Уровень цены для данного параметра рассчитывается по аналогии с уровнем цены для параметра Тейк-профит уже реализованного функционала.
Trailing stop level (целое)
Значение прибыли в процентах от суммы убытков текущей серии (для первой сделки в серии - в процентах от стоп-лосса), на которое переносится стоп-лосс при достижении уровня, указанного в настройке "Trailing stop treshold". Уровень цены для данного параметра рассчитывается по аналогии с уровнем цены для параметра Тейк-профит уже реализованного функционала.
Trailing stop step (целое)
Шаг перемещения стоп-лосса за движением цены, в тиках.