MAG

MQL4 Experten

Auftrag beendet

Ausführungszeit 3 Tage

Spezifikation

Требуется написать советник.

Приоритет выбора исполнителя: казачество, отзывы, минимальное время и разумный ценник, т.к. я не знаю сколько стоит данная работа, буду выбирать из первой и адекватности цены и профессионализма человека.

Я не совсем четко разбираюсь в программировании MQL, но принцип я понимаю, знал бы Си и знал все тонкости MQL сам написал за вечер, но есть другие грабли и тонкости о которых я могу не знать (например использование while (IsTradeContextBusy()) Sleep(10)).  Соответвенно, мне нужен некий конструктор или шаблон который я буду собирать и модифицировать в том или ином варианте.

В текущем варианте Сов. должен корректно оттестирован и  работать под Demo ECN.Alpari 

Тот кто будет это писать, должен иметь возможность возможно за дополнительную плату, помогать модифицировать его или давать некие советы/подсказки.

Соответвено я рассчитываю на адекватного человека и разумного профессионала который может увидит или захочет добавить что-то свое, типа  while (IsTradeContextBusy()) Sleep(10) о чем я не могу знать.


1) Код должен быть понятен и максимально коментируемый. 

2) Советник должен состоять из блоков т.е. подпрограмм, в int start() желательны ссылки на блоки.

3) Думаю основой блока будет некая прослойка на индикаторы, например Moving Average, Stoch и т.д.

a) Блок должен снимать показания с индикатора, и задавать логику работы Верх или низ при достижении заданых значений, например при пересечении 90 движение было вниз, значит Сигнал движение ВНИЗ и соответвенно наоборот, индикатор прошел отметку 15 (или 0.002) и при этом имел движение вверх, значит Сигнал вверх.

b) Иметь выбираем тайм фрейм (я не знаю но думаю это можно) например один блок я сделаю чтобы брал инфу с M1 а другой M5 и буду собтирать логику в зависимости от сигналов.

4) Советник Должен иметь стоп лосс и тейк профит.

5) Магик обязательно.

6) советник должен уметь обрабатывать ошибки (нет маржи, нехватает средств и т.д.).

7) Контроль лота (зависимость лота от депозита)  тут честно я не знаю как он должен, но думаю есть определенные готовые блоки у тех кто этим занимаеться

8) Кол-во ордеров (в паралель могут выставляться несколько ордеров) 

9) время работы сова например с 0-24 часов, 

10) Визуальная Индикация периуде: Название сова (пусть это будет это будет комент), Магик сова, Вывод данных Блок1 значение индикатора, текущее_значение, предыдущее_значение, Вывода данных Блок2, значение, текущее_значение, предыдущее_значение,

11) максимальный лот

12) минимальный лот 

11) Трелинг-стоп на уровне советника

12) слипаж на н-ное кол-во пусктов 


Как я это вижу, Для примера возьму два индикатора:

 --------------------------------------------------------------------------------------------------------------------------

Блок1  "Прослойка" на индикатор, например Stoch:

Входные данные в функцию: Периуд, Рубеж Сигнал вверх, Рубеж Сигнал вниз, Контрль_Тригера (допустим M1,10,90, false)

Исходящие данные: текущие данные индикатора, Тригер_Сигнала, Текущий_Сигнал, Предыдущий_Сигнал (11,true,true,false) где первое текущее значение индикатора, второе Тригер сигнал изменился, далее true-вверх или false-вниз, и предыдущее значение было соответвенно, допустим вниз - значит false

Постоянные данные, Периуды, Медоды MA. Замедление и другие тонкие настройки задаются в блоке изначально и не меняются(в последствии это можно будет задавать в изначальных настройках советника, использовать начальные данные можно по умолчанию из штатного индикатора)

Логика Работа блока :

Смотрим, направление движения, например любой из двух линий (в даном случае две линии считаються как одна), при пересечении Рубежей, ставим переключатель событие произошло (Сигнал_Изменился) true, соответственно запоминаем последнее значение и устанавливаем новое.

Допускается срабатывание тригера два раза, например линия пересекла 10 два раза,  соответственно логика работы блока не изменяется, Но сделать эту функцию отключаемой (true-false), например запретить изменение тригера, прока не произошло условие 10-90 т.е. проход рубежей, соответственно история предыдущего сигнала тоже не меняется.

И возвращаем нужные данные. 

 --------------------------------------------------------------------------------------------------------------------------

Блок2  "Прослойка" на индикатор, Moving Average: 

Тут все проще, т.к. этот индикатор или вверх или вниз, соответвенно

Входные данные в функцию: Периуд, Рубеж Сигнал вверх, Рубеж Сигнал вниз, Контрль_Тригера (допустим M5,0,0,false)

Исходящие данные: текущие данные индикатора, Тригер_Сигнала, Текущий_Сигнал, Предыдущий_Сигнал (1.234,true,true,false) 

Логика работы не отличается от предыдущего блока, но т.к. тут нет граничащих рубежей соответвенно данные будут идти постояным потоком.

