Создание универсального торгового робота

MQL4 Experten

Auftrag beendet

Ausführungszeit 4 Tage
Bewertung des Entwicklers
ТЗ составлено грамотно, было приятно работать над нетривиальной для советника задачей. Удачи в торговле!
Bewertung des Kunden
Мои пожелания в части реализации технических характеристик скрипта удовлетворены в полном объёме. Попутно разработчик решил и пару вопросов, не относящихся к mql. Доволен.

Spezifikation

Здравствуйте, коллеги. 

Есть желание осуществить тестирование ряда стратегий в реальных условиях в режиме автоматической торговли.

Есть одно принципиальное "но": никогда не пытался вникать в язык mql, и принципиально не хочу, - предпочитаю сосредотачиваться на разработке алгоритмов.  

Для того, чтобы не бегать при любом изменении алгоритма за кодерами mql нуждаюсь в универсальном советнике, в котором исполнительная и алгоритмическая части разнесены.

Примечание: не нужно советовать реализацию через dll, и различные другие подходы - я осознаю их возможности, но хочу иметь именно то, что опишу ниже. 

 

Состав и принцип работы необходимого мне робота:

1. Робот содержит две совершенно независимые части: советник на mql, являющийся исполнительской частью, и "алгоритмическое ядро", в виде файла .exe; 

2. Исполнительская часть и алгоритмическое ядро обмениваются данными через обычный текстовый файл; 

3. При необходимости изменить торговую стратегию, я тупо заменяю файл .exe (которые создаю самостоятельно), и всё. 


От разработчика требуется создать только "исполнительскую" часть, которая должна быть устроена следующим образом: 

 

1. Должна быть способной "навеситься" на график любой валютной пары, на любой таймфрейм графика цены.

Примечание 1.1: предполагаю использование в основном на графике М5. 

 

2. Рабочая директория советника должна указываться в его коде. 

Примечание 2.1: из возможных для осуществления файловых операций средствами mql.  

 

3. После указания директории, советник должен создать в ней текстовый файл историю за последние 288 баров.

Примечание 3.1: 288 баров М5 - это сутки, особого смысла тут нет, просто единожды описанная в самом коде советника переменная, которая должна быть известно где, чтобы её можно было менять;

Примечание 3.2: текстовый файл истории должен иметь понятное название, например "EURUSD5.txt";

Примечание 3.3: текстовый файл должен быть устроен аналогично файлам, которые создаёт сам метатрейдер при экспорте котировок в файл, следующим образом:

содержать два столбца: время закрытия бара (выбранного ранее таймфрейма), и значение, то есть выглядеть как обычный файл, экспортированный из мт,

только из всех столбцов <DTYYYYMMDD>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL> реально нужны только <DTYYYYMMDD>,<TIME>,<CLOSE>. 

 

4. После создания начального файла котировок советник должен запустить алгоритмическое ядро - исполняемый файл, который так пусть и будет называться kernel.exe;

Примечание 4.1: файл kernel.exe располагается в той же самой, ранее выбранной для работы, директории, для запуска в мт будет разрешено использование библиотеки Kernel32.dll. 

 

5. Далее - магия. Файл .exe сообразно своему устройству обращается к файлу котировок, считывает их, проводит анализ, и выдаёт результат анализа в файл trade.txt (расположенный там же);

Примечание 5.1: Файл trade.txt будет устроен так: одна строка, в которой через запятую, пробел, или как надо будут значения <DTYYYYMMDD>,<TIME>,<Result>,<Volume>  

где  <DTYYYYMMDD>,<TIME> взяты из файла котировок, и соответствуют последнему записанному там значению (последнему сформировавшемуся бару), Result - либо -1, либо 0, либо 1,

а Volume - объём в лотах.

Примечание 5.1: возможно, тут возникнет проблема при использовании на долларовом или центовом счёте? Если нет, замечательно. По умолчанию предполагаем, что счёт не центовый,

(а точнее даже рублёвый), и под лотом понимается стандартный лот в 100 тысяч единиц базовой валюты;

 

6. Советник должен подождать небольшое время, чтобы не мешать работе с файлом алгоритмического ядра. Например, 10 секунд, чтобы уж заведомо с запасом.

Примечание 6.1: переменная, задающая эту задержку должна быть показана, где она написана и как называется, чтобы можно было её менять при необходимости.

 

7. Подождав согласно п.6, советник должен обратиться к файлу trade.txt и прочитать его. Если указанные в нём значения <DTYYYYMMDD>,<TIME> актуальны (соответствуют последнему

сформировавшемуся бару, и новее бара нет), то смотрится значение Result: если оно 0 - ничего не делать, если -1 или 1 - продать или купить соответственно, лотом,

указанным в следующем элементе строки (Volume);

 

8. При формировании очередного бара советник должен дописать строчку в файл котировок;

Примечание 8.1. Советник должен отслеживать количество строк в файле котировок. При достижении величины в 2-3 раза больше начального количества строк,

файл должен не дополняться, а переписываться заново, как на шаге п. 3;

 

9. Далее всё то же: запускает алгоритмическое ядро, и прочее по п.п. 4 - 8;

Примечание 9.1: код советника должен быть открытым - я должен понимать (кодер должен мне пояснить) что там написано, чтобы при необходимости поменять его немного.

 

10. Советник должен отслеживать количество сделок по "своему" инструменту. При достижении задаваемого в коде советника количества (например, 10),

он должен автоматически закрывать ордера;

