Adviser_Alex_2511_01

指定

Нужен советник для MT4 и MT5 (работать будем и там, и там). Советник использует индикатор Super_Trend_HTF,
https://www.mql5.com/ru/code/14259?utm_campaign=MetaTrader+5+Terminal&utm_medium=special&utm_source=mt5terminal+codebase и индикатор ATR как фильтр для сигналов для Индикатора MACD. Позиции открываются и закрываются только по MACD
Не умею программировать в языке mql, но основы программирования знаю, - я много программировал на visual basic.
Нужен советник с открытым кодом, в коде которого будут указаны на русском подробные пояснения, где нужно изменить параметр индикатора, сигнала, чтобы подстраивать под себя советника.

Теперь подробно:
Как работает советник:

1. Общие условия: время работы всегда 
порядок запуска  - включение работы советника на определенном графике с определенным таймфреймом. советник работает только на этом графике и использует бары таймфрейма, который был включен при нажатии кнопки автоторговля 


2. Далее логика советника
Есть индикатор Super_Trend_HTF,
Это Индикатор Super_Trend с возможностью изменения таймфрейма индикатора во входных параметрах.
Он отображается красной и зеленой линией. Позволяет на текущем таймфрейме видеть supertrend от другого таймфрейма.

Этот индикатор будет фильтром сигналов.
В настройках указанного по ссылке можно менять следующие параметры:

период таймфрейма, который будет использоваться для расчета индикатора.
период индикатора CCI
уровень срабатывания CCI
сдвиг индикатора по горизонтали в барах

Эти настройки должны быть доступны к изменению в понятном месте Советника
иным словами, я хочу в коде советника увидеть что-то подобное:
//+----------------------------------------------+
//| Входные параметры индикатора                 |
//+----------------------------------------------+ 
input ENUM_TIMEFRAMES TimeFrame=PERIOD_H4;  // Период графика индикатора (таймфрейм)
input uint CCIPeriod=14;                    // Период индикатора CCI 
input int Level=0;                          // Уровень срабатывания CCI
input int Shift=0;                          // Сдвиг индикатора по горизонтали в барах 
чтобы я сам мог в дальнейшем менять эти переменные
Далее, в указанном выше индикаторе Super_Trend_HTF нет важной опции:
Изменения параметров индикатора ATR, которое реализовано вот тут

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


По Умолчанию все настройки супертренда должны быть как в индикаторе Super_Trend_HTF
По индикатору Supertrend позиций не открывается и не закрывается. но хотелось бы видеть в коде строчку, чтобы эту возможность потом также подключить (открытие и закрытие позиций по Supertrend .)

3. вторая часть Советника - индикатор ADX, измеряющий силу тренда.
Он нужен нам только для того, чтобы избежать периода консолидации.
Поэтому он должен выполнять только одну функцию.
Если Значение ADX со стандартными настройками индикатора меньше 20, - никаких позиций не открывается. значение 20 хотелось бы иметь возможность менять в будущем. 
Данную опцию, возможно, захочется отключить, поэтому работу этого блока (ATR) нужно вывести на отдельную переменную, которая, например, при значении 1 или true давала блоку работать, а при значении 0 (false), отключала этот фильтр


4. Третья часть - MACD
настройки MACD стандартные
  • ЕМАs (короткая) с периодом 12 дней (две недели).
  • ЕМАl (длинная) с периодом 26 дней (месяц).
  • EМАa (сглаживающая разницу) с периодом 9 значений
с возможностью их менять в коде.
Советник для открытия позиции должен работать так:
  • Анализируются только сформировавшиеся бары (стрелочки на текущем баре игнорируются).
Если Supertrend - красный, все сигналы MACD на покупку игнорируются. Сигналы на продажу: работают только если ADX больше 20, я хочу иметь возможность в коде включать и отключать любые сигналы MACD. В Коде по-русски должно быть указано, какой это из сигналов MACD и что нужно изменить, чтобы его включить или выключить, если Supertrend красный.
Если Supertrend - зеленый, все сигналы MACD на продажу игнорируются. аналогично предыдущему  я хочу иметь возможность в коде включать и отключать любые сигналы  на покупку MACD.  В Коде по-русски должно быть указано, какой это из сигналов MACD и что нужно изменить, чтобы его включить или выключить, если Supertrend  зеленый.

5. У MACD есть следующие сигналы, которые я хочу вдеть в советнике:
https://www.mql5.com/ru/docs/standardlibrary/expertclasses/csignal/signal_macd
Разворот 
Пересечение основной и сигнальной линии 
Пересечении нулевого уровня 
а также описанный вот здесь http://theignatpost.ru/magazine/index.php?mlid=6997
 сигналы Излучина и Разворот на нулевой линии 
Если сможете реализовать.
Обратите внимание, что по ссылке https://www.mql5.com/ru/docs/standardlibrary/expertclasses/csignal/signal_macd
указано, что, например:
при сигнале на покупку Разворот — осциллятор развернулся вверх (осциллятор растет на анализируемом баре, а на предыдущем он падал). - позиция открывается только на следующем баре, после которого случился данный сигнал. и закрывается, соответственно, тоже.

