Изменить алгоритм частичного закрытия позиций в существующем советнике

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

Добрый день, уважаемые программисты!


Есть вспомогательный советник (открытый код). Описание функций этого советника есть в прикрепленном файле. В двух словах советник сопровождает открытые позиции, наилучшим образом работает с сетками, тралит последние ордера, полученным профитом "кусает" лотность сетки, может полностью закрывать ордера полученным профитом от последнего ордера и т.п.


Одна из функций советника (в которую необходимо внести изменения) - "частичное перекрытие" ордеров.

Пример:

Цена идет против нас. Усредняемся. Имеем сетку - 4 ордера - 0.1,  0.2,  0.4,  0.8

Рынок разворачивается, как только ордер 0.8 выходит в плюс на определенные выставленные параметры, включается трал "частичного перекрытия". При возврате цены к линии трала произойдет закрытие части ордеров. Например, согласно логике профитом ордера 0.8 закроется часть убытка от первых трех ордеров что в просадке, то есть от каждого согласно суммы может "откусится" по 0.05 убытка. В итоге в рынке останется 0.05, 0.15, 0.35


ИСХОДНЫЕ ДАННЫЕ ЗАДАЧИ: 

Сейчас частичное "откусывание" ордеров в функционирует по следующей логике:
Есть сеть 0,1 / 0,2 / 0,4 /0,8. Ордер 0,8 - стралился и профитом готов "покусать" часть ордеров. И ордера начинают кусаться в порядке - сначал 0,4,  потом -  0,2, потом - 0,1 (тестировал на сетке 4 ордера, возможно при большем количестве ордеров логика может меняться). Это все происходит за миллисекунды, т.е. как одно действие. Но тем не менее порядок такой - от большего ордера к меньшему (не знаю каким образом он определяет - по лотности, дате или по номеру). 

Когда частично кроется ордер, ордер меняет номер в советнике. Номера меняются в порядке возрастания. Т.е. если мы идем в порядке откусывания, как сделано сейчас в советнике, то откусанный ордер 0,1 (самый маленький) будет иметь самый большой номер ордера, так как был изменен последним. В этом случаи, если "кусание" происходило по логике данного советника, самый маленький по объему ордер будет иметь самый последний номер ордера.


Пример:

В порядке возрастания по номеру ордера:

Была сеть 0,1 /0,2 / 0,4 /0,8. Покусалась, стала 0,3 / 0,15 / 0,05.  Самый большой номер ордера после "кусания" стал у 0,05. 


ЗАДАЧА:

1) Изменить логику частичного перекрытия ордеров на противоположную. Чтобы ордера кусались в порядке от меньшего к большему по лотности. Т.е. в предыдущем примере с сеткой 0,1 / 0,2 / 0,4 / 0,8. Профитом последнего оредра сначала кусался бы - 0,1, потом - 0,2, потом - 0,4. Таким образом наибольший по объему из оставшихся ордеров имел самый большой (последний) номер ордера. 

2) Не менее важная задача - при изменении логики ничего больше не повредить в коде, не задеть, не изменить и т.п. Т.е. все должно работать так, как работает сейчас, кроме пункта 1.


Откликнулись

1
Разработчик 1
Оценка
(588)
Проекты
1063
50%
Арбитраж
39
28% / 41%
Просрочено
49
5%
Работает
Опубликовал: 1 статью, 8 примеров
2
Разработчик 2
Оценка
(45)
Проекты
76
20%
Арбитраж
7
0% / 86%
Просрочено
14
18%
Свободен
3
Разработчик 3
Оценка
(5)
Проекты
3
0%
Арбитраж
19
0% / 100%
Просрочено
0
Свободен
4
Разработчик 4
Оценка
(48)
Проекты
73
37%
Арбитраж
22
9% / 41%
Просрочено
14
19%
Работает
5
Разработчик 5
Оценка
(361)
Проекты
643
26%
Арбитраж
92
72% / 14%
Просрочено
12
2%
Работает
Опубликовал: 1 пример
6
Разработчик 6
Оценка
(340)
Проекты
588
36%
Арбитраж
31
45% / 3%
Просрочено
16
3%
Свободен
Опубликовал: 13 примеров
7
Разработчик 7
Оценка
(4)
Проекты
5
40%
Арбитраж
1
0% / 100%
Просрочено
0
Свободен
Опубликовал: 1 пример
8
Разработчик 8
Оценка
(574)
Проекты
945
47%
Арбитраж
309
58% / 27%
Просрочено
125
13%
Свободен
9
Разработчик 9
Оценка
(13)
Проекты
34
76%
Арбитраж
1
100% / 0%
Просрочено
6
18%
Свободен
Похожие заказы
1. Сеточный алгоритм, без мартингейла (открываются одинаковые ордера по лотности). 2. Депозит делится на 3 части. Условно 1000$ по 330$. Торговля ведется на 330$, лотность, просадка, маржа и тд., высчитывается от этой суммы. 3. Счет центовый. Под плечо 1:1000. 4. Ордера набираются группами. 5-7 групп по 10 -15 ордеров. Если цена ушла не в сторону сделки, робот должен дождаться сигнала на покупку
Требуется построить индикатор ZigZag для MetaTrader 4 Который будет фиксировать точки и показывать линии ДО перерисовки значений (если таковые есть) По сути "оставлять след" перерисовки Необходимо взять за основу обычный индикатор ZigZag и модернизировать его. Основные функции обычного ZigZagа сохранить. Когда его устанавливаешь на график, то он, как обычный индикатор, должен отрисовывать ВСЮ историю. Т.е. он будет
Идет тренд после которого формируется импульс и зачатие диапозона цены (боковик) . как только на 3 и так далее касании будет снятие ликвидности с одной из сторон и возврат цены в диапозон уведомлять в тг бот
Нужен полностью автоматический робот для Meta Trade 5 По готовому техническому заданию. Стратегия: Supertrend + FVG +структура рынка+риск менеджмент Таймфрейм М5, инструмент XAUUSD Бот должен: Торговать только в заданные временные окна Открывать сделки по четким условиям Автоматически ставить SL /TP Соблюдать ограничения по риску, просадке и прибыли Не использовать усреднение, мартингейл, доливки Нужен качественный
ТЗ на разработку торгового советника (MT5 / MQL5) 1) Цель Нужен советник для MetaTrader 5 с проверенной алгоритмической стратегией, ориентированной на стабильную работу в среднесрочной/долгосрочной перспективе на рынке Forex. 2) Инструменты и рамки * Инструменты: только валютные пары (Forex). Без акций, металлов (в т.ч. золота), индексов, нефти/сырья, крипто. * Таймфреймы: M15–H1 (возможно любое из этого диапазона;
Установка ТР одновременно с открытием ордеров buy,sell в пунктах.Пример: buy TP+ 10п. от цены ask, sell -TP10п.отцены bid. Без SL. Значение ТР от 0 и далее( 0 без ТР). Закрытие позиций: 1.закрыть все убыточные; 2.закрыть все прибыльные; 3. закрыть все
Стоимость обсуждается. У меня есть стратегия с уже существующим шаблоном для metatrader 4, который даёт сигналы по золоту на основе индикаторов. Задача : сделать на его основе советник для MT5, который будет заходить в сделку по сигналу при определённых условиях на таймфрейме 5m и 1h. Также необходимо добавить опции установки фиксированного лота. И выхода из сделки при сигнале в встречном направлении

Информация о проекте

Бюджет
30 - 40 USD
Сроки выполнения
от 1 до 3 дн.