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

Şartname

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


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


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

Пример:

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


Yanıtlandı

1
Geliştirici 1
Derecelendirme
(589)
Projeler
1070
50%
Arabuluculuk
39
28% / 41%
Süresi dolmuş
49
5%
Serbest
Yayınlandı: 1 makale, 8 kod
2
Geliştirici 2
Derecelendirme
(45)
Projeler
76
20%
Arabuluculuk
7
0% / 86%
Süresi dolmuş
14
18%
Serbest
3
Geliştirici 3
Derecelendirme
(5)
Projeler
3
0%
Arabuluculuk
19
0% / 100%
Süresi dolmuş
0
Serbest
4
Geliştirici 4
Derecelendirme
(48)
Projeler
73
37%
Arabuluculuk
22
9% / 41%
Süresi dolmuş
14
19%
Çalışıyor
5
Geliştirici 5
Derecelendirme
(361)
Projeler
644
26%
Arabuluculuk
92
72% / 14%
Süresi dolmuş
12
2%
Çalışıyor
Yayınlandı: 1 kod
6
Geliştirici 6
Derecelendirme
(340)
Projeler
588
36%
Arabuluculuk
31
45% / 3%
Süresi dolmuş
16
3%
Serbest
Yayınlandı: 13 kod
7
Geliştirici 7
Derecelendirme
(4)
Projeler
5
40%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
0
Serbest
Yayınlandı: 1 kod
8
Geliştirici 8
Derecelendirme
(574)
Projeler
945
47%
Arabuluculuk
309
58% / 27%
Süresi dolmuş
125
13%
Serbest
9
Geliştirici 9
Derecelendirme
(13)
Projeler
34
76%
Arabuluculuk
1
100% / 0%
Süresi dolmuş
6
18%
Serbest
Benzer siparişler
I already have a large working MQL5 Expert Advisor. I am NOT looking for a new EA from scratch. I need an experienced MQL5 developer to audit, debug and improve the existing source code based on real MT5 demo logs. The EA trades XAUUSD on M1 and includes smart entry logic, FastFlow/tick-flow analysis, DMI/ADX, Connors RSI, ROC, EMA, market structure and multi-leg execution. The main task is to identify why many
Требуется опытный разработчик,для доработки и глубокого аудита торгового робота!Ключевые задачи: Аудит безопасности, полная проверка исходного кода на баги, уязвимости,и скрытые угрозы,а также передачи данных.Максимизация прибыли,и снижение рисков: Доработка логики для извлечения максимум профита и минимизации потерь и присадок.Штормоустойчивость:Критически важно,чтобы алгоритм и код, корректно и без сбоев

Proje bilgisi

Bütçe
30 - 40 USD
Son teslim tarihi
from 1 to 3 gün