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

cmillion

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

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

стас0202

Местный знаток
Да возможно. Я для этого и написал данный советник, чтобы все самостоятельно могли проверять любой индикатор.
Если у Вас не получается, то выкладывайте индикатор сюда и по мере возможности я помогу его настроить.

Ну вот смотрите, принцип такой, есть некий индикатор, например МА, к нему через "применить к" привязан RSI. И необходим советник, который бы открывал сделки на пересечениях RSI уровня 50.
 

Вложения

  • 2.jpg
    2.jpg
    132 КБ · Просмотры: 326

cmillion

Гуру форума
Ну вот смотрите, принцип такой, есть некий индикатор, например МА, к нему через "применить к" привязан RSI. И необходим советник, который бы открывал сделки на пересечениях RSI уровня 50.

как называется индикатор?
Он выполнен отдельным файлом?
 

ALEX_SPB

Новичок форума
Пока советник открывает не более 1 позиции в каждом направлении. Сети в нем не предусмотрены. Возможно в дальнейшем добавлю...

В таком виде провести корректный тест не получится, так как советник открывает только 1 сделку.

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

Вывод: Надо допиливать советник :) На данном этапе - это демо версия.
 

Вложения

  • Пример_5.JPG
    Пример_5.JPG
    70,3 КБ · Просмотры: 233

cmillion

Гуру форума
В таком виде провести корректный тест не получится, так как советник открывает только 1 сделку.

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

Вывод: Надо допиливать советник :) На данном этапе - это демо версия.

Это абсолютно полноценный советник (не демо) Он предназначен открывать позиции по сигналам индикатора. Его основная задача проверить на истории любой индикатор. Но он так же может полноценно торговать и на реале.
Если Для Вас важно открывать сотни позиций, заниматься усреднением или ставить сети, то Вы можете посмотреть другие мои советники. Уверен, что найдете для себя нужный.
На этом этапе я считаю, что пока не отработан первый сигнал, переходить к другому рано. Во всяком случае бесконтрольно открывать на каждом сигнале просто глупо!
 

некто

Местный знаток
cmillion, некоторые сигналы могут быть более эффективны во время определённых торговых сессий и тайм фильтр на открытие сделки (начало торговли-окончание торговли) в подобных ситуациях может быть полезен для тестирования. Закрытие - стоплосс/тейкпрофит/время (если установлено).
 

cmillion

Гуру форума
cmillion, некоторые сигналы могут быть более эффективны во время определённых торговых сессий и тайм фильтр на открытие сделки (начало торговли-окончание торговли) в подобных ситуациях может быть полезен для тестирования. Закрытие - стоплосс/тейкпрофит/время (если установлено).

добавил время работы советника
TimeStart = 0 , //время начала работы советника
TimeEnd = 24; //время окончания работы советника
Время задается в часах.
Советник открывает новые позиции только в момент времени между TimeStart и TimeEnd.
Если TimeStart > TimeEnd, например с 23 до 8, то торговля разрешена только ночью.
 

Вложения

  • cm ea iCustom time.ex4
    33,5 КБ · Просмотры: 227

Alexander82

Прохожий
Очень хорошая задумка, хотел как раз найти что-то подобное. Спасибо cmillion.

Может кто-нибудь выложить скриншот нижней части меню настроек советника. Верхнюю уже выкладовыли. У меня комп русские буквы не читает
 

cmillion

Гуру форума
Очень хорошая задумка, хотел как раз найти что-то подобное. Спасибо cmillion.

Может кто-нибудь выложить скриншот нижней части меню настроек советника. Верхнюю уже выкладовыли. У меня комп русские буквы не читает

Вот описание всех настроей

HTML:
extern string  INDICATOR_1          = "";//индикатор буферов
extern int     Buffer_1_1           = 4;           //номер буфера на покупку
extern int     Buffer_1_2           = 5;           //номер буфера на продажу
extern int     null1                = EMPTY_VALUE; //нулевое значение EMPTY_VALUE
extern int     SignalBar_1          = 1;           //бар на котором ждем сигнал (0- текущий  1 - прошлый)

extern string  __          = "";
extern string  INDICATOR_2          = "";//индикатор буферов
extern int     Buffer_2_1           = 0;           //номер буфера на покупку
extern int     Buffer_2_2           = 1;           //номер буфера на продажу
extern int     null2                = EMPTY_VALUE; //нулевое значение EMPTY_VALUE
extern int     SignalBar_2          = 1;           //бар на котором ждем сигнал (0- текущий  1 - прошлый)


extern string  ___          = "";//индикатор пересечение уровня
extern string  INDICATOR_3          = "";
extern int     Buffer_3_1           = 0;           //номер буфера 3го индикатора сигнала на покупку
extern double  levelBuy             = 0;           //уровень на покупку
extern double  levelSell            = 0;           //уровень на продажу
extern int     SignalBar_3          = 1;           //бар на котором ждем сигнал (0- текущий  1 - прошлый)


extern string  ____          = "";//индикатор направления линии (линия вверх - buy) 
extern string  INDICATOR_4          = "Step Kwan averages fl's";
extern int     Buffer_4_1           = 0;           //номер буфера 3го индикатора сигнала на покупку
extern int     SignalBar_4          = 1;           //бар на котором ждем сигнал (0- текущий  1 - прошлый)