То надо понять куда идет текущее движение вверх или низ и сохранять предыдущее значение, например данные могут быть, верх, верх, nil, низ...(по идее nil - это равновесие) соответвено если использование в этом варианте значений false и true затруднительно, тогда на Исходящих данных можно просто использовать  1 - вверх, -1 - вниз, 0 - равновесие

 Не претендую на правильности или оригинальность, но вижу далее примерно так

 --------------------------------------------------------------------------------------------------------------------------

 Основной блок   int start() :

Блок4 - просмотр ордеров и контроля ордеров на Bay/sell

Блок5 - Контроль магика 

.... БлокN 

Если Тригер_Сигнала_Блок1 true {

Соответвено незнаю как... но надо проверять предыдущий ордер, открытым предыдущим сигналом если он был открыт предыдущим сигналом а теперь сигнал изменился на противоположный, то ордер закрывается В не зависимости от стоп лоса или тейк профита.

если Текущий_Сигнал true, значение  и тригер_Блок2 true {  Вызываем процедуру (Блок3.1) открываем ордер на Sell}

если Текущий_Сигнал false, значение  и тригер_Блок2 false { соотвевенно наоброт вызываем (Блок3.2) Ордер Bay}

 -------------------------------------------------------------------------------------------------------------------------- 

 Блок3.1 - Блок3.2

При открытии ордера советник должен запоминать от какого сигнала он был открыт (вверх/низ) 

--------------------------------------------------------------------------------------------------------------------------  


Входящие и настраяиваемые данные в Сов

1) Магик

2) Комент сделки

3) Стоп лосс

4) Тек профит

5)  магик

6)  минимальный лот

7) максимальный лот 

8)  кол-во ордеров

9) время работы

10) кол-во пипсов через который советника будет использовать трелинг стоп (чтобы минимизировать кол-во изменений ордеров в определенный промежуток вермени, може кто-0то придложет более оригинальный вариант)

11) Тайм фрейм в Блоке1 для индикатора

11) Рубеж Сигнал вверх в Блоке1

12) Рубеж Сигнал вниз в Блоке1

13) надо ли использовать  контроль рубежа в блоке1 

14) Слипаж 

Вроде ничего не забыл...

 

Заранее благодарен, за скорость и профессионализм исполнения данного заказа.

 ______________

С уажением. 

 


 Господа прочтите ещё раз, я там добавил ещё один нюанс работы.

 

Bewerbungen

1
Entwickler 1
Bewertung
(473)
Projekte
1139
44%
Schlichtung
51
31% / 33%
Frist nicht eingehalten
501
44%
Frei
2
Entwickler 2
Bewertung
(503)
Projekte
970
74%
Schlichtung
27
19% / 67%
Frist nicht eingehalten
100
10%
Arbeitet
Veröffentlicht: 1 Artikel, 6 Beispiele
3
Entwickler 3
Bewertung
(574)
Projekte
945
47%
Schlichtung
309
58% / 27%
Frist nicht eingehalten
125
13%
Frei
4
Entwickler 4
Bewertung
(111)
Projekte
327
55%
Schlichtung
17
12% / 47%
Frist nicht eingehalten
104
32%
Frei
5
Entwickler 5
Bewertung
(23)
Projekte
31
71%
Schlichtung
0
Frist nicht eingehalten
1
3%
Frei
Veröffentlicht: 188 Beispiele
6
Entwickler 6
Bewertung
(618)
Projekte
1428
59%
Schlichtung
31
81% / 0%
Frist nicht eingehalten
10
1%
Frei
7
Entwickler 7
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
8
Entwickler 8
Bewertung
(169)
Projekte
460
41%
Schlichtung
39
18% / 31%
Frist nicht eingehalten
193
42%
Frei
Veröffentlicht: 2 Beispiele
Ähnliche Aufträge
Сама стратегия будет предоставлена разработчику после того как будут согласованы все пункты описаные ниже. Качество кода: Работа должна содержать чистый код с комментариями на английском языке. Организация структур: Все структуры должны содержать только простые типы данных. Для оптимального выравнивания памяти данные внутри структур должны быть организованы от самого большого типа к самому малому . Допускается
Имеется защищенный от копирования счет на МТ5, обычные копировщики не копируют его. Сделки только по eurusd.f c суффиксом .f Сделок не много, только сделка 1 в день. Доступ и пароль инвестора к счету предоставлю. Необходимо решение для копирования с этого счета, предполагаю, что система должна увидеть сделку визуально, например через BAS и дальше передать данные для открытия сделки в МТ5. Другие рабочие решения от
1. Загальна логіка Треба створити ЕА для MetaTrader 5 на основі індикатора Zig Zag (параметри індикатора стандартні: Depth, Deviation, Backstep) та рівнів Фібоначчі. Детально логіка входу описана в додатку до ТЗ. 2. Відкриття сету ордерів ЕА відкриває сет відкладених ордерів (кількість ордерів від 1 до 5) Для кожного ордеру задається - рівень входу (значення рівня Фібоначчі) - рівень SL

Projektdetails

Budget
30+ USD
Ausführungsfristen
von 1 Tag(e)