Нужно написать робота (вспомогательного) для изменения цены открытия отложенных ордеров

MQL4 Experts

Job finished

Execution time 25 days
Feedback from customer
Всё сделано хорошо. Трудности преодолены энергично и творчески. Работа оставила приятное впечатление.
Feedback from employee
Конструктивный заказчик, четко понимает свои задачи, умеет их сформулировать и тщательно проверить. Спасибо за совместную работу.

Specification

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

Нужно написать робота (вспомогательного) для изменения цены открытия отложенных ордеров при изменении суммарного объёма открытых ордеров на счёте.

Суть:

1)      То, что происходит на счёте без участия робота (с помощью двух других программ – мультивалютного советника, открывающего ордера BUY или SELL и программы, выставляющей отложенные локирующие ордера SELL STOP и BUY STOP). Примеры:

открывается основной ордер BUY объёмом 1 лот по цене 1000 пунктов. К нему тут же встаёт локирующий отложенный ордер SELL STOP объёмом 0,5 лот по цене 800 пунктов, то есть на расстоянии 200 пунктов от цены открытия основного. Открывается второй основной ордер BUY объёмом 2 лот по цене 950 пунктов, к нему встаёт локирующий отложенный ордер SELL STOP объёмом 1 лот по цене 850 пунктов, то есть на расстоянии 100 пунктов от цены открытия основного. В момент открытия второго основного ордера суммарный объём открытых основных ордеров на счёте возрастает в 3 раза, с 1 лот до 3 лот.

2)      Задача робота:

Уменьшить/увеличить расстояние между ценами открытия ордеров внутри каждой пары (основной/локирующий ордер) настолько, насколько увеличился/уменьшился суммарный объём открытых основных ордеров. Объём увеличился в 3 раза, значит каждое расстояние надо уменьшить втрое. Для первой пары расстояние между ценой открытия основного и локирующего ордера 200 пунктов. 200 / 3 = 66. От цены открытия основного ордера откладывается 66, получается новая цена локирующего ордера 1000-66=933 пункта (вместо 800). Для второй пары расстояние между основным и локирующим ордером 100 пунктов. 100/3=33. От цены открытия основного ордера отнимается 33 пункта, получается новая цена открытия локирующего ордера 950-33=917 пунктов (вместо 850).

Я представляю себе программу со следующими настраиваемыми параметрами:

MagicOrdersBasis Monitoring  – магики основных ордеров, суммарную лотность которых программа будет учитывать. Все, исключая перечисленные - например №222,№333 (магики, присвоенные ранее  локирующим ордерам или ордерам другой программы). Это магики, за которыми робот только следит, сам он магики не присваивает.

MagicOrdersLock Monitoring  - магики отложенных локирующих ордеров, среди которых программа будет искать локирующую пару для основного ордера (например 444,555). Магики, за которыми робот следит, сам робот магики не присваивает.

Ratio Lock/Basis  - в приведённом выше примере это соотношение составляет 0,5 (объём локирующего ордера составляет 0,5 от объёма основного). Он изменяется (в локирующей программе) и является единым для всех пар Lock/Basis. Нужен для того, чтобы робот нашёл парный локирующий ордер к основному, чтобы потом посчитать расстояние между ними.

MinStop минимальное расстояние между текущей ценой и ценой открытия локирующего ордера. Если MinStop установлен 30 пунктов, а робот посчитает, что отложенный ордер должен встать на расстоянии 15 пунктов от текущей цены, то расстояние должно установиться равным MinStop, то есть 30 пунктов. (Чтобы лок не попытался встать ближе, чем минимальное расстояние для стопов на сервере).

Digits  - 1 или 2 (один или два знака после запятой). На одних счетах возможен объём до 0,1 лот, на других 0,01 лот. MetaTrader округлит значение локирующего ордера до этих цифр, и его надо учитывать при поиске отложенного локирующего ордера.

Последовательность действий робота может выглядеть следующим образом:

1)      Открывается (или закрывается) основной ордер.

2)      Робот суммирует его объём с объёмом других основных ордеров (или отнимает от суммарного объёма при закрытии ордера).

3)      Робот вычисляет, во сколько раз увеличился или уменьшился суммарный объём основных ордеров, определяя последующий коэффициент уменьшения/увеличения расстояния между ценами открытия ордеров в паре Lock/Basis (в привёдённом выше примере увеличение суммарного объёма составило 3 раза, значит расстояние уменьшится тоже в 3).

