Полуавтоматический безиндикаторный советник "Сетка"

1x1

Активный участник
вопрос есть. Советник открывает очень много ордеров. На реале практика показывает, что больше 3 ордеров смогут закрыться в 90% случаев с задержкой. Во время закрытия всех ордеров цена может уйти в минус. Может ввести ТП для всех ордеров?:question:
 

cmillion

Гуру форума
вопрос есть. Советник открывает очень много ордеров. На реале практика показывает, что больше 3 ордеров смогут закрыться в 90% случаев с задержкой. Во время закрытия всех ордеров цена может уйти в минус. Может ввести ТП для всех ордеров?:question:

А о каком именно советнике идет речь? Я здесь выкладывал несколько разных торговых систем, в некоторых, например ПРОБОЙНИК, есть возможность выставлять тейкпрофит и стоплосс у всех ордеров от уровня безубытка, а это значит, что они гарантированно закроются по стопам одновременно.
 

1x1

Активный участник
речь о проследнем cm_Trend в 98 посте. Извиняюсь.
 

cmillion

Гуру форума
речь о проследнем cm_Trend в 98 посте. Извиняюсь.

cm_Trend закрывает ордера с рынка и этому есть очень простое объяснение. Орера у него всегда разнонаправленные, т.е. для закрытия их в определенной точке нужно выставить одним ордерам стоплосс, другим тейкпрофит, а так как ордера buy закрываются по цене Bid, а sell по цене Ask, то выставлять стоплосс и тейкпрофит нужно на расстоянии спредаю Это все будет нормально работать у брокера с фиксированным спредом, но таких пброкеров все меньше. При плавающем же спреде может случится ситуация, когда закроются только ордера одного направления, а второе останется висеть. Поэтому я и оставил в данном советнике закрытие только с рвынка.
 
  • Like
Реакции: 1x1

Krokus

Новичок форума
Здравствуйте Владимир!
Давно интересуюсь Вашими сеточными советниками. Некоторые из них тестировал. В последнее время, занимаюсь тестированием Вашего советника SetkaProfitLimit v9а. Разрабатываю собственную методику торговли данным советником, в настройках использую стопы и профиты, но для моего метода в данном советнике не хватает одной детали. Буду весьма признателен, если Вы её добавите. Результаты тестов размещу на форуме. Суть дополнения к советнику, в следующем:
По моей методике, после закрытия ордера по стопу, необходим тайм-аут несколько часов. Нужно добавить функцию: "Тайм-аут после стопа". Время тайм-аута в часах. Но есть один нюанс: в настройках советника, я использую ограничение работы по времени (TimeStart TimeEnd). Поэтому, при простое советника в тайм-ауте, должно преобладать ограничение работы советника по времени. Например:
Ордер закрылся по стопу в 06.00, в настройках выставлена функция "Тайм-аут" 3 часа (в данном случае до 09.00), "TimeStart" установлен 8. В данной ситуации, советник должен начинать работу в 08.00, т.к. преобладает ограничение работы советника по времени. Ещё пример:
"TimeEnd" установлен 21, "TimeStart" 8, "Тайм-аут" 3. Произошло закрытие по стопу в 20.00, значит в это время советник останавливает работу, но не на 3 часа, а до 08.00, т.к. ограничение по времени преобладает.
[FONT=&quot]Заранее благодарен за доработку, если Вам это не составит большого труда.
[/FONT]
 

cmillion

Гуру форума
ExpertNET_v8

Советник торгует стоп ордерами, на место закрытых рыночных позиций вновь устанавливает новые стоп ордера по ходу движения цены.
Закрытие по стопам, траллу и накопленному профиту.

Параметры

PHP:
extern int     STEP                 = 10,    //шаг между ордерами
               Orders               = 3,     //кол-во ордеров в каждую сторону
               Stoploss             = 0,     //стоплосс ордеров
               Takeprofit           = 0;     //тейкпрофит ордеров
extern double  FixPrice             = 0.0;   //если=0 то то кол-во ордеров считаем от текущей цены, иначе от заданной
extern double  FixLot               = 0.1;   //если=0 то по risk
extern int     risk                 = 100,   //ММ лот устанавливается как процент от свободных средств
               Slippage             = 3;     //проскальзывание

extern int     TrailingStop         = 10;    //если= 0, то трейлинг отключен
extern int     TrailingStep         = 10;    //шаг изменения стопов
extern int     NoLoss               = 0,     //перевод в безубыток
               MinProfitNoLoss      = 0;     //минимальная прибыль при переводе вбезубыток

