Нужен советник по моей стратегии

MQL5 Эксперты

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

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

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

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

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

  • Входные параметры: Все 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
Оценка
(392)
Проекты
544
40%
Арбитраж
30
57% / 3%
Просрочено
57
10%
Работает
Опубликовал: 11 примеров
2
Разработчик 2
Оценка
(91)
Проекты
109
17%
Арбитраж
6
33% / 17%
Просрочено
5
5%
Свободен
Опубликовал: 1 пример
3
Разработчик 3
Оценка
(172)
Проекты
185
32%
Арбитраж
5
60% / 20%
Просрочено
3
2%
Свободен
Опубликовал: 3 примера
4
Разработчик 4
Оценка
(28)
Проекты
45
49%
Арбитраж
2
50% / 50%
Просрочено
0
Свободен
5
Разработчик 5
Оценка
(9)
Проекты
21
10%
Арбитраж
2
0% / 50%
Просрочено
2
10%
Работает
6
Разработчик 6
Оценка
(176)
Проекты
227
19%
Арбитраж
21
38% / 24%
Просрочено
0
Работает
7
Разработчик 7
Оценка
(540)
Проекты
622
33%
Арбитраж
37
38% / 51%
Просрочено
11
2%
Занят
8
Разработчик 8
Оценка
Проекты
0
0%
Арбитраж
0
Просрочено
0
Свободен
9
Разработчик 9
Оценка
(265)
Проекты
596
35%
Арбитраж
64
20% / 58%
Просрочено
147
25%
Работает
Опубликовал: 1 статью, 22 примера
10
Разработчик 10
Оценка
(9)
Проекты
13
38%
Арбитраж
0
Просрочено
3
23%
Работает
11
Разработчик 11
Оценка
(845)
Проекты
1446
72%
Арбитраж
119
29% / 47%
Просрочено
355
25%
Работает
Опубликовал: 3 статьи
12
Разработчик 12
Оценка
(38)
Проекты
51
20%
Арбитраж
15
27% / 67%
Просрочено
7
14%
Свободен
Опубликовал: 1 пример
13
Разработчик 13
Оценка
(110)
Проекты
128
55%
Арбитраж
1
0% / 0%
Просрочено
0
Свободен
14
Разработчик 14
Оценка
(13)
Проекты
31
23%
Арбитраж
7
29% / 57%
Просрочено
5
16%
Свободен
15
Разработчик 15
Оценка
Проекты
0
0%
Арбитраж
0
Просрочено
0
Свободен
Опубликовал: 6 примеров
16
Разработчик 16
Оценка
(333)
Проекты
400
53%
Арбитраж
20
55% / 15%
Просрочено
29
7%
Занят

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

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

Заказчик

(67)
Размещено заказов74
Количество арбитражей0