Разруливание сложной ситуации с помощью усреднения.

averkiev

Интересующийся
Советник cm-CloseLock

Советник cm-CloseLock находит крайние ордера и старается их закрыть теми ордерами, что сейчас в плюсе. В нем нет ограничения какой именно убыток или профит закрывать поэтому он может закрывать и прибыльные ордера если они достигли прибыли CloseProfit

Добрый день Владимир! Уже не первый день пользуюсь Советником cm-CloseLock и хотел бы добавить пару предложений к его доработки.
1. Не хватает закрытия убыточных ордеров частичным лотом. Например: убыточный 1 лот, а прибыльный 2 лот. При достижении определенного профита, прибыльный откусывает минимально-возможный лот (от 0,01) с убыточного.
2. Советник сейчас не разбирается в том, какой из Sell или Buy наиболее убыточный и закрывает максимально доступный, при достижении заданной прибыли в настройках. Хотелось бы, чтобы советник рассчитал например, Sell с лотом 0,01 и просадкой в 300 пп приоритетней чем Buy с лотом 0,01 и просадкой 10 пп и закрыл именно по Sell.
Спасибо за понимания и труды.
Буду рад положительному ответу.
 

cmillion

Гуру форума
Добрый день Владимир! Уже не первый день пользуюсь Советником cm-CloseLock и хотел бы добавить пару предложений к его доработки.
1. Не хватает закрытия убыточных ордеров частичным лотом. Например: убыточный 1 лот, а прибыльный 2 лот. При достижении определенного профита, прибыльный откусывает минимально-возможный лот (от 0,01) с убыточного.
2. Советник сейчас не разбирается в том, какой из Sell или Buy наиболее убыточный и закрывает максимально доступный, при достижении заданной прибыли в настройках. Хотелось бы, чтобы советник рассчитал например, Sell с лотом 0,01 и просадкой в 300 пп приоритетней чем Buy с лотом 0,01 и просадкой 10 пп и закрыл именно по Sell.
Спасибо за понимания и труды.
Буду рад положительному ответу.

А как советник должен расставлять приоритеты? Вы сами в параметрах будете задавать какой ордер ситать приоритетным для закрытия?
 

Cemen4yk1

Местный житель
А как советник должен расставлять приоритеты? Вы сами в параметрах будете задавать какой ордер ситать приоритетным для закрытия?
профит ордера со знаком минус поделить на его лот - так если лот 1.0 просел на 300 и 0.01 просел на 300 то закроется тот который 0.01
 

averkiev

Интересующийся
Советник cm-CloseLock

А как советник должен расставлять приоритеты? Вы сами в параметрах будете задавать какой ордер ситать приоритетным для закрытия?

Тут я мало чем могу посоветовать. Если логично рассуждать: советник знает какой по Селл и по Бай самый убыточный, значит нужно сравнить эти убытки в пунктах и выбрать самый удаленный.
 

cmillion

Гуру форума
Тут я мало чем могу посоветовать. Если логично рассуждать: советник знает какой по Селл и по Бай самый убыточный, значит нужно сравнить эти убытки в пунктах и выбрать самый удаленный.

Но ведь именно так советник и поступает сейчас
 

averkiev

Интересующийся
Советник cm-CloseLock

Но ведь именно так советник и поступает сейчас

Нет, сейчас он выбирает наиболее доступный по прибыли. Например: Селл - просадка 100пп профит -100, Бай - просадка 50пп профит -50. Теоретически советник должен закрыть по Селл, так как просадка у него больше. Но фактически, если в настройках закрытие убыточного по прибыли +50, то достигнув общей прибыли +100, советник закроет именно по Бай и не смотрит на просадку.
 

cmillion

Гуру форума
Нет, сейчас он выбирает наиболее доступный по прибыли. Например: Селл - просадка 100пп профит -100, Бай - просадка 50пп профит -50. Теоретически советник должен закрыть по Селл, так как просадка у него больше. Но фактически, если в настройках закрытие убыточного по прибыли +50, то достигнув общей прибыли +100, советник закроет именно по Бай и не смотрит на просадку.