extern int     CloseProfit          = 0;     //прибыль для закрытия ордеров в валюте п (0-отключен)
extern int     CloseLoss            = 0;     //убыток для закрытия ордеров в валюте п (0-отключен)
extern int     TimeClose            = 0;     //закрываем все ордера в это время
extern int     Сдвиг.часового.пояса = 0;     //сдвиг часового пояса
extern int     Magic                = 0;     //уникальный номер ордеров этого советника, если 0 то ведет все ордера, в том числе выставленные вручную
extern bool    ShowParameters       = true;  //показывать информацию о настройках
extern color   TextColor            = Lime;  //цвет текста
extern color   FonColor             = Gray;  //цвет фона
extern bool    AlertON              = true;
extern string  soundCloseTime       = "alert.wav"; //Файл должен быть расположен в каталоге каталог_терминала\sounds или его подкаталоге. 
extern string  soundCloseProfit     = "ok.wav";
extern string  soundCloseLoss       = "news.wav";
extern string  soundErrorClose      = "alert2.wav";
extern string  soundClose           = "ok.wav";
 

Вложения

  • ExpertNET_v8.zip
    753,2 КБ · Просмотры: 515

cmillion

Гуру форума
Здравствуйте Владимир!
Давно интересуюсь Вашими сеточными советниками. Некоторые из них тестировал. В последнее время, занимаюсь тестированием Вашего советника SetkaProfitLimit v9а. Разрабатываю собственную методику торговли данным советником, в настройках использую стопы и профиты, но для моего метода в данном советнике не хватает одной детали. Буду весьма признателен, если Вы её добавите. Результаты тестов размещу на форуме. Суть дополнения к советнику, в следующем:
По моей методике, после закрытия ордера по стопу, необходим тайм-аут несколько часов. Нужно добавить функцию: "Тайм-аут после стопа". Время тайм-аута в часах. Но есть один нюанс: в настройках советника, я использую ограничение работы по времени (TimeStart TimeEnd). Поэтому, при простое советника в тайм-ауте, должно преобладать ограничение работы советника по времени. Например:
Ордер закрылся по стопу в 06.00, в настройках выставлена функция "Тайм-аут" 3 часа (в данном случае до 09.00), "TimeStart" установлен 8. В данной ситуации, советник должен начинать работу в 08.00, т.к. преобладает ограничение работы советника по времени. Ещё пример:
"TimeEnd" установлен 21, "TimeStart" 8, "Тайм-аут" 3. Произошло закрытие по стопу в 20.00, значит в это время советник останавливает работу, но не на 3 часа, а до 08.00, т.к. ограничение по времени преобладает.
[FONT=&quot]Заранее благодарен за доработку, если Вам это не составит большого труда.
[/FONT]

Давайте на следующей неделе посмотрю, пока много работы.
 

VVV1203VVV

Местный знаток
Приветствую всех. Скажите пожалуйста Сmillion а вы в силах добавить в последней версии вашего советника регулятор расстояния между селлстоп ордерами и буйстоп ордерами. Вот в данном советнике стоит 20 пунктов вот скрин.
 

Вложения

  • eurjpy-m5-e-global-trade.png
    eurjpy-m5-e-global-trade.png
    32,8 КБ · Просмотры: 236

cmillion

Гуру форума
Приветствую всех. Скажите пожалуйста Сmillion а вы в силах добавить в последней версии вашего советника регулятор расстояния между селлстоп ордерами и буйстоп ордерами. Вот в данном советнике стоит 20 пунктов вот скрин.

В нем есть параметр расстояние между ордерами, установите то, что Вам нужно. Главное не менее стоплевел чтобы первые ордера смогли открыться.
 

VVV1203VVV

Местный знаток
В нем есть параметр расстояние между ордерами, установите то, что Вам нужно. Главное не менее стоплевел чтобы первые ордера смогли открыться.
Я имею в виду между самими пачками сменить допустим на 80 пунктов расстояние а между ордерами оставить к примеру на 5 пунктов.
PHP код:
extern int * * STEP * * * * * * * * = 10, * *//шаг между ордерами
* * * * * * * *Orders * * * * * * * = 3, * * //кол-во ордеров в каждую сторону
* * * * * * * *Stoploss * * * * * * = 0, * * //стоплосс ордеров
* * * * * * * *Takeprofit * * * * * = 0; * * //тейкпрофит ордеров
extern double *FixPrice * * * * * * = 0.0; * //если=0 то то кол-во ордеров считаем от текущей цены, иначе от заданной
extern double *FixLot * * * * * * * = 0.1; * //если=0 то по risk
extern int * * risk * * * * * * * * = 100, * //ММ лот устанавливается как процент от свободных средств
* * * * * * * *Slippage * * * * * * = 3; * * //проскальзывание




