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

MQL4 エキスパート

仕事が完了した

実行時間25 日
依頼者からのフィードバック
Всё сделано хорошо. Трудности преодолены энергично и творчески. Работа оставила приятное впечатление.
開発者からのフィードバック
Конструктивный заказчик, четко понимает свои задачи, умеет их сформулировать и тщательно проверить. Спасибо за совместную работу.

指定

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

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

Суть:

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.


応答済み

1
開発者 1
評価
(254)
プロジェクト
573
36%
仲裁
64
20% / 58%
期限切れ
147
26%
2
開発者 2
評価
(16)
プロジェクト
18
6%
仲裁
1
0% / 100%
期限切れ
2
11%
3
開発者 3
評価
(127)
プロジェクト
183
55%
仲裁
3
33% / 33%
期限切れ
6
3%
4
開発者 4
評価
(6)
プロジェクト
8
13%
仲裁
1
0% / 100%
期限切れ
0
5
開発者 5
評価
(21)
プロジェクト
34
56%
仲裁
0
期限切れ
0
6
開発者 6
評価
(549)
プロジェクト
1332
59%
仲裁
28
82% / 0%
期限切れ
10
1%
7
開発者 7
評価
(163)
プロジェクト
193
61%
仲裁
7
14% / 29%
期限切れ
2
1%
8
開発者 8
評価
(280)
プロジェクト
650
28%
仲裁
111
19% / 61%
期限切れ
319
49%
9
開発者 9
評価
(40)
プロジェクト
106
52%
仲裁
17
12% / 65%
期限切れ
25
24%
10
開発者 10
評価
(195)
プロジェクト
395
28%
仲裁
155
20% / 52%
期限切れ
112
28%
11
開発者 11
評価
(66)
プロジェクト
143
34%
仲裁
10
10% / 60%
期限切れ
26
18%
12
開発者 12
評価
(256)
プロジェクト
415
38%
仲裁
86
44% / 19%
期限切れ
70
17%
多忙
類似した注文
Нужно добавить защиту в советник для МТ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%

プロジェクト情報

予算
150+ USD
開発者用
135 USD
締め切り
最低 14 最高 21 日