extern string  _____          = "";
extern bool    CloseRevers          = true;       //закрывать ордера при встречном сигнале.
extern double  Lot                  = 0.01;        //лот
extern int     Stoploss             = 0;          //стоплосс (0-отключен)
extern int     Takeprofit           = 0;          //тейкпрофит (0-отключен)
extern int     TrailingStop         = 0,           //трейлингстоп, если 0, то нет трейлинга
               TrailingStart        = 0,           //старт трейлинга
               TrailingStep         = 0;           //шаг трала
extern int     TimeStart            = 0 ,    //время начала работы советника
               TimeEnd              = 24;    //время окончания работы советника
extern int     slippage             = 20;          // проскальзывание
extern int     Magic                = 0;           
//--------------------------------------------------------------------

В приложении советник с параметрами на английском.
 

Вложения

  • cm ea iCustom time.ex4
    37,1 КБ · Просмотры: 111

kadet

Новичок форума
Добрый день. Пожалуйста внесите в данный советник дополнительные функции-
1. Умножитель лота, что бы после каждой убыточной сделки следующий ордер открывался объемом больше на установленный коэффициент.

2. - СloseOrder = true| false( true - при смене сигнала советник закрывает ордер, тем самым в рынке не более одного ордера \ false- при смене сигнала советник не закрывает ордера, а открывает новые при поступлении нового сигнала, тем самым происходит набор ордеров неограниченное кол-во на сколько хватит депозита.)
3. - OpenOrder= true\ false ( true- при запуске советник открывает ордер сразу если есть сигнал \ false - при запуске советник если есть сигнал игнорирует его и ждет пока не будет смена сигналов)

4. План на торговый день - 0(отключен)/ 100 по достижению данной сумы советник закрывает ордера и больше на работает в этот календарный день.
 

cmillion

Гуру форума
2. - СloseOrder = true| false( true - при смене сигнала советник закрывает ордер, тем самым в рынке не более одного ордера \ false- при смене сигнала советник не закрывает ордера, а открывает новые при поступлении нового сигнала, тем самым происходит набор ордеров неограниченное кол-во на сколько хватит депозита.)

В советнике есть параметр
CloseRevers = true; //закрывать ордера при встречном сигнале.

3. - OpenOrder= true\ false ( true- при запуске советник открывает ордер сразу если есть сигнал \ false - при запуске советник если есть сигнал игнорирует его и ждет пока не будет смена сигналов)

Обычно сигналом является стрелка или точка смены цвета или пересечения. Такой сигнал можно настроить в данном советнике если анализировать 2 последних бара (выше я давал пример). Советник будет открывать точно при появлении нового сигнала.

Добрый день. Пожалуйста внесите в данный советник дополнительные функции-
1. Умножитель лота, что бы после каждой убыточной сделки следующий ордер открывался объемом больше на установленный коэффициент.

4. План на торговый день - 0(отключен)/ 100 по достижению данной сумы советник закрывает ордера и больше на работает в этот календарный день.

Такие функции я обязательно добавлю как только будет на это время.
 

kadet

Новичок форума
в советнике есть параметр нулевое значение EMPTY_VALUE где вписана 10-ти значная цифра. Она остается неприкосновенна при любом индикаторе или надо ее менять?
 

cmillion

Гуру форума
в советнике есть параметр нулевое значение EMPTY_VALUE где вписана 10-ти значная цифра. Она остается неприкосновенна при любом индикаторе или надо ее менять?

В некоторых индикаторах нулевое значение задается конкретным числом, например 0. В этом случае нужно указывать там 0.
 

svf1

Новичок форума
Так как настройки индикаторов не выводятся в советник, оптимизировать его не получится
 

kadet

Новичок форума
В советнике есть параметр
CloseRevers = true; //закрывать ордера при встречном сигнале.
В последнем варианте советника(где есть время сесий) сделал по вашему совету установил CloseRevers = false; что бы советник не закрывал ордера по новому сигналу, и первые два ордера были открыты по сигналу индикатора а дальше сигналы игнорируются советником? ( индикатор и скрины прикрепил)
 

Вложения

  • канадец.JPG
    канадец.JPG
    105,6 КБ · Просмотры: 428
  • канад.JPG
    канад.JPG
    63,8 КБ · Просмотры: 396
  • beforexguru alert.mq4
    18,3 КБ · Просмотры: 104

ZADEL_21

Активный участник
Кроме того что Kadet попросил, можно еще добавить ограничение количества открытых ордеров в одну сторону. Что бы в случае перерисовки сигнала, советник не открывал неограниченное количество ордеров, до слива депозита.
 
Последнее редактирование:

cmillion

Гуру форума
В последнем варианте советника(где есть время сесий) сделал по вашему совету установил CloseRevers = false; что бы советник не закрывал ордера по новому сигналу, и первые два ордера были открыты по сигналу индикатора а дальше сигналы игнорируются советником? ( индикатор и скрины прикрепил)

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

kadet

Новичок форума
Все верно, пока не закрыта позиция, новая в этом направлении не открывается. Установите стоплосс и тейкпрофит и позиции будут по ним закрываться. А на следующем сигнале откроются новые....
Тогда это не совсем то что я попросил(2. - СloseOrder = true| false( true - при смене сигнала советник закрывает ордер, тем самым в рынке не более одного ордера \ false- при смене сигнала советник не закрывает ордера, а открывает новые при поступлении нового сигнала, тем самым происходит набор ордеров неограниченное кол-во на сколько хватит депозита.) Смысл что бы шел постоянный набор ордеров
 
Верх