Уникальныйй трейлинг ордеров частями

 

Помогите, пожалуйста, написать функцию трала (или адаптировать готовый советник)

Есть такая возможность в МТ4, как частичное закрытие ордеров. Но эта возможность не столь уж эффективна, т.к при прохождении определённого расстояния

происходит частичное закрытие ордеров по рынку. А мне нужно, чтобы все эти части ордера (разделённые по лоту) тралились, при чем сразу с минусовой зоны.

Идея частичного закрытия реализована в советнике -  ePartCloseAndTrailing. Но, к сожалению, там обычный трал. Может ли кто помочь в этом вопросе.

Сам советник и тз в аттаче. 

 

Суть трала такова ---

Для примера принимаем – ордер с объёмом в 1 лот. Все переменные в виде примера.

1. Ордер условно разбиваем на части ( по ЛОТУ).

string Levels = "10/20/5";    (частей может быть любое к-во).

- Уровни закрытия. Например, при параметрах 10/20/5 первое закрытие выполняется при достижении ордером прибыли в 10 пунктов, затем еще через 20 пунктов и еще через 5 пунктов.

2. Устанавливаем процент для частичного закрытия ордера.

string  Percents  =  "50/25/25";

Процент закрытия (через разделитель "/") для соответствующего уровня. Здесь отсчет идет от лота первого ордера. Если исходный ордер открыт с лотом 1.0 лот, закрывается 50% - 0.5, затем 25% от 1.0 - 0.3 (округление 0.25 в большую сторону) и наконец 0.2

3. Трал включается сразу после установки ордеров.

4. Количество ордеров в рынке – ЛЮБОЕ. (т.е. Один и более)

5. Уровни трала (Levels) отображаются на графике в виде линий.

- Отображение линий - параметр отключаемый,  и линии должны двигаться синхронно с уровнями ---- вслед за ценой.

Т.е. линия на графике – это и есть уровень, отображаемый графически.

Тралим Пункт-в-Пункт.

- Цена прошла вверх 3 пункта и ВСЕ виртуальные части трала (если линии есть на графике – то и они перемещаются) переместились на 3 пункта вверх (все 3 линии переместились вверх на 3 пункта).

- Цена прошла вниз на 2 пункта – наши вирт. тралы остаются на том же месте.

- Если цена развернулась и пробила линию 10 пунктов – то мы закрываем 50% позиции (согласно настройкам). И так далее.

- При работе трала Стоп-Лосс ордера не подтягивается за ценой. Он всегда находится на своем стартовом месте.

 

Имеем импульсное движение.

- Если цена вышла в точку БУ и выше, тралы подтянулись. Принцип закрытия тот же. Виртуальные тралы

следуют за ценой Пункт-в-Пункт. И в случае разворота цены, когда пересекается вирт. трал ценой сверху-вниз, мы закрывает часть позиции. Т.е. ту часть позиции, за которую и отвечает данный виртуальный трал.

 

Расстояние ТРАЛА.

20/10/5

1-ый трал на расстоянии 20 пунктов от цены.

2-ой трал на расстоянии 10 пунктов от 1-го трала

3-ий трал на расстоянии 5 пунктов от 2-го трала.

 

Для ордеров SELL всё аналогично, зеркально.

К сожалению, нигде не нашёл такого вида трала. 

 
Заказывайте в разделе Фриланс. )))
Кому интересно тратить своё драгоценное время бесплатно?
Либо делиться готовым кодом, который тоже требовал времени. 
 
Andrei Fandeev:
Кому интересно тратить своё драгоценное время бесплатно?

Я бы даже сказал тралить!
 
Если уж местные троли (ть) подтянулись, значит тема будет интересной
Причина обращения: