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

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
(588)
Projects
1061
50%
Arbitration
39
28% / 41%
Overdue
49
5%
Free
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
643
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
Торговый робот для Форекс сцепка трейдинг вью и мт4. Алгоритм работы робота на основе отскока ценовых уровней коррекции Фибоначчи и временных периодов Фибоначчи а так же на основе коррекции Фибоначчи выставление тейк профита и стоп лоса Исполнитель должен быть с города Ижевск
Добрый день! Требуется индикатор по паттернам волн Эллиотта "треугольник" и "диагональ". На первый взгляд, может показаться запутанно, но я могу в течении короткого созвона показать логику работы индикатора на графике. Волны строятся по локальным минимумам и максимумам цены на графике в соответствии с условиями волнового анализа. Сигнал о появлении паттерна выводится на экран на этапе формирования волны D (в
Здравствуйте! Мне необходимо написать торгового советника (Expert Advisor) для MetaTrader 5, который будет работать по сигналам из TradingView через Webhook. Ключевая особенность: Робот должен иметь систему подтверждения сигнала перед входом и систему экстренного закрытия при исчезновении сигнала. Технические требования: 1. Связь: Прием сигналов в формате JSON через Webhook. 2. Риск-менеджмент: * Лот: Автоматический
Приветствую! Нужно написать не сложного эксперта который будет работать с ордерами открываемыми другим существующим экспертом. Нужно что б новый эксперт мог : Выставлять стоп в плюс по открытым ордерам, задавать трейлинг стоп, и самое главное, закрывать все ордера по старшему (последнему) ордеру. Детали в личке опишу
Ищу опытного разработчика для работы с торговыми роботами в MetaTrader 5 и сопутствующими инструментами на Python. Основные задачи: Реализация/модификация советника MT5 на MQL5 по стратегиям (с сеткой, динамическим лотом, TP/SL, частичной фиксацией прибыли); Внедрение или адаптация готового MQL5-модуля в существующий советник без нарушения логики; Написание вспомогательных скриптов на Python для: • сбора и анализа
Доброго дня. Нужен советник на основе индикатора, либо скрипт Trading View. Лучше это оформит в качестве программы на Python. Но если код легче будет через PineScript, то можно и скриптом. Главное чтобы последовательность соблюдалась с первого по четвертый пункты из ТЗ (во вложении). Индикатор есть, предоставлю, хотелось бы понять примерную стоимость, создания советника. Спасибо. В индикаторе много параметров, но
1) Советник открывает двойной ордер одинакового объёма разного направления, заданного в параметрах, как стартовый лот; этот ордер считается нулевым; 2) По ходу движения цены в любую сторону советник открывает на каждом шаге сетки двойные ордера, согласно множителю (5.) и условиям пункта 29.; Визуально - это выглядит так, что вся сетка состоит из двойных ордеров, либо по краям сетки всегда остаются двойные ордера, при

Project information

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