4)      Робот находит «локирующую пару» к открывшемуся основному ордеру, умножая размер основного на Ratio Lock/Basis и учитывая, что лок является противоположным по направлению, он на той же валютной паре, и его магик содержится в MagicOrdersLock Monitoring. Для основного ордера BUY локирующий ордер будет SELL STOP. При основном ордере BUY объёмом 2 лот «локирующей парой» при соотношении 0,5 будет отложенный локирующий ордер SELL STOP объёмом 1 лот с магиком, включённым в MagicOrdersLock Monitoring. При этом нужно учесть, что MetaTrader округляет все цифры до двух или одного знака после запятой. То есть размер локирующего ордера при дробных значениях основного не всегда будет точно вписываться в соотношение 0,5. Например, если объём основного 1,73 лот, тогда при соотношении Lock/Basis 0,5 объём основного получится 0,865. При допустимом минимальном объёме 0,01 MetaTrader округлит его либо до 0,86 либо до 0,87 и надо будет искать ордер либо 0,86, либо 0,87. При допустимом минимальном объёме 0,1 значение огруглится либо до 0,8 либо до 0,9, и надо будет искать лок величиной либо 0,8 либо 0,9.

5)      Робот определяет расстояние между ценой открытия основного ордера и ценой открытия локирующего ордера (если цена открытия основного ордера BUY 950 пунктов, а цена открытия отложенного локирующего SELL STOP 850 пунктов, то расстояние между ними 950-850=100 пунктов). Если основной ордер SELL 950 пунктов, а отложенный ордер BUY STOP 1050 пунктов, то расстояние между ними 1050-950=100 (тоже 100 пунктов).

6)      Робот делит расстояние в каждой паре Lock/Basis на коэффициент уменьшения/увеличения, полученный ранее (в примере был равен 3). Для первой пары в примере, где «Lock 0,5 лот, 800 пунктов / Basis 1 лот, 1000 пунктов» расстояние между ордерами было 200 пунктов, значит 200/3=66 пунктов – это будет новое расстояние между ордерами для этой пары. Для второй пары в примере, где « Lock 1 лот, 850 пунктов / Basis 2 лот, 950 пунктов» расстояние было 100 пунктов, значит 100/3=33 пункта – новое расстояние между ордерами для пары.

7)      Робот изменяет цену открытия каждого локирующего ордера. Для первой пары, где цена открытия основного ордера была 1000 пунктов, будет 1000-66=933 пункта – новая цена открытия локирующего отложенного ордера в этой паре (вместо 800). Для второй пары, где цена открытия основного ордера была 950 пунктов, будет 950-33=917 пунктов – новая цена открытия локирующего отложенного ордера в этой паре (вместо 850).

При этом надо учитывать, что для пары, где основной ордер BUY, его цена открытия (во второй паре в примере это 950) будет выше, чем цена открытия парного отложенного локирующего SELL STOP (во второй паре это 850), то есть для этой пары полученные 33 пункта надо отнимать от цены основного, чтобы получить цену локирующего 950-33=917. Если положение обратное, то есть основной ордер SELL с ценой открытия 950, то его цена будет наоборот ниже, чем цена его локирующего парного ордера BUY STOP с ценой 1050. И полученные 33 пункта надо прибавлять к цене открытия основного ордера 950+33=988 пунктов – новая цена открытия отложенного локирующего ордера в этой паре.  

Предполагаемое максимальное число основных ордеров – до 20-ти. Отложенных -до 200.


Responded