extern int * * TrailingStop * * * * = 10; * *//если= 0, то трейлинг отключен
extern int * * TrailingStep * * * * = 10; * *//шаг изменения стопов
extern int * * NoLoss * * * * * * * = 0, * * //перевод в безубыток
* * * * * * * *MinProfitNoLoss * * *= 0; * * //минимальная прибыль при переводе вбезубыток




extern int * * CloseProfit * * * * *= 0; * * //прибыль для закрытия ордеров в валюте п (0-отключен)
extern int * * CloseLoss * * * * * *= 0; * * //убыток для закрытия ордеров в валюте п (0-отключен)
extern int * * TimeClose * * * * * *= 0; * * //закрываем все ордера в это время
extern int * * Сдвиг.часового.пояса = 0; * * //сдвиг часового пояса
extern int * * Magic * * * * * * * *= 0; * * //уникальный номер ордеров этого советника, если 0 то ведет все ордера, в том числе выставленные вручную
extern bool * *ShowParameters * * * = true; *//показывать информацию о настройках
extern color * TextColor * * * * * *= Lime; *//цвет текста
extern color * FonColor * * * * * * = Gray; *//цвет фона
extern bool * *AlertON * * * * * * *= true;
extern string *soundCloseTime * * * = "alert.wav"; //Файл должен быть расположен в каталоге каталог_терминала\sounds или его подкаталоге.*
extern string *soundCloseProfit * * = "ok.wav";
extern string *soundCloseLoss * * * = "news.wav";
extern string *soundErrorClose * * *= "alert2.wav";
extern string *soundClose * * * * * = "ok.wav"; *
Трейдеры потихому все прибыльней и прибыльней торгуют а ДЦ потихому плечи меняют вот уже у большинства 1-100.
 

Вложения

  • eurjpy-m5-e-global-trade.png
    eurjpy-m5-e-global-trade.png
    38,5 КБ · Просмотры: 133
Последнее редактирование:

cmillion

Гуру форума
Я имею в виду между самими пачками сменить допустим на 80 пунктов расстояние а между ордерами оставить к примеру на 5 пунктов.
PHP код:
extern int * * STEP * * * * * * * * = 10, * *//шаг между ордерами

Кто же Вам мешает установить STEP=5?

На этой паре в указанном Вами ДЦ уровень стоплевел 3, так что 5 вполне приемлимо даже при реальной торговле.
Для полной уверенности установил шаг 5, вот скрин

1.jpg

Начальный же шаг делать не буду, так как это нарушит логику советника.
 

cmillion

Гуру форума
НОВАЯ ВЕРСИЯ с "разруливанием" cm-PStopLock v7

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

PHP код:
extern int Orders_Lock = 10; //перевод всех ордеров в лок и начинаем разруливать последние если кол-во ордеров достигло Orders_Lock
extern int StepLimit = 10; //шаг лимитных (разруливающих ордеров)
extern double Percent_Lot = 5; //какой % ЛОТА максимально убыточного ордера начинаем разруливать
Как только кол-во ордеров достигает значения Orders_Lock советник локирует оставшиеся позиции и переходит в режим разруливателя.
Частями по Percent_Lot % пытается закрывать самые убыточные позиции. Далее выход по виртуальному траллу как и в первых версиях.



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

http://ruforum.mt5.com/attachment.php?

attachmentid=532783&d=1364448529&thumb=1

attachment.php
 

Вложения

  • cm-PStopLock v7.1.zip
    683,2 КБ · Просмотры: 391
Последнее редактирование:

VVV1203VVV

Местный знаток
Кто же Вам мешает установить STEP=5?

На этой паре в указанном Вами ДЦ уровень стоплевел 3, так что 5 вполне приемлимо даже при реальной торговле.
Для полной уверенности установил шаг 5, вот скрин

Посмотреть вложение 111868

Начальный же шаг делать не буду, так как это нарушит логику советника.

Ок, c настройками поигрался он и так хорош. STEP я вижу конечно, я его и не терял. Еслиб в него еще мартини приделать типа как у советника suicidio. Допустим сработал ордер на бай тут же нижней селлстоп удаляется и на его место ставиться селлстоп x2. ну или х1.2 Или вот еще идея такая есть к примеру загрузил советника на график он открыл сделки вывел в плюс все на этом стоп, больше не каких вновь открытий, выключаем сова тут же вновь включаем он открывает сделки до первого общего плюса и опять полный стоп пока сам не перезагрузишь.
 
