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

cm_ru 161013

Причесал версию 111013, там действительно были некоторые ошибки и ордера могли закрыться с минусом. Так что у кого она стоит, поменяйте ее на предыдущую или установите эту.
Доработки
1) Добавил начальную просадку PercenStart при которой советник начинает работать
2) добавил шаг тралла ток ордера StepModify
3) добвил перевод лок ордера в безубыток NoLoss
4) для тестера добавил открытие ордеров каждый раз как только выставленные разрулились. Теперь можно найти сложный участок по истории и подобрать параметры именно для него.


PHP:
extern double  PercenStart = 0;     //советник работает только в случае если просадка по счету выше заданной 0- откл
extern int     TF          = 15;    //таймфрейм свечей для определения движения цены
extern int     step        = 25;    //расстояние между усредняющими ордерами (не менее)
extern double  k_lot       = 1.5;   //умножение лота усредняющих ордеров
extern double  lot_close   = 0.01;  //лот, который закрываем у убыточной позиции
extern int     MinProfit   = 2;     //минимальный профит в пунктах

extern bool    Lock        = false; //включение лока
extern double  LotPercent  = 25;    //выставляем лок лотом равным проценту от дисбаланса лотов двух направлений
extern double  PercentLoss = 10;    //выставляем лок при достижении просадки в процентах от депо
extern int     StepLock    = 25;    //расстояние от цены до локирующего стоп ордера (0-лок отключен)
extern int     StepModify  = 5;     //мин шаг перемещения лока
extern int     NoLoss      = 5;     //перевод лок ордера в безубыток (в пунктах)
 

Вложения

Добрый день, cmillion!

Извините, может задам глупый вопрос.
Можно ли закрывать убыточный ордер лотом lot_close = 0.01, к примеру, если минимальный лот открытия ордера у брокера равен 0,1. Если такое возможно, то при lot_close * k_lot < 0.1 усредняющий ордер не откроется. Тогда нужно будет вводить новый параметр- начальный лот усредняющих ордеров.
 
Добрый день, cmillion!

Извините, может задам глупый вопрос.
Можно ли закрывать убыточный ордер лотом lot_close = 0.01, к примеру, если минимальный лот открытия ордера у брокера равен 0,1. Если такое возможно, то при lot_close * k_lot < 0.1 усредняющий ордер не откроется. Тогда нужно будет вводить новый параметр- начальный лот усредняющих ордеров.

Вопрос вовсе не глупый, если у брокера шаг лота 0.01 а минимальный лот 0.1 то действительно такая проблема имет место. Это возможно решить в индивидуальным порядке так как сейчас просто большая загрузки. Да и усложнить советник параметрами не хочется
 
НОВАЯ ВЕРСИЯ cm ru 211113

В новой версии добавлена возможность включать выключать закрытие встречными ордерами.
Работает примерно так.
Имеем прибыльный buy лотом 2 и убыточный sell лотом 1 лот разруливателя стоит 0,01
Как только прибыль 0,02 лотов buy превысит убыток 0,01 лота sell, закрываем 0,02 лота buy и 0,01 лота sell.

Изменен принцип установки и отмены лок ордера. Для того чтобы на границе установки не частил с удалениями лока.

Так же добавлена возможность идентифицировать разруливающие ордера. ID
Для совместимости с прошлыми версиями ШВ должно быть = "cm-ru"

Описание переменных


PHP:
PercenStart = 0;     //советник работает только в случае если просадка по счету выше заданной 0- откл 
TF          = 5;    //таймфрейм свечей для определения движения цены 
step        = 20;    //расстояние между усредняющими ордерами (не менее) 
k_lot       = 1.5;   //умножение лота усредняющих ордеров 
lot_close   = 0.05;  //лот, который закрываем у убыточной позиции 
MinProfit   = 5;     //минимальный профит в пунктах 

включение.лока        = false; //включение лока 
LotPercent  = 50;    //выставляем лок лотом равным проценту от дисбаланса лотов двух направлений 
просадка.для.открытия.лока = 25;    //выставляем лок при достижении просадки в процентах от депо 
StepLock    = 25;    //расстояние от цены до локирующего стоп ордера (0-лок отключен) 
StepModify  = 5;     //мин шаг перемещения лока 
NoLoss      = 5;     //перевод лок ордера в безубыток 

ID = "cm-ru21";//идентификатор разруливающих ордеров 

Перекрывать.противоположные = false; //перекрывать убыток прибыльными ордерами
 

Вложения

День добрый. Как заставить cm_разруливатель_с_локом 23,07,2013 срабатывать при определенном проценте просадки?
 
День добрый. Как заставить cm_разруливатель_с_локом 23,07,2013 срабатывать при определенном проценте просадки?

Так вот же параметр
PercenStart - советник работает только в случае если просадка по счету выше заданной 0- откл
 
PercenStart - советник работает только в случае если просадка по счету выше заданной 0- откл
В версии от 23,07,2013 такого параметра нет. А мне она как-то по душе пришлась :) Я понимаю, что на тестер стратегий совсем уж полагаться не стоит, но версия от 23,07,2013 ведет себя постабильнее.
 
В версии от 23,07,2013 такого параметра нет. А мне она как-то по душе пришлась :) Я понимаю, что на тестер стратегий совсем уж полагаться не стоит, но версия от 23,07,2013 ведет себя постабильнее.

Возможно внести такие фкнкции и в старые версии советника, но только в индивидуальном порядке. пишите в скайп или на почту.
 
Уважаемый cmillion, просьба доработать советник, чтобы он не открывал ордера, а закрывал полностью или частично самые удаленные от текущей цены ордера за счет использования накопленной прибыли.
прошу отписаться, насколько это реально
 