1
Developer 1
Rating
(254)
Projects
573
36%
Arbitration
64
20% / 58%
Overdue
147
26%
Free
2
Developer 2
Rating
(16)
Projects
18
6%
Arbitration
1
0% / 100%
Overdue
2
11%
Free
3
Developer 3
Rating
(130)
Projects
186
54%
Arbitration
3
33% / 33%
Overdue
6
3%
Free
4
Developer 4
Rating
(6)
Projects
8
13%
Arbitration
1
0% / 100%
Overdue
0
Free
5
Developer 5
Rating
(21)
Projects
34
56%
Arbitration
0
Overdue
0
Free
6
Developer 6
Rating
(554)
Projects
1340
59%
Arbitration
28
82% / 0%
Overdue
10
1%
Free
7
Developer 7
Rating
(163)
Projects
193
61%
Arbitration
7
14% / 29%
Overdue
2
1%
Free
8
Developer 8
Rating
(280)
Projects
650
28%
Arbitration
111
19% / 61%
Overdue
319
49%
Free
9
Developer 9
Rating
(40)
Projects
106
52%
Arbitration
17
12% / 65%
Overdue
25
24%
Free
10
Developer 10
Rating
(195)
Projects
395
28%
Arbitration
155
20% / 52%
Overdue
112
28%
Free
11
Developer 11
Rating
(66)
Projects
143
34%
Arbitration
10
10% / 60%
Overdue
26
18%
Free
12
Developer 12
Rating
(260)
Projects
422
38%
Arbitration
86
44% / 19%
Overdue
70
17%
Busy
Similar orders
Джентльмены, приветствую! Нужно написать несложный советник на основе двусторонней сетки ордеров плюс некоторые специальные параметры для работы с этой сеткой для торговли на MT4 и MT5. Детали – при переписке
Сигналы выдаются в таком формате: Sell GOLD 2521.70-2523.50 Tp1: 2518.50 Tp2: 2515 Tp3: 2509 Sl: 2526 1) если цена дойдет до Tp2 стоп должен передвинуться в безубыток. 2) если цена дошла до второго значения 2523.50 должен открылся второй ордер. 3) так же цена может отличаться от выданного сигнала нужно сделать погрешность по которой можно входить в сделку или игнорировать сделку. Загрузил скриншоты в каком
Здравствуйте! Хотел узнать, можно ли здесь заказать создание торгового робота для платформы capital.com на языке PYTHON? Если ДА, то могли бы в личные сообщения написать, что будет стоить такая работа и сроки ее исполнения
Нужно создать эксперта на основе бокового профиля объема для мт5. Подробная тех задания есть. Кратко робот открывает сделки по закрытию свечи относительно зоны стоимости бокового профиля обема.Или придется использовать объем на самом мт5 или копировать данные с quantower. Главное чтобы данные были корректны
MT5/MT4 Forex Advisors 50 - 159 USD
Написать советника по моему ТЗ, все подробную информацию я дам при личном общении. Важно уметь оптимизировать данные , уметь делать торговые панели и некоторые элементы на чарте. Пожалуйста не смотрите что тут краткое описание , я расскажу все при личном общении
Без индикаторный сеточный советник для криптобиржи Bybit аналог Bybit Grid Bot Стратегия торговли точно такая же как и у спотовый бот Bybit выставлять ордера на покупку и продажу в заданном диапазоне цены **Техническое задание:** Создание сеточного советника для криптобиржи Bybit, аналога Bybit Grid Bot. Бот должен автоматически создавать сеточные ордера на основе заданных параметров (цена, количество ордеров, шаг
1. Два индикатора и советника перестали работать в новом билде терминала. 2. Индикаторы и советники в формате ex4. 3. Модифицировать индикаторы и советники под новый билд терминала. 4. При технической возможности обеспечить работу и на будущих билдах мт4
Хочу торговать в тинькофф инвестициях через метатрейдер 5(чтобы робот торговал за меня). Нужна консультация как подключить метатрейдер 5 к тиньк инвестициям. Было бы совсем замечательно если бы вы сделали выгрузку данных с тинькофф счета и сервера и я по ним уже сам мог бы получать данные и писать робота в мт5
Доброго времени суток. Знаю что люди подключают MT5 к API Тинькофф Инвестиции, но у меня не хватает умений чтобы это сделать. Если это возможно хотел бы чтобы в mt5 подключался к тинькофф аккаунту и можно было использовать советников на языке mql5 на сервере тинькофф. Если есть такая возможность, отпишите, по цене договоримся)
Требуется MQL разработчик с большим опытом работы по написанию скриптов советника. Работа по техническому заданию клиента, все доработки по согласованию с клиентом, за отдельную плату. Предварительное, внимательное изучение поставленной задачи. Соблюдение четких сроков исполнения. Соблюдение конфиденциальности и предотвращения разглашения, утечки идеи и алгоритма

Project information

Budget
150+ USD
For the developer
135 USD
Deadline
from 14 to 21 day(s)