После открытия первой позиции, остальные сигналы MACD также работают - открываются дополнительные позиции, по той же механике.


ВСе сигналы вывести на переменные, чтобы их работу можно было настраивать: например, при значении 1 или true данный конкретный сигнал работает, а при значении 0 (false) сигнал не работает.

6. Далее

Для защиты от событий, неподдающихся техническому анализу, нужен стоплосс:
Он рассчитывается так:
Среди последних 5-10 свечей Вычисляется максимальное значение  свечи (с учетом хвостика), к нему прибавляется 30% от высоты этой свечи (с учетом хвостика).
С переходом на следующий бар, соответственно, стоп-лосс перерасчитывается и переставляется.
Желательно количество свечей вывести на отдельную переменную, и указать где она, чтобы я мог менять количество свечей для расчета стоплосса.
по умолчанию поставить количество свечей =6
Трейлинг-стоп должен быть отключаемым (параметр AllowTrailing = true/false).
Далее.
Советник торгует фиксированным лотом.
Размер лота по умолчанию = 0,2
Этот параметр также будем менять. это нужно оставить возможным и указать где менять.



7. Далее
Закрытие позиции:

Закрытие открытой позиции осуществляется либо по стоп лоссу,
либо по любому из сигналов MACD, противоположных сигналу открытия позиции (если открывали buy, то закрываем по сигналу sale). При этом пока не понятно, по какому сигналу лучше закрывать, поэтому нужно иметь возможность включать и выключать сигналы macd для закрытия позиции.

8. красивости-удобности:
информация на графике - 
-Стоп лосс
рисование стрелочек открытия/закрытия позиций - все точки всех позиций висят на графике всегда.
- График Supertrend
- Ниже график индикатора MACD
- ниже график ATR



9. Общие коментарии к коду
В ходе проверки (тестирования) должна быть возможность проверить не только значения задаваемых пользователем параметров, но и все значения, рассчитанные в процессе работы (размер лота, уровни стоп-приказов, и т.д.).
В случае возникновения критической ошибки советника необходимо поставить пользователя в известность (сообщением на экран) - где советник заглючил, чтобы можно было обратиться к разработчику за помощью. Ошибки советника - бесплатная помощь разработчика.
Надежность работы, в противовес быстродействию, выдвигается на первый план - если какая-то дополнительная проверка поможет предотвратить возможную ошибку, то она должна в советнике быть. Даже если это несколько замедлит тестирование и оптимизацию (при работе в реальном времени скорость исполнения чаще всего не ощутима).

исключительные права на данную создаваемую по заказу программу принадлежат Заказчику

10. Все "узкие места" алгоритма должны быть подробнейшим образом продуманы и качественно обработаны. Ситуаций, в которых может возникнуть ошибка, должно быть минимум (все, к сожалению, предусмотреть не получится):
    • Советник должен уметь восстанавливать нормальное функционирование после временного разрыва связи, переподключения к счету или перезапуска терминала.
    • При невозможности установить отложенные ордера или стоп-приказы, они должны отслеживаться виртуально и при достижении ценой их уровней исполняться по рынку.
    • При невозможности открыть позицию по рынку в течении N попыток должно увеличиваться максимально разрешенное проскальзывание.
    • При срабатывании отложенного ордера или стоп-приказа не по предусмотренному алгоритмом уровню, а с проскальзыванием (например, при ценовом разрыве), должны быть скорректированы уровни всех зависимых ордеров (а, возможно, и их объемы).
    • Все функции, оперирующие размером депозита (например, расчет лота), должны нормально воспринимать неторговые операции с балансом (внесение или списание средств).
11. Желательно:
ведение более подробных лог-файлов и регулярное сохранение скриншотов графиков (при открытии позиций), они могут оказаться очень полезными при разборе проблемных или спорных ситуаций.

12. Прочие вопросы:
Оформление через сервис РАБОТА

Как советник должен реагировать на позиции, открытые вручную или другими советниками? - Полностью игнорировать все "чужие" позиции. Если система самодостаточна, торговые действия других советников или пользователя на нее влиять не должны.

Как советник должен реагировать на подключение к другому торговому счету? Нужна ли специальная процедура запуска на реале?  При запуске на реальном счете советник должен создать на графике кнопку, разрешающую торговлю. Работа должна начинаться только после того, как пользователь на нее нажмет.

13. Связь в порядке предпочтения и скорости моих ответов:
vk: https://vk.com/celfyjd
Tel: 89032935298
Mail: Aleksey.sudanov@gmail.com
Skype: aleksey.sudanov

応答済み

1
開発者 1
評価
(187)
プロジェクト
367
56%
仲裁
45
22% / 56%
期限切れ
188
51%
2
開発者 2
評価
(9)
プロジェクト
10
60%
仲裁
1
0% / 100%
期限切れ
0
3
開発者 3
評価
プロジェクト
0
0%
仲裁
0
期限切れ
0

プロジェクト情報

予算
締め切り
最低 1 最高 5 日