Уважаемый cmillion, просьба доработать советник, чтобы он не открывал ордера, а закрывал полностью или частично самые удаленные от текущей цены ордера за счет использования накопленной прибыли.
прошу отписаться, насколько это реально

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

Спасибо за быстрый ответ.
Это должен быть советник - помощник. Открывать ордера будет основной советник.
Допустим берем обычный мартин, который ушел в просадку. Помощник закрывает самые удаленные в минусе ордера за счет прибыли вновь открытых, без разницы в прибыли они по сел или бай.
 
Спасибо за быстрый ответ.
Это должен быть советник - помощник. Открывать ордера будет основной советник.
Допустим берем обычный мартин, который ушел в просадку. Помощник закрывает самые удаленные в минусе ордера за счет прибыли вновь открытых, без разницы в прибыли они по сел или бай.

Т.е. закрываем не частично а полностью весь удаленный ордер?
Пример, открыты 5 sell и 5 buy цена идет вверх и как только прибыль всех ордеров buy будет равна убытку самого нижнего sell то закрываем все 6 ордеров? Или брать в расчет не все 5 а только прибыльные?
И сразу паралельный вопрос, некоторые советники не любят когда в их работу вмешиваются руками или сторонними советниками. Вы уверены, что Ваш советник не будет вести себя неадекватно после такого закрытия?
 
Т.е. закрываем не частично а полностью весь удаленный ордер?
Думаю вполне устроит закрыть полностью весь удаленный ордер, хотя частичное закрытие тоже интересно было бы попробовать.

Пример, открыты 5 sell и 5 buy цена идет вверх и как только прибыль всех ордеров buy будет равна убытку самого нижнего sell то закрываем все 6 ордеров? Или брать в расчет не все 5 а только прибыльные?

Да, нужно брать в расчет не все 5, а только прибыльные.
Т.е. если 5 ордер перекрывает своей прибылью самый удаленный ордер в минусе, то он его закрывает.

И сразу паралельный вопрос, некоторые советники не любят когда в их работу вмешиваются руками или сторонними советниками. Вы уверены, что Ваш советник не будет вести себя неадекватно после такого закрытия?
Протестировал основной советник, закрывал сам ордера. Реагирует как надо, адекватно.
 
закрываем дальние за счет прибыли остальных

Советник закрывает дальний ордер и все прибыльные ордера если его убыток перекрывается прибыльными ордерами плюс CloseProfit в валюте депозита.

Параметры

PHP:
extern int    CloseProfit  = 0;     //закрывать по суммарному профиту
extern int    Magic        = 0;     //-1 все ордера
 

Вложения

Советник закрывает дальний ордер и все прибыльные ордера если его убыток перекрывается прибыльными ордерами плюс CloseProfit в валюте депозита.

Параметры

PHP:
extern int    CloseProfit  = 0;     //закрывать по суммарному профиту
extern int    Magic        = 0;     //-1 все ордера

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

уже немного протестил, закрывает хорошо.
Если можно, прошу внести поправку в код:
extern int Magic = 0; //-1 все ордера
в данной версии, советник закрывает прибыльным ордером по магику.
Возможно ли закрытие по магику только убыточных ордеров любой прибылью.
Т.е. если стоит магик, то любой прибыльный ордер будет закрывать только дальние убыточные ордера с установленным магическим номером.

Либо 2й, более предпочтительный, вариант: добавить параметр "ID = "cm-ru21";//идентификатор разруливающих ордеров", как в советнике "cm ru 211113.ex4".

Заранее спасибо.
 
уже немного протестил, закрывает хорошо.
Если можно, прошу внести поправку в код:
extern int Magic = 0; //-1 все ордера
в данной версии, советник закрывает прибыльным ордером по магику.
Возможно ли закрытие по магику только убыточных ордеров любой прибылью.
Т.е. если стоит магик, то любой прибыльный ордер будет закрывать только дальние убыточные ордера с установленным магическим номером.

Либо 2й, более предпочтительный, вариант: добавить параметр "ID = "cm-ru21";//идентификатор разруливающих ордеров", как в советнике "cm ru 211113.ex4".

Заранее спасибо.

А Ваш советник способен ставить ордера с такими комментариями к ордерам? Иначе просто невозможно будет работа данного советника
 
А Ваш советник способен ставить ордера с такими комментариями к ордерам? Иначе просто невозможно будет работа данного советника

прошу прощения, попался под руку другой советник, поэтому полностью переписываю прошлое сообщение в правильной редакции:


"Если можно, прошу внести поправку в код:
extern int Magic = 0; //-1 все ордера
в данной версии, советник закрывает прибыльным ордером по магику.
Возможно ли закрытие по магику только убыточных ордеров любой прибылью.
Т.е. если стоит магик, то любой прибыльный ордер будет закрывать только дальние убыточные ордера с установленным магическим номером.

Либо 2й, более предпочтительный, вариант: добавить параметр:
"extern int Тикет_ордера_для_закрытия = 0; //если 0 то советник сам выбирает самый дальний ордер", как в советнике "cm_разрул_MO 27,04,13".

или как в одной из редакций:
"string versiy = "cm-разруливание усреднением";
extern bool AllTicket = true; //true все ордера, если false то только выбранные по Ticket
extern double PercentLot = 100; //процент, который закрываем у убыточной позиции
extern int Ticket1 = 123456789;
extern int Ticket2 = 213;
extern int Ticket3 = 0;
extern int Ticket4 = 0;"

"
прошу прощения
Заранее спасибо.
 
Назад
Верх