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

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
Оценка
(393)
Проекты
548
40%
Арбитраж
30
57% / 3%
Просрочено
57
10%
Работает
Опубликовал: 11 примеров
2
Разработчик 2
Оценка
(9)
Проекты
22
9%
Арбитраж
3
0% / 67%
Просрочено
3
14%
Работает
3
Разработчик 3
Оценка
(92)
Проекты
110
17%
Арбитраж
6
33% / 17%
Просрочено
5
5%
Свободен
Опубликовал: 1 пример
4
Разработчик 4
Оценка
(265)
Проекты
597
35%
Арбитраж
64
20% / 58%
Просрочено
147
25%
Свободен
Опубликовал: 1 статью, 22 примера
Похожие заказы
Суть ТС:Приход в POI старшего тф, вход в позицию на младшем тф Анализ графика начинается всегда со старшего тф. Должен быть понятный контекст для работы. Активы: EURUSD, XAUUSD POI старшего таймфрейма: Liquidity (1M, 1W, 1D, 4H, 1H) Imbalance (1M, 1W, 1D, 4H, 1H) Order Block (1M, 1W, 1D, 4H, 1H) HTF Fractals (1M, 1W, 1D, 4H, 1H) Всегда дожидаться цену в POI старшего таймфрейма. Вход в позицию: Слом LTF структуры на
к примеру 10 стратегий выстреливают одновременно в одну и ту же милисекунду при открытие бара надо их сделать последовательными один за другим, с проверкой, что предыдущий ордер был открыт и модифицирован SL TP оредра могут быть отложенные и маркет пока один ордер исполняется другие ждут в очереди так как используется ММ настоящий баланс double Total_Current_Risk() { double res = 0; for (int i = 0; i <

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

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