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

MQL4 Uzman Danışmanlar

İş tamamlandı

Tamamlanma süresi: 25 gün
Müşteri tarafından geri bildirim
Всё сделано хорошо. Трудности преодолены энергично и творчески. Работа оставила приятное впечатление.
Geliştirici tarafından geri bildirim
Конструктивный заказчик, четко понимает свои задачи, умеет их сформулировать и тщательно проверить. Спасибо за совместную работу.

İş Gereklilikleri

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

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

Суть:

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.


Yanıtlandı

1
Geliştirici 1
Derecelendirme
(254)
Projeler
573
36%
Arabuluculuk
64
20% / 58%
Süresi dolmuş
147
26%
Serbest
2
Geliştirici 2
Derecelendirme
(16)
Projeler
18
6%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
2
11%
Serbest
3
Geliştirici 3
Derecelendirme
(127)
Projeler
183
55%
Arabuluculuk
3
33% / 33%
Süresi dolmuş
6
3%
Serbest
4
Geliştirici 4
Derecelendirme
(6)
Projeler
8
13%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
0
Serbest
5
Geliştirici 5
Derecelendirme
(21)
Projeler
34
56%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
6
Geliştirici 6
Derecelendirme
(549)
Projeler
1332
59%
Arabuluculuk
28
82% / 0%
Süresi dolmuş
10
1%
Serbest
7
Geliştirici 7
Derecelendirme
(163)
Projeler
193
61%
Arabuluculuk
7
14% / 29%
Süresi dolmuş
2
1%
Serbest
8
Geliştirici 8
Derecelendirme
(280)
Projeler
650
28%
Arabuluculuk
111
19% / 61%
Süresi dolmuş
319
49%
Serbest
9
Geliştirici 9
Derecelendirme
(40)
Projeler
106
52%
Arabuluculuk
17
12% / 65%
Süresi dolmuş
25
24%
Serbest
10
Geliştirici 10
Derecelendirme
(195)
Projeler
395
28%
Arabuluculuk
155
20% / 52%
Süresi dolmuş
112
28%
Serbest
11
Geliştirici 11
Derecelendirme
(66)
Projeler
143
34%
Arabuluculuk
10
10% / 60%
Süresi dolmuş
26
18%
Serbest
12
Geliştirici 12
Derecelendirme
(256)
Projeler
415
38%
Arabuluculuk
86
44% / 19%
Süresi dolmuş
70
17%
Meşgul
Benzer siparişler
Нужно добавить защиту в советник для МТ4. 1. проверка счета на котором он торгует в каком либо форекс дилере. Мне будут присылать номер счета я буду его вписывать в код чтоб другой не мог им пользоваться. 2. Защита по работе по времени. Нужно иметь возможность прописать дату в время в коде начала и окончания если за пределы ее вышел он будет писать что больше не торгует. 3. Защита от копирования данного советника
Нужен робот на MQL4, требования ниже. При отклике пожалуйста указывайте цену и срок. RSI RSI - Использовать close, high, low, max (open, close), min(open, close) в расчете с использованием сглаженной линии RSI Переменные: - Overbought Level - 60 по умолчанию, но нужно, чтобы он был регулируемым - Oversold Level - 40 по умолчанию, но нужно, чтобы он был переменной - RSI Smooth Length - количество свечей, по которым
Нужно доработать утилиту добавить новые функции, изменить интерфейс. Нужен человек имеющий опыт по связи терминала с Телеграм, по средствам Телеграм АПИ, нужно добавить 2 новые функции в утилиту. Подробнее в ТЗ, изменения нужно внести для мт4/5 версии
dify indicator MA_Cloud for mt4 and mt5, give source code with comments 1)Need to change alerts and arrows for cross price only true 2 MA without crossing (direction from small to big) 2)Fix the error when change to any timeframe for MA (disapeer) and for arrows (in history is very big on vertically out of see screenshot) 3)Add alerts for crossing of 2 MA (MA Small cross MA big) Arrows, Message, Sound - (True/False)
Изменить графический интерфейс утилиты, исправить расположение кнопок, изменить вид некоторых окон и добавить новые. Сохранить текущую адаптивность и работоспособность кнопок. Подробнее расскажу в ТЗ с наглядными скриншотами, что и где поменять. Правки нужно внести в МТ4 и МТ5 версии. Спасибо за ваши заявки, рассмотрю каждую
Ищу испольнителя для реализации соедующего советника. 1. Идея торговой системы : входы после импульса (стремительного движения цены) на откате после пересечения МА#1 and MA#2 с указанным в настройках периодом в направлении текущего тренда . 2. Тренд определяется по МА#3 с указанным в настройках периодом. Может быть отключенным в настройках. Тогда определяющим тренда будет МА#2. 3. Импульс. Указанное в настройках
Здравствуйте. Необходимо внедрить защиту советника на платформе MetaTrader 5 (MT5). На ПК устанавливается защищенная программа с ограниченным лимитом безопасных запусков. Например, такой лимит может быть установлен на один запуск. Это означает, что после первого запуска программы на ПК она интегрируется в систему управления Windows в статусе администратора, собирает необходимые данные для привязки советника и
Написать советник при помощи машинного обучение Нужен торговый советник с определенной стратегий ( нужно его оптимизировать и обучить что бы они имел возможность сама обучение при торговли в прошлом ) нужен профи кто подобное сделает ( интересует цена на данную услугу и время на выполнения )
Необходимо разработать робота для Metatrader 5 на основе стандартного индикатора объемов из MT5 Volumes который открывается в отдельном окне. ТЗ продублировано в прикрепленном файле. Разработать торгового робота для мт5 Робот должен работать на MT 5 на 4 ч. Используемый встроенный в MT 5 индикатор Volumes . Робот торгует каждый день, один раз в день. Настраиваемые параметры Максимальный объем ( MaxVolumes ) = Время
Мне нужен робот, который будет иметь следующие необходимые параметры: 1. робот должен работать на MT5 2. минимальный депозит $100 3. количество транзакций в день на депозит $100 с лотом 0,01 минимум 1000 4. макс прасат 15%

Proje bilgisi

Bütçe
150+ USD
Geliştirici için
135 USD
Son teslim tarihi
from 14 to 21 gün