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

Specifiche

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


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


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

Пример:

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


Con risposta

1
Sviluppatore 1
Valutazioni
(589)
Progetti
1069
50%
Arbitraggio
39
28% / 41%
In ritardo
49
5%
Gratuito
Pubblicati: 1 articolo, 8 codici
2
Sviluppatore 2
Valutazioni
(45)
Progetti
76
20%
Arbitraggio
7
0% / 86%
In ritardo
14
18%
Gratuito
3
Sviluppatore 3
Valutazioni
(5)
Progetti
3
0%
Arbitraggio
19
0% / 100%
In ritardo
0
Gratuito
4
Sviluppatore 4
Valutazioni
(48)
Progetti
73
37%
Arbitraggio
22
9% / 41%
In ritardo
14
19%
In elaborazione
5
Sviluppatore 5
Valutazioni
(361)
Progetti
644
26%
Arbitraggio
92
72% / 14%
In ritardo
12
2%
In elaborazione
Pubblicati: 1 codice
6
Sviluppatore 6
Valutazioni
(340)
Progetti
588
36%
Arbitraggio
31
45% / 3%
In ritardo
16
3%
Gratuito
Pubblicati: 13 codici
7
Sviluppatore 7
Valutazioni
(4)
Progetti
5
40%
Arbitraggio
1
0% / 100%
In ritardo
0
Gratuito
Pubblicati: 1 codice
8
Sviluppatore 8
Valutazioni
(574)
Progetti
945
47%
Arbitraggio
309
58% / 27%
In ritardo
125
13%
Gratuito
9
Sviluppatore 9
Valutazioni
(13)
Progetti
34
76%
Arbitraggio
1
100% / 0%
In ritardo
6
18%
Gratuito
Ordini simili
I need a simple semi-auto assistant for XAUUSD on MT5. Main functions: * BOS detection * CHOCH detection * Liquidity sweep detection * Buy/Sell arrows * London & New York session filter * Alert notifications * Simple dashboard No martingale. No grid. I need clean and optimized code with editable settings. Do you have experience with SMC/ICT concepts and XAUUSD? Can you build something like this
Язык платформы: MQL4 или MQL5 (уточним с выбранным исполнителем). Тип проекта: Информационный советник-сканер. БЕЗ автоматической торговли (без открытия ордеров). Краткое описание задачи Необходимо разработать высокооптимизированный многопоточный сканер рынков, который будет одновременно мониторить от 250 до 400 торговых инструментов (Forex, Crypto, Индексы, Акции). Система работает на базе 5 независимых виртуальных
Добрый день. Нужно написать советника: - Хеджирование ( открытия двух сделок одновременно buy, sell) - Buy например в плюсе, то СЛ в безубыток с тралом и пирамидингом (набор объема в buy) - Sell в минусе, то двигается стоп в безубыток buy с набором объема в sell -Трал ордера когда их как минимум 4 в одну сторону (Настраиваемое) -П ирамидинг ордеров через каждые 10 п, усреднение на том же уровне где и открытие ордера
Ищу для покупки исходный код адекватного торгового робота на долгосрок. Интересуют только прозрачные алгоритмы с понятным обоснованием входов и выходов. Рассматриваются работы которые торгуют от 1 года не менее имеют инвест пароль от счета + как дополнения сигнал на мкл просьба остальным не писать. ищу для себя реально рабочую вещь. Спасибо
Добрый день! 30 - 100 USD
Требуется адаптировать простенький индикатор для МТ5 под новые существующие сейчас билды. Раньше в 2015гг. индикатор работал. как обновились билды на мт5 , индикатор перестал прикрепляться к графику. Мой емейл: Eduardfoer@mail.ru Ребята с адаптацией индикатора ничего не выходит!!! Нет Mq файла. Тогда может кто нибудь сможет не за бесплатно восстановить сам терминал МТ5 под билды.13-13-15 года. Чтобы индикатор встал

Informazioni sul progetto

Budget
30 - 40 USD
Scadenze
da 1 a 3 giorno(i)