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

Specification

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


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


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

Пример:

Цена идет против нас. Усредняемся. Имеем сетку - 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.


Responded

1
Developer 1
Rating
(589)
Projects
1066
50%
Arbitration
39
28% / 41%
Overdue
49
5%
Working
Published: 1 article, 8 codes
2
Developer 2
Rating
(45)
Projects
76
20%
Arbitration
7
0% / 86%
Overdue
14
18%
Free
3
Developer 3
Rating
(5)
Projects
3
0%
Arbitration
19
0% / 100%
Overdue
0
Free
4
Developer 4
Rating
(48)
Projects
73
37%
Arbitration
22
9% / 41%
Overdue
14
19%
Working
5
Developer 5
Rating
(361)
Projects
644
26%
Arbitration
92
72% / 14%
Overdue
12
2%
Working
Published: 1 code
6
Developer 6
Rating
(340)
Projects
588
36%
Arbitration
31
45% / 3%
Overdue
16
3%
Free
Published: 13 codes
7
Developer 7
Rating
(4)
Projects
5
40%
Arbitration
1
0% / 100%
Overdue
0
Free
Published: 1 code
8
Developer 8
Rating
(574)
Projects
945
47%
Arbitration
309
58% / 27%
Overdue
125
13%
Free
9
Developer 9
Rating
(13)
Projects
34
76%
Arbitration
1
100% / 0%
Overdue
6
18%
Free
Similar orders
Need an advisor that works on the retest of the first five-minute New York candle. Entry is on the breakout of the M1 candle testing the range of the first five M1 candles. Automatic and adjustable GMT. Adjustable take profit in PP. Stop loss is per M1 candle. The M1 candle should test the range and close with a body outside it. The ability to customize stop-loss orders by RR and points. Add the ability to trail
Нужен советник для торговли на золоте с большой прибылью в день от 5%-50% и выше. Необходима проверка советника перед покупкой, триал или демо, а также подтвержденная статистика торговли, прозрачные отчеты и желательно но не обязательно реальные отзывы пользователей
Description: Hello! We are looking for a developer to create a custom MT5 indicator. Requirements: — Detection of breakout zones — Detection of FVG (fair value gap) zones — Clean logic, non-repainting Preferred: — Experience with MT5 indicator development — Understanding of market structure / price action (SMC is a plus) Please include: — Examples of similar work (if available) We are ready to discuss details and
Советник нужен полноценный, хотя он нужен для поиска закономерностей. Так как я в первый раз заказываю советник, то нужен опытный человек, который сможет направить (подсказать) по составлению грамотного ТЗ. Желательно чтобы исполнитель был русскоязычным, так как я с России. Всем благ
Нужен советник на золото , закинул скрин каком принципе . На mt5, и что бы код был бы свободный , смогбы его доработать . Встроенный стоп лосс, тайк профит , интерфейс .что бы автоматически открывал и закрывал позиции

Project information

Budget
30 - 40 USD
Deadline
from 1 to 3 day(s)