Последнее редактирование:

cmillion

Гуру форума
МАРТИНИ

Cтавим 2 ордера sell и buy, после открытия одного из них, второй удаляем, если идет в минус то через 10 пунктов открываем противоположный ордер в 2 раза большим объемом, если опять идет в минус, то открываем противоположный ордер через 20 пунктов с лотом в 2 раза больше предыдущего, если опять идет в минус, то открываем противоположный ордер через 30 пунктов с лотом в 2 раза больше предыдущего, и.т.д. при таких условиях должно будет произойти много совпадений чтоб рынок слил депозит. Ну а при положительном развитии событий поставить хороший трал, чтоб можно было рассчитывать пунктов на 300 прибыли.
На ордера не ставим стоплос и профит а закрываем по общему профиту. Этой стратегии не страшны ни тренды, ни боковики, при тренде будет тралиться общий профит.


martin.gif


Параметры

PHP:
extern double  ProfitClose     = 0.5;  //закрывать все ордера при получении профита
extern double  TrailingPercent = 20;   //если 0 то ордера закрываются по ProfitClose иначе они тралятся, по TrailingProfit%
extern double  K_Profit        = 1.2;  //увеличивать профит закрытия с каждым лотом в N раз
extern double  N_Orders_NULL   = 5;    //закрывать все ордера в ноль при превышении кол-ва ордеров

extern int     Step           = 8;
extern double  K_Step         = 1.6,
               lot            = 0.01,
               K_Lot          = 1.6;
extern int     slippage       = 3,     //Максимально допустимое отклонение цены для рыночных ордеров (ордеров на покупку или продажу).
               magic          = 0;     //Магическое число ордера. Может использоваться как определяемый пользователем идентификатор.
 

Вложения

  • Martini 1.rar
    707,2 КБ · Просмотры: 459
Последнее редактирование:

Актёр Актёр

Местный житель
Получается в при неблагоприятном развитии событий убыточная позиция будет висеть , и непонятно сколько она провисит, так?
 

cmillion

Гуру форума
Получается в при неблагоприятном развитии событий убыточная позиция будет висеть , и непонятно сколько она провисит, так?

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

cmillion

Гуру форума
extern double ProfitClose = 0.5

Поясните, пожалуйста что означает данный парметр?

ProfitClose = 0.5; //закрывать все ордера при получении профита

Т.е. суммируем прибыль от всех ордеров в валюте депозита и как только она составит 50 центов включаем тралл профита.
 

VVV1203VVV

Местный знаток
Cтавим 2 ордера sell и buy, после открытия одного из них, второй удаляем, если идет в минус то через 10 пунктов открываем противоположный ордер в 2 раза большим объемом, если опять идет в минус, то открываем противоположный ордер через 20 пунктов с лотом в 2 раза больше предыдущего, если опять идет в минус, то открываем противоположный ордер через 30 пунктов с лотом в 2 раза больше предыдущего, и.т.д. при таких условиях должно будет произойти много совпадений чтоб рынок слил депозит. Ну а при положительном развитии событий поставить хороший трал, чтоб можно было рассчитывать пунктов на 300 прибыли.
На ордера не ставим стоплос и профит а закрываем по общему профиту. Этой стратегии не страшны ни тренды, ни боковики, при тренде будет тралиться общий профит.


Посмотреть вложение 111903


Параметры

PHP:
extern double  ProfitClose     = 0.5;  //закрывать все ордера при получении профита
extern double  TrailingPercent = 20;   //если 0 то ордера закрываются по ProfitClose иначе они тралятся, по TrailingProfit%
extern double  K_Profit        = 1.2;  //увеличивать профит закрытия с каждым лотом в N раз
extern double  N_Orders_NULL   = 5;    //закрывать все ордера в ноль при превышении кол-ва ордеров

extern int     Step           = 8;
extern double  K_Step         = 1.6,
               lot            = 0.01,
               K_Lot          = 1.6;
extern int     slippage       = 3,     //Максимально допустимое отклонение цены для рыночных ордеров (ордеров на покупку или продажу).
               magic          = 0;     //Магическое число ордера. Может использоваться как определяемый пользователем идентификатор.
Типа как Гойдавки только лучше. Спасибо автор.
 
Верх