Примечание 10.1: Поскольку будут возможны и наверное нередки ситуации, когда будут открыты ордера в разных направлениях, закрытие должно происходить как закрытие

перекрытых ордеров (то есть спред в конечном итоге с одной из сделок не берется, а возвращается на счёт).


11. При отсутствии в файле команд указаний что делать, то есть в ситуации, когда очередной бар сформировался, советник залез в файл trade.txt, а там строка 

соответствует устаревшему значению <DTYYYYMMDD>,<TIME>, от прошлого, или более старого бара - советник должен закрыть все сделки по своей паре. 

 

P.S. Возможны незначительные уточнения технического задания в процессе обсуждения.  

P.P.S. Предполагается, что при указании различных директорий (например, папок EURUSD, GBPUSD, и т.д.) могут одновременно и независимо работать несколько экземпляров советника.  

Bewerbungen

1
Entwickler 1
Bewertung
(627)
Projekte
989
47%
Schlichtung
33
36% / 36%
Frist nicht eingehalten
98
10%
Arbeitet
Veröffentlicht: 6 Beispiele
2
Entwickler 2
Bewertung
(885)
Projekte
1410
67%
Schlichtung
123
32% / 41%
Frist nicht eingehalten
218
15%
Frei
Veröffentlicht: 1 Beispiel
3
Entwickler 3
Bewertung
(1)
Projekte
16
81%
Schlichtung
1
100% / 0%
Frist nicht eingehalten
2
13%
Frei
Veröffentlicht: 1 Artikel
4
Entwickler 4
Bewertung
(2)
Projekte
5
60%
Schlichtung
1
0% / 100%
Frist nicht eingehalten
2
40%
Frei
5
Entwickler 5
Bewertung
(250)
Projekte
460
26%
Schlichtung
140
20% / 59%
Frist nicht eingehalten
100
22%
Arbeitet
6
Entwickler 6
Bewertung
(40)
Projekte
106
52%
Schlichtung
17
12% / 65%
Frist nicht eingehalten
25
24%
Frei
7
Entwickler 7
Bewertung
(80)
Projekte
117
67%
Schlichtung
16
25% / 13%
Frist nicht eingehalten
12
10%
Frei
Veröffentlicht: 2 Beispiele
8
Entwickler 8
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
9
Entwickler 9
Bewertung
(45)
Projekte
76
20%
Schlichtung
7
0% / 86%
Frist nicht eingehalten
14
18%
Frei
10
Entwickler 10
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
11
Entwickler 11
Bewertung
(57)
Projekte
150
47%
Schlichtung
9
11% / 78%
Frist nicht eingehalten
17
11%
Frei
Veröffentlicht: 2 Beispiele
12
Entwickler 12
Bewertung
Projekte
1
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
13
Entwickler 13
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
Ähnliche Aufträge
Нужно разработать торгового советника для MetaTrader 5. Логика стратегии: работа на M1 (таймфрейм изменяемый) уровни Fibonacci задаются вручную (0 и 100) вход осуществляется в зоне 0–38.2 Fibonacci используется RSI BUY — RSI ≤ 30 SELL — RSI ≥ 70 дополнительный сигнал — пересечение RSI и его скользящей средней Функции управления позицией: Stop Loss за сигнальной свечой Break Even два типа Trailing Stop (обычный и
1. Создать советник на основе индикаторов Супертренд и МА В фильтрах входа в сделки: 1. Количество входов на одной сигнальной линии 2. Ограничение при достижении среднего АТР за неделю 3. Время торговли Советник немного сложнее чем кажется по описанию
Основная идея советника заключается в использовании коррелирующих валютных пар для выравнивания отрицательного баланса. Изначально запускаются 4 пары, разделенные на 2 блока. В каждом блоке 2 пары, каждая из которых открыты разнонаправленно buy\sell с установленными заранее уровнями TP. Например: в одном блоке 2 пары EUR\USD buy и sell, во втором блоке 2 пары USD\CHF buy и sell. TP устанавливается в каждом блоке
Я ищу бизнес-партнёра с опытом в трейдинге и программировании, который сможет реализовать распознавание паттернов и на его основе создать прибыльного торгового робота (EA). Это профессиональная модель: автор заработал на ней миллионы, имеет подтверждённую историю результатов и хорошо известен в торговле фьючерсами
1. Общая концепция Советник предназначен для автоматического обнаружения ценовых волн, их визуализации с помощью инструмента «Сетка Фибоначчи» и циклической торговли на откатах. Основная особенность — мультиволновой режим: советник должен одновременно отслеживать и отрисовывать все движения, подходящие под фильтр размера. 2. Логика поиска и визуализации волн Динамическое натяжение: Советник сканирует рынок на глубину
Требуется создать советник на основе разворотных паттернов, используя дополнительные индикаторы такие как скользящее среднее, отклонение от скользящей средней, угол наклона скользящей средней. Возможно будет добавлено что то еще по ходу работы
к примеру 10 стратегий выстреливают одновременно в одну и ту же милисекунду при открытие бара надо их сделать последовательными один за другим, с проверкой, что предыдущий ордер был открыт и модифицирован SL TP оредра могут быть отложенные и маркет пока один ордер исполняется другие ждут в очереди так как используется ММ настоящий баланс double Total_Current_Risk() { double res = 0; for (int i = 0; i <

Projektdetails

Budget
20 - 60 USD
Ausführungsfristen
von 1 bis 5 Tag(e)