Нужен советник

MQL5 Эксперты

Работа завершена

Время выполнения 44 дня
Отзыв от исполнителя
У Владимира профессиональный подход к проверке -- это большая редкость. Сотрудничать с заказчиком с таким подходом к проверке -- это удача, т.к. позволяет создать реально качественный продукт.

Техническое задание

Написать советник по ТУ и ТЗ 

  • Качество кода: Работа должна содержать чистый код с комментариями на английском языке.

  • Организация структур: Все структуры должны содержать только простые типы данных. Для оптимального выравнивания памяти данные внутри структур должны быть организованы от самого большого типа к самому малому. Допускается использование статических массивов простых типов внутри структур.

  • Типы данных: Массивы и переменные должны быть только простых типов.

  • Входные параметры: Все input -параметры должны использоваться в коде через единую структуру, поля которой дублируют входные параметры.

  • Глобальные переменные: * Использование автономных глобальных и статических переменных запрещено.

    • Если без глобального состояния не обойтись, все такие переменные должны быть собраны в структуру и использоваться только через неё.

  • Парадигма программирования: Использование классов и объектов (ООП) запрещено. Код должен быть написан строго в стиле функционального программирования.

  • Интерфейс и графика: Использование графических объектов на графике и расчеты на их основе в логике советника запрещены.

  • Индикаторы: Вызов стандартных и ка с томных индикаторов через iCustom или встроенные функции MQL запрещен. Все необходимые индикаторы должны быть полностью реализованы (написаны с нуля) внутри кода советника.

  • Информация о символе: Данные из SymbolInfo , относящиеся к торговому инструменту, должны быть занесены в структуру и инициализированы один раз в специальной функции. В коде должны использоваться данные только из этой структуры.

  • Тиковые данные: Текущая рыночная информация должна храниться в структуре типа MqlTick , которая заполняется в самом начале функции OnTick . Все расчеты должны использовать данные только из этой структуры.

  • Работа с временем:

    • Тип данных datetime полностью исключен; вместо него используется только тип int .

    • Получение текущего времени допускается только из структуры MqlTick последнего пришедшего тика.

    • Использование стандартных функций MQL для работы с временем (например, TimeCurrent() , TimeToStruct() и др.) не допускается .

    • Запрещённые типы данных: color, double. Вместо double всегда использовать float.

    • Использование ArraySetAsSeries(rates,true) запрещено.

  • История: Получение исторической информации (баров) — только с использованием структуры MqlRates .

  • Единицы измерения: Все дистанции и отступы измеряются в SYMBOL_TRADE_TICK_SIZE .

  • Оптимизация производительности:

    • Использовать умножение вместо деления везде, где это возможно.

    • Использовать сложные условия вместо множественных вложенных if .

    • Избегать вложенных циклов везде, где это возможно.

  • Логирование: Все важные события, торговые операции и ошибки должны выводиться в журнал с помощью функции Print() . Сообщения должны быть информативными и на английском языке. Запрещено использовать функции Alert() , MessageBox() или любые другие, прерывающие работу или требующие взаимодействия с пользователем.

  • Стиль кода: Названия функций с маленькой буквы camelCase, названия переменных snake_case. SCREAMING_SNAKE_CASE для констант.

  • Описание кода: Каждая функция должна иметь краткое описание, которое должно содержать об щее описание, описание аргументов и возвращаемого значения.

  • Библиотеки: Если в предоставленной базе кода (codebase) есть аналог стандартной функции MQL, необходимо использовать версию из базы кода.

  • Кроссплатформенность: Советник должен компилироваться без ошибок и предупреждений как в MT4, так и в MT5.


Откликнулись

1
Разработчик 1
Оценка
(394)
Проекты
553
41%
Арбитраж
30
57% / 3%
Просрочено
57
10%
Работает
Опубликовал: 11 примеров
2
Разработчик 2
Оценка
(9)
Проекты
22
9%
Арбитраж
3
0% / 67%
Просрочено
3
14%
Работает
3
Разработчик 3
Оценка
(93)
Проекты
111
17%
Арбитраж
6
33% / 17%
Просрочено
5
5%
Свободен
Опубликовал: 1 пример
4
Разработчик 4
Оценка
(268)
Проекты
601
34%
Арбитраж
64
20% / 58%
Просрочено
147
24%
Работает
Опубликовал: 1 статью, 22 примера

Информация о проекте

Бюджет
250+ USD
Сроки выполнения
до 14 дн.