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

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

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

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

Вложения

  • 2.jpg
    2.jpg
    132 КБ · Просмотры: 353
Ну вот смотрите, принцип такой, есть некий индикатор, например МА, к нему через "применить к" привязан RSI. И необходим советник, который бы открывал сделки на пересечениях RSI уровня 50.

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

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

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

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

Вложения

  • Пример_5.JPG
    Пример_5.JPG
    70,3 КБ · Просмотры: 255
В таком виде провести корректный тест не получится, так как советник открывает только 1 сделку.

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

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

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

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

Вложения

Очень хорошая задумка, хотел как раз найти что-то подобное. Спасибо 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;           
//--------------------------------------------------------------------

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

Вложения

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

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

4. План на торговый день - 0(отключен)/ 100 по достижению данной сумы советник закрывает ордера и больше на работает в этот календарный день.
 
2. - СloseOrder = true| false( true - при смене сигнала советник закрывает ордер, тем самым в рынке не более одного ордера \ false- при смене сигнала советник не закрывает ордера, а открывает новые при поступлении нового сигнала, тем самым происходит набор ордеров неограниченное кол-во на сколько хватит депозита.)

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

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

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

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

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

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

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

Вложения

  • канадец.JPG
    канадец.JPG
    105,6 КБ · Просмотры: 472
  • канад.JPG
    канад.JPG
    63,8 КБ · Просмотры: 440
  • beforexguru alert.mq4
    beforexguru alert.mq4
    18,3 КБ · Просмотры: 119
Кроме того что Kadet попросил, можно еще добавить ограничение количества открытых ордеров в одну сторону. Что бы в случае перерисовки сигнала, советник не открывал неограниченное количество ордеров, до слива депозита.
 
Последнее редактирование:
В последнем варианте советника(где есть время сесий) сделал по вашему совету установил CloseRevers = false; что бы советник не закрывал ордера по новому сигналу, и первые два ордера были открыты по сигналу индикатора а дальше сигналы игнорируются советником? ( индикатор и скрины прикрепил)

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

Посмотрели (324) Посмотреть

Назад
Верх