명시
ТЗ советника по свечам
Советник (робот) должен работать на любом брокере, на 4-х и 5-ти значных котировках на платформе МТ4 на любом инструменте: валюты, криптовалюты, металлы, газ, нефть, cfd. Также обязательно чтобы он автоматически определял кратность котировок у брокера. То есть настройки в пунктах были одни и те же самые, а робот сам определял какой это брокер 4 или 5-ти значный и корректно на нем работал.
Возможность вносить некоторые поправки и изменения в советник, которые не были учтены при написании этого ТЗ. И самое главное - обязательно бесплатно исправить функции, которые будут работать не корректно.
Вход делаем на: А) Открытии новой свечи. Б) За несколько секунд до закрытия текущей свечи.
Настройка, где можно задать значение в секундах.
2 типа входа на выбор:
1) В сторону закрытия предыдущей свечи.
2) В обратную сторону, от закрытия предыдущей свечи.
Возможность делать вход после серии свеч, которые закрылись растущими/падающими. Настройка, где задается серия свеч, после которой делать вход. Пример: 1 – после одной свечки, 3 – после серии 3-х свечек подряд. В какую сторону заходить зависит от выбранного типа входа в предыдущей настройке.
Докупки. Делаем в ту же самую сторону, в которую есть сейчас открыты сделка(и). И по тому же принципу что и вход.
Стоплоссы при докупке. Варианты:
1) По той же цене, что и стоплосс при первом входе в позицию.
2) За предыдущий бар или тот бар по количеству, какой задать в настройке.
3) Fix – фиксированный в пунктах.
Выход
По: функции ReverseClose, ТР, стоплоссу, трейлинг стопу, по времени, заданной цели или ограничению риска.
Функции и настройки
- Лот Fix/Percent/Multiplier. Percent – означает рассчитать лот автоматически и торговать с заданным риском в % от депозита. Переключатель от чего считать Баланс/Эквити.
Multiplier – задать коэффициент, на какой множить лот для каждой следующей сделки. Касается входа и докупок одной серии сделок подряд. Для входа в обратную сторону отсчет начинается сначала. Как только серия сделок закроется, отсчет начинается сначала.
- Время работы (2 сессии, в часах и минутах). Задать время в часах и минутах, каждой из сессий в одной строчке.
- CloseTime. Закрыть все сделки в определенное время. После срабатывания данной функции, торговля начинается со следующего дня.
- Выбор типа входа и серии свеч для входа (описано выше).
- StopLoss. Fix/Technical. Fix – фиксированный в пунктах. Technical – Ставим за один из предыдущих баров. Возможность задать в настройке номер бара, за каким ставить стоплосс. 1 – означает за предыдущим баром. Робот должен ставить стоплосс за самым низким минимумом для покупок и самым высоким high для продаж, который был в заданной серии баров. Например задали значение 5, открыли ордер на покупку, а один из предыдущих баров под номером 3 имел самый низкий low, значит стоплосс ставим за ним, а не за номером 5. Это самое правило касается и при выставлении стоплосс в докупках.
- StopLossShift. Какой зазор в пунктах добавлять к стоплосс. Для сделок на sell по умолчанию нужно добавлять еще и размер спрэда. Для buy спрэда добавлять не нужно.
- TakeProfit. Fix/Calculate/Time. Если Calculate, то рассчитываем по соотношению к StopLoss. Пример, если задать 2.5 значит ТР должен быть в 2,5 раза больше, чем размер SL.
Time означает закрыть сделку, через определенное время после открытия. Настройки, где можно будет выбрать минуты/часы/дни и значение, через сколько закрыть сделку.
- Трейлинг стоп. On/Off. 2 вида трейлинга. Возможность выбора одновременной работы только одного из них. Technical - Трейлинг двигается за движением цены и ставится за один з предыдущих баров. Настройка, где задается значение, за какой бар ставить стоп. Если покупка, 1 – означает что стоп переносим за low предыдущего закрытого бара который был вверх, сразу как только откроется новый бар. 2 – за предпредыдущий и т. д. И плюс еще отступ от хай/лоу (ниже лоу и выше хай) на определенное количество пунктов, которое можно задать в настройке. Здесь тоже для селл сделок обязательно автоматически еще добавлять размер спрэда. 2) Задаем в пунктах минимальное значение движение цены от входа (например 80), а в следующей строке задаем процент от этого максимального движения, который мы хотим подстраховать и сохранить на счете. Например задали мин. значение 80, а в следующей строке 50, это означает, что когда рынок пройдет от входа +80 пунктов, советник переместит стоп на +40 пунктов (50% от этого движения). Как только цена пройдет +82 пункта от входа, то стоп перемещается на +41 пункт и т. д. Тут нужно для лонг и шорт учитывать только чистую прибыль. Для лонга это будет и так ясно советнику, а для шорт, нужно еще отнимать спрэд.
- ReverseClose. On/Off. Закрыть серию сделок при закрытии одного или нескольких баров в обратную сторону. Две настройки:
1) на каком по счету баре в обратную сторону выходить – то есть закрыть серию сделок.
2) Закрыть все или часть сделок.
Переключатель AllClose/PartClose. Если часть (PartClose), то должна быть настройка, сколько сделок в процентах закрыть. Считать в большую сторону. То есть если есть серия из 11 сделок, а закрыть нужно 50%, то советник должен закрыть 6 сделок.
Также настройка-переключатель, какие ордера в серии закрывать – самые новые/самые старые.
- MinCandleBodySize. On/Off. Фильтр минимального размера тела свечи в пунктах для входа. Для основного входа и докупок.
- Определение понятия Doji «додж». Если тело свечи меньше заданного размера (в этой настройке) в пунктах, значит советник определяет это как тип свечи Doji «додж».
- MinStopLossPips. Фильтр для открытия сделок по минимально допустимому размеру StopLoss в пунктах. Если размер стоплосс меньше заданного значения, значит сделку не открываем. Этот фильтр касается и основного входа и докупок.
- MaxStopLossPips. Фильтр для открытия сделок по максимально допустимому размеру StopLoss в пунктах. Если размер стоплосс больше заданного значения, значит сделку не открываем. Этот фильтр касается и основного входа и докупок.
- ATR фильтр. On/Off. Возможность задать 2 значения Min и Max, если текущий размер в пунктах ATR (по индикатору Average True Range) инструмента будет меньше заданного минимума или выше заданного максимума, то торговля запрещена. Настройка, где можно задать, за какой период в днях считать ATR.
- Защита от большого спрэда. Задается максимальное значение в пунктах. Если в данный момент спрэд больше чем это значение, сделку не открываем.
- Slippage
- MagicNumber.
Докупки. On/Off.
1. По какому принципу делать докупку:
а) по такому же самому, какой выбран тип входа;
б) на каждом баре, который закрылся в ту же сторону, что и открыта основная сделка. Вход это первая сделка, которая сейчас есть открыта на счете. Все следующие сделки в ту же сторону это докупки.
2. Тип бара для докупки (при условии, что тип докупки выбран после каждого бара).
Возможность выбрать одну, все или несколько из этих опций одновременно. Опции:
1) Standart. Делать докупку, если бар закрылся растущим для buy и падающим для sell. On/Off
2) Continuation. On/Off/CloseSeries. Если бар закрылся в обратную сторону и пробивал high/low предыдущего бара для серии buy/sell, но не пробивал low/high предыдущего бара для серии buy/sell, то после закрытия этого бара, открывать докупку в сторону серии сделок.
3) InsideBarSame. On/Off/CloseSeries. Если бар закрылся в ту же сторону, что и предыдущий но не пробивал high/low предыдущего бара для серии buy/sell, и не пробивал low/high предыдущего бара для серии buy/sell (то есть был внутренним баром), то после закрытия этого бара, открывать докупку в сторону серии сделок.
4) InsideBarReverse. On/Off/CloseSeries. Если бар закрылся в обратную сторону, но не пробивал high/low предыдущего бара для серии buy/sell, и не пробивал low/high предыдущего бара для серии buy/sell (то есть был внутренним баром), то после закрытия этого бара, открывать докупку в сторону серии сделок.
5) InsideDoji. On/Off/CloseSeries. Если бар закрылся с маленьким размером тела или без него (доджем) но не пробивал high/low предыдущего бара для серии buy/sell, и не пробивал low/high предыдущего бара для серии buy/sell (то есть был внутренним баром и доджем), то после закрытия этого бара, открывать докупку в сторону серии сделок.
6) Doji. On/Off/CloseSeries. Если бар пробил high/low предыдущего бара для серии buy/sell соответственно и при этом закрылся с маленьким размером тела или без него (доджем), но не пробивал high/low предыдущего бара для серии sell/buy, то после закрытия этого бара, открывать докупку в сторону серии сделок.
CloseSeries – означает закрыть серию сделок.
Если одна или несколько опций включены (On), а именно 2) 4) 5) 6), то игнорируем функцию ReverseClose On.
3. StopLossRebuyTechnical. On/Off . Сделать для подпунктов 2) 3) 4) 5) возможность отдельно задать значение, за каким баром ставить стоплосс. Если Off, значит берем значение стоплосс с основных настроек. Зазор брать с функции StopLossShift.
4. MinBreakdownPips. Минимальное пробитие (в пунктах) high/low предыдущего бара для buy/sell соответственно, чтобы советник считал это как пробитие и использовал при опциях докупок. Если меньше заданного значения, то советник считает, что пробития не было. On/Off
5. Максимальное количество ордеров докупки одновременно открытых на счете.
Перезаходы (ReEnter). On/Off
Если сделка была закрыта по стоплосс ложным пробоем (шипом или тенью) и цена закрытия текущего бара (того, на котором закрыли стоплосс) оказалась выше цены входа сделки на buy или ниже для сделки на sell, то советник расценивает это как ложный пробой и должен сделать перезаход в данной ситуации.
Типы перезахода Limit/Market:
1) Лимитным ордером. Поставить по той же самой цене, что был ордер, который был закрыт по стоплосс ложным пробоем.
2) Рыночным ордером. Зайти сразу после закрытия того бара, который сделал ложный пробой.
Сколькими ордерами делать перезаход. Настройка где задается количество ордеров.
Пример по стоплоссу выбило 3 ордера, а в настройке задано 2, значит нужно перезайти только 2 ордерами. Если выбило по стоплосс 3 ордера, а задано в настройке 5, то значит нужно перезайти только 3 ордерами (то есть максимум то количество, которое выбило по стоплосс, не больше).
Если выбран тип перезахода Limit, то приоритет выставления будет для тех ордеров, которые были открыты по лучшей цене. Параметры SL и ТР для ордеров перезахода будут теми же самыми, что были в ордерах, которые были закрыты ложным пробоем по стоплосс.
Фильтры тренда
- Функция OneDirectionTrading (открытие новых сделок только в ту же самую сторону, в которую уже есть сейчас открыта сделка/сделки. В обратную сторону сигналы игнорируем). On/Off
- TrendTfFilter. Фильтр тренда по таймфрейму (торговля только в сторону закрытия предыдущей свечи по выбранному таймфрейму). Возможность выбрать таймфрейм с выпадающего списка. On/Off
- Фильтр тренда/контртренда по индикатору MA. On/Off. Возможность настройки всех параметров индикатора. Trend/CounterTrend. Возможность выбрать таймфрейм с выпадающего списка, по которому строить МА. Настройка, на сколько минимум пунктов от индикатора должна быть цена для входа.
Money Management
- Ограничение потерь на день 1) в пунктах 2) в процентах 3) в минусовых сделках по роботу. Переключатель по чем именно считать: По инструменту/По счету. Очень важно! Если ограничение на день (в пунктах) 40, а закрыли -30, и следующий сигнал на вход со стопом 11 пунктов, то в такой сигнал не входим, только если стоп меньше или равен 10 пунктам. То же самое касается и логики по процентам. Если лимит 5 процентов, а закрыли -4%, то в следующий сигнал входим, только если риск по нему меньше или равен 1%. В противном случае сделку не открываем.
- Максимальная просадка на счете Money/Percent. On/Off. Money - Задается значение деньгах. Как только оно достигнуто по средствах счета, абсолютно все сделки на счете закрываются и советник новых сделок уже не открывает, пока не изменить этого значения. Percent – робот сам рассчитывает размер просадки в процентах от максимального эквити в истории на счете. Задается значение максимальной просадки в % в специальной настройке. Помнить эти значения даже при перезагрузке терминала.
- Цель на день. Выбор одной из опций: Money/Pips/Percent. Заработать заданное количество денег/пунктов/процентов в день. Цель берем от эквити/баланса счета, нужен переключатель. Считаем выполнение цели по счету/торговому_инструменту, переключатель. Если заработали столько или больше, все сделки закрываем и сегодня больше не торгуем. Торговля начинается со следующего дня. Если не заработали за день заданного значения, на следующий день: А) Торгуем как обычно (как будто цель достигнута) по новой цели. Б) Помним результат предыдущего дня (дней) и к этому результату добавляем сегодняшнюю цель на день.
- Общая цель по счету. On/Off. Задается значение в деньгах. Как только оно достигнуто по средствах счета, абсолютно все сделки на счете закрываются и советник новых сделок уже не открывает, пока не изменить этого значения.
Визуализация On/Off
ATR торгового инструмента за заданный в настройке период
Прибыль/Убыток в деньгах - За день/За всю историю счета
Прибыль/Убыток в пунктах - За день/За всю историю счета
Прибыль/Убыток в процентах - За день/За всю историю счета