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

MQL5 Experts

Specification

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

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

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

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

  • Входные параметры: Все 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.



Responded

1
Developer 1
Rating
(395)
Projects
556
41%
Arbitration
30
57% / 3%
Overdue
57
10%
Free
Published: 11 codes
2
Developer 2
Rating
(96)
Projects
114
17%
Arbitration
6
33% / 17%
Overdue
5
4%
Free
Published: 1 code
3
Developer 3
Rating
(175)
Projects
189
33%
Arbitration
5
60% / 20%
Overdue
3
2%
Free
Published: 3 codes
4
Developer 4
Rating
(28)
Projects
46
48%
Arbitration
2
50% / 50%
Overdue
0
Free
5
Developer 5
Rating
(9)
Projects
22
9%
Arbitration
3
0% / 67%
Overdue
3
14%
Working
6
Developer 6
Rating
(216)
Projects
283
20%
Arbitration
28
57% / 14%
Overdue
0
Working
7
Developer 7
Rating
(639)
Projects
747
34%
Arbitration
49
53% / 39%
Overdue
14
2%
Working
8
Developer 8
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
9
Developer 9
Rating
(268)
Projects
603
34%
Arbitration
65
22% / 57%
Overdue
146
24%
Working
Published: 1 article, 22 codes
10
Developer 10
Rating
(10)
Projects
14
43%
Arbitration
0
Overdue
3
21%
Free
11
Developer 11
Rating
(853)
Projects
1471
72%
Arbitration
122
29% / 48%
Overdue
361
25%
Free
Published: 3 articles
12
Developer 12
Rating
(39)
Projects
52
19%
Arbitration
15
27% / 67%
Overdue
8
15%
Free
Published: 1 code
13
Developer 13
Rating
(116)
Projects
137
58%
Arbitration
1
0% / 0%
Overdue
0
Free
14
Developer 14
Rating
(13)
Projects
31
23%
Arbitration
8
25% / 63%
Overdue
5
16%
Free
15
Developer 15
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
Published: 6 codes
16
Developer 16
Rating
(370)
Projects
461
56%
Arbitration
24
58% / 17%
Overdue
32
7%
Working
17
Developer 17
Rating
(1)
Projects
1
0%
Arbitration
1
0% / 100%
Overdue
0
Free
18
Developer 18
Rating
Projects
1
0%
Arbitration
0
Overdue
1
100%
Free
19
Developer 19
Rating
(16)
Projects
21
29%
Arbitration
2
50% / 0%
Overdue
4
19%
Free
20
Developer 20
Rating
(5)
Projects
7
0%
Arbitration
8
13% / 75%
Overdue
3
43%
Free
21
Developer 21
Rating
(3)
Projects
4
0%
Arbitration
0
Overdue
0
Free
22
Developer 22
Rating
(298)
Projects
478
40%
Arbitration
105
40% / 24%
Overdue
82
17%
Loaded
Published: 2 codes
23
Developer 23
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
24
Developer 24
Rating
(49)
Projects
134
27%
Arbitration
62
13% / 53%
Overdue
58
43%
Free
Published: 357 articles, 1 code
25
Developer 25
Rating
(19)
Projects
21
19%
Arbitration
1
0% / 100%
Overdue
2
10%
Free
26
Developer 26
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free

Project information

Budget
30 - 250 USD
Deadline
to 14 day(s)