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

MQL4 전문가

작업 종료됨

실행 시간 4 일
피고용인의 피드백
ТЗ составлено грамотно, было приятно работать над нетривиальной для советника задачей. Удачи в торговле!
고객의 피드백
Мои пожелания в части реализации технических характеристик скрипта удовлетворены в полном объёме. Попутно разработчик решил и пару вопросов, не относящихся к mql. Доволен.

명시

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

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

Есть одно принципиальное "но": никогда не пытался вникать в язык 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, и т.д.) могут одновременно и независимо работать несколько экземпляров советника.  

응답함

1
개발자 1
등급
(627)
프로젝트
989
47%
중재
33
36% / 36%
기한 초과
98
10%
작업중
게재됨: 6 코드
2
개발자 2
등급
(885)
프로젝트
1410
67%
중재
123
32% / 41%
기한 초과
218
15%
무료
게재됨: 1 코드
3
개발자 3
등급
(1)
프로젝트
16
81%
중재
1
100% / 0%
기한 초과
2
13%
무료
게재됨: 1 기고글
4
개발자 4
등급
(2)
프로젝트
5
60%
중재
1
0% / 100%
기한 초과
2
40%
무료
5
개발자 5
등급
(250)
프로젝트
460
26%
중재
140
20% / 59%
기한 초과
100
22%
작업중
6
개발자 6
등급
(40)
프로젝트
106
52%
중재
17
12% / 65%
기한 초과
25
24%
무료
7
개발자 7
등급
(80)
프로젝트
117
67%
중재
16
25% / 13%
기한 초과
12
10%
무료
게재됨: 2 코드
8
개발자 8
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
9
개발자 9
등급
(45)
프로젝트
76
20%
중재
7
0% / 86%
기한 초과
14
18%
무료
10
개발자 10
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
11
개발자 11
등급
(57)
프로젝트
150
47%
중재
9
11% / 78%
기한 초과
17
11%
무료
게재됨: 2 코드
12
개발자 12
등급
프로젝트
1
0%
중재
0
기한 초과
0
무료
13
개발자 13
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
비슷한 주문
Нужно разработать торгового советника для 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 <

프로젝트 정보

예산
20 - 60 USD
기한
에서 1  5 일