Что то не нашел я этот советник cm-CloseLock у себя, в ветке тоже нет времени искать, если укажите пост где он есть, то я посмотрю, но пока по описанию очевидно, что он закрывает крайние, т.е. не только sell а buy вместе с ним, когда они компенсируют друг друга.
 

averkiev

Интересующийся
Советник cm-CloseLock

Что то не нашел я этот советник cm-CloseLock у себя, в ветке тоже нет времени искать, если укажите пост где он есть, то я посмотрю, но пока по описанию очевидно, что он закрывает крайние, т.е. не только sell а buy вместе с ним, когда они компенсируют друг друга.

Действительно, в этой ветки он остался как "закрываем дальние за счет прибыли остальных.mq4", а на других форумах дорос до "cm-CloseLock".
Прилагаю к сообщению последний вариант этого советника.
 

Вложения

cmillion

Гуру форума
Действительно, в этой ветки он остался как "закрываем дальние за счет прибыли остальных.mq4", а на других форумах дорос до "cm-CloseLock".
Прилагаю к сообщению последний вариант этого советника.

На данный момент советник cm-CloseLock работает следующим образом.
- находит самый верхний buy и самый нижний sell
- вычисляет сумму профитов всех положительных позиций (и buy и sell без разделения)
- если сумма всех прибыльных позиций больше убытка дальнего buy или sell на величину CloseProfit (в валюте депозита) То советник закрывает соответствующую убыточную позицию и все прибыльные.
 

averkiev

Интересующийся
Советник cm-CloseLock

На данный момент советник cm-CloseLock работает следующим образом.
- находит самый верхний buy и самый нижний sell
- вычисляет сумму профитов всех положительных позиций (и buy и sell без разделения)
- если сумма всех прибыльных позиций больше убытка дальнего buy или sell на величину CloseProfit (в валюте депозита) То советник закрывает соответствующую убыточную позицию и все прибыльные.

Я правильно понял, советник выбирает наиболее доступный по прибыли из убытка дальнего buy или sell и не смотрит кто из buy или sell находится в большей просадке?
 

cmillion

Гуру форума
Я правильно понял, советник выбирает наиболее доступный по прибыли из убытка дальнего buy или sell и не смотрит кто из buy или sell находится в большей просадке?

Я описал полную работу советника. Там нет выбора "доступности по прибыли". Вы имеете ввиду, что он закрывает тот ордер, что имеет меньший убыток? Это так.
Давайте я сделаю версию, где добавлю условие закрывать из двух выбранных тот, у которого убыток в валюте депозита больше.
 

Вложения

SW111

Гуру форума
Советник предназначен для частичного или полного вывода убыточных ордеров в прибыль.
Работа его заключается в том, что он берет часть лота убыточной позиции и с помощью усредняющих рыночных ордеров выводит эту часть в плюс.
Если в настройках указан номер ордера, то советник закрывает частями именно его до полного его закрытия.
Если в настройках Тикет_ордера_для_закрытия = 0 то советник сам определяет самый убыточный ордер и начинает выводить в безубыток именно его.

такая ситуация...разрулил ордер и встал...а чего встал? почему не едет дальше? почему не щёлкает следующий висяк по списку?

непонятно также вот что: мы ставим разруливатель на пару евроюсд и он подхватывает висяки только евроюсдовые? минуса других пар он видит?

вобщем нужно чтобы поставил на любую пару и он как маньяк, которому уже нечего терять резал бы в терминале всё что ниже нуля (начиная с самого убыточного) и без остановки!

ах, да! чуть не забыл волшебное слово!

d08c3aebb1de309d19f19449a700a2ea.png
 
Последнее редактирование:

cmillion

Гуру форума
такая ситуация...разрулил ордер и встал...а чего встал? почему не едет дальше? почему не щёлкает следующий висяк по списку?

непонятно также вот что: мы ставим разруливатель на пару евроюсд и он подхватывает висяки только евроюсдовые? минуса других пар он видит?

вобщем нужно чтобы поставил на любую пару и он как маньяк, которому уже нечего терять резал бы в терминале всё что ниже нуля (начиная с самого убыточного) и без остановки!

ах, да! чуть не забыл волшебное слово!

d08c3aebb1de309d19f19449a700a2ea.png

Если указали какой то ордер, то он его разрулил и все. Если ордер не имеет того убытка, что указан в параметрах, то такой ордер так же не видет советнику. Ну и естественно он разруливает только ту пару, на которой стоит. Все Ваши пожелания я могу сделать в индивидуальном порядке, обращайтесь в личку.
 

cmillion

Гуру форума
Новая версия разруливателя

Доработки
1) изменена информация. Все лишнее "непонятное" убрал и оставил только общий суммарный лот и профит всех ордеров. Учитываются все ордера включая ордера советника и выставленные вручную по тому инструменту, на котором стоит советник.
2) добавлена лента событий, по которой можно легко отследить историю работы советника и понять как же он все таки "разруливает". Особенно полезно для начинающих осваивать данный советник в тестере.
3) Лента событий может включаться и отключаться кнопкой Histopy
4) Добавлено дробление лок ордера
- шаг через который ставим локи
- максимально возможный объем 1 лок ордера
Пример
У нас имеется объем buy 10 лот и объем sell 5 лот
максимально возможный объем 1 лок ордера задали 3 лота шаг 10 п
По стрелке индикатора вниз выставляется sell lock 3 лота и если цена прошла еще ниже 10 п то выставляется еще 2 лота чтобы компенсировать объем buy ордеров.
Если привыкли выставлять лок одним ордером, то просто установите максимально возможный объем 1 лок ордера больше, например 99999

cm ru 310715.png
 

Вложения

cesiek

Новичок форума
Пожалуйста, переведите
 

Вложения

  • Snap1.jpg
    Snap1.jpg
    97,8 КБ · Просмотры: 93

cmillion

Гуру форума
Пожалуйста, переведите

extern int NumerOrder = 0; //номер ордера, который разруливаем, если 0 то советник находит дальние
extern int Step = 20; //расстояние между усредняющими ордерами (не менее)
extern double K_Lot = 1.5; //умножение лота усредняющих ордеров
extern double Lot_close = 0.01; //лот, который закрываем у убыточной позиции
extern int TrailingStop = 10; //трейлингстоп, если 0, то нет трейлинга

extern int Drawdown = 0; //разруливает только, когда просадка ордера больше Drawdown pips (0-откл)
extern double MinProfit = 0.1; //минимальная прибыль закрытия ордера в валюте депозита
extern bool indicator = true; //использовать индикатор для выставления усредняющих
extern bool DeleteStop = false; //удалять стоплосс и тейкпрофит всех ордеров
extern bool DeleteOrders = false; //удалять отложенные ордера
extern bool Trade = false; //ручная торговля

input color Color1 = clrBlack; // цвет рамки
input color Color2 = clrWhite; // цвет фона
extern double lotsell = 0.1; //начальный лот sell для ручной торговли
extern double lotbuy = 0.1; //начальный лот buy для ручной торговли
extern double lotdelta = 0.01; //дельта изменения лота ручной торговли

extern int StepLock = 5; //шаг через который ставим локи
extern double LotLock = 0.05; //максимально возможный объем 1 лок ордера

extern int DigitsLot = 2; //кол-во знаков после запятой в размере лота (2 - 0,01) (1 - 0,1)
extern bool DrawInfo = true; //вывод информации об ордерах и прибыли
extern int Magic = 345678234;//не должен совпадать ни с одним магиком

extern color text_color = clrBlue; //цвет вывода информации
extern int Slippage = 3; //проскальзывание
extern int Attemps = 30; //число попыток закрытия
extern long key = 0;
 

HOBOCTVI

Новичок форума
extern int Step = 20; //расстояние между усредняющими ордерами (не менее)

20 пипсов? тоесть на пятизнаке это 200 ?

я к чему спрашиваю.... я поставил у себя 20 и умножение 0,05 и больше одного ордера не видел .За,уже почти, как два месяца.
 

cmillion

Гуру форума
20 пипсов? тоесть на пятизнаке это 200 ?

я к чему спрашиваю.... я поставил у себя 20 и умножение 0,05 и больше одного ордера не видел .За,уже почти, как два месяца.

советник сам увеличивает шаг в 10 раз если он стоит на 4 или 5 значных котировках. Т.е. у Вас получился шаг 200 и поэтому мало ордеров.
 
Верх