Советники: Well Martin - страница 3

 
BestBroker:
   bool Buy=Ask<BBLow[1] && ADX[1]<ADXLevel && (LastDealType()==0 || LastDealType()==2);
//--- Пробой нижней границы Bolinger Bands и противоположная сделка                             

   bool Sell=Bid>BBUp[1] && ADX[1]<ADXLevel && (LastDealType()==0 || LastDealType()==1)

 

Это означает что что производиться лишь проверка тренда перед входом по пробою BB?

т.е. если тренд по ADX бычий (+DI выше -DI) вход по пробою нижней границы BB осуществиться, а если же тренд по ADX медвежий (-DI выше +DI)  то при пробое нижней BB входа не будет?

 

Основная линия (MAIN_LINE) - вообще не в счет? 

1. У меня в тестере - сделки не открываются. В журналах сообщений об ошибках нет. Параметры поставил, как в картинке https://www.mql5.com/ru/code/13315

    Разбираюсь.

2. Исходя из кода:

 bool Buy=Ask<BBLow[1] && ADX[1]<ADXLevel && (LastDealType()==0 || LastDealType()==2);

речи о пересечении ценой линий ВВ на вход в позицию вообще не идёт.

Вот условия для бай:

Цена Аск инструмента ниже нижней полосы ВВ на первом сформировавшемся баре и значение АДХ от MAIN_LINE на первом сформировавшемся баре ниже значения его уровня ADXLevel (типа флет), причём предыдущая сделка в истории была бай или сделок не было вообще.

Для селл - зеркально. 

Well Martin
Well Martin
  • голосов: 12
  • 2015.06.25
  • Andrew Kornishkin
  • www.mql5.com
Советник Well Martin на основе двух индикаторов: Bollinger Bands и ADX.
 

Подскажите, как затестить его...

У меня сделки не открывает - журнал чист. Параметры все установил как надо: р-р депо 100 000, мин лот 1, при 10 000 и  мин лоте 0,1 - также не тестировался. Брокер БКС. МТ5. Значения внешних переменных как на картинке с первой страницы. EURUSD. M15. Причём тест идёт по OHLC по М1 с 2010 г. Плечо 1:100.

 
Roman Shiredchenko:

1. У меня в тестере - сделки не открываются. В журналах сообщений об ошибках нет. Параметры поставил, как в картинке https://www.mql5.com/ru/code/13315

    Разбираюсь.

2. Исходя из кода:

речи о пересечении ценой линий ВВ на вход в позицию вообще не идёт.

Вот условия для бай:

Цена Аск инструмента ниже нижней полосы ВВ на первом сформировавшемся баре и значение АДХ от MAIN_LINE на первом сформировавшемся баре ниже значения его уровня ADXLevel (типа флет), причём предыдущая сделка в истории была бай или сделок не было вообще.

Для селл - зеркально. 

Огромное спасибо за разъяснение!

 

Не открывает сделки исходя из того что сказали трудно сказать почему, я встречал много советников которые не открывали сделки при определенных tp и sl. Надо попробовать перебрать данные параметры.

Точно могу сказать что тестируется через терминал брокера-Открытие и демо-терминал форексного ДЦ Альпари.

 
BestBroker:

Огромное спасибо за разъяснение!

 

Не открывает сделки исходя из того что сказали трудно сказать почему, я встречал много советников которые не открывали сделки при определенных tp и sl. Надо попробовать перебрать данные параметры.

Точно могу сказать что тестируется через терминал брокера-Открытие и демо-терминал форексного ДЦ Альпари.------------------------------------------понял  благодарю. На открытии затестю.тут с мобильного не возможно написать нормально ответ.  курсор ПОСТОЯННО перескакивает в ваш пост. БАГ. напишу позже в сервис деск.











 
Roman Shiredchenko:
Обращайтесь по любым вопросам! 
 
СПАСИБО
 
Не могли бы вы добавить магическое число для советника? Спасибо.
 

Спасибо за этот маленький простой пример с использованием индикатора BB+ADX.

После некоторых улучшений (особенно добавления +DI, -DI), я получил очень хорошие результаты.

Позвольте мне обратить внимание на функцию "IsNewBar", которая не работает:

Переменная "m_TOld" не статична и всегда будет отличаться от"TNew".

Вы можете заменить ее на эту : (см.: https://www.mql5.com/ru/articles/22).

//+------------------------------------------------------------------+
//| Возвращает true, если для пары символ/период появился новый бар |
//+------------------------------------------------------------------+
bool isNewBar()
  {
//--- запомните время открытия последнего бара в статической переменной
   static datetime last_time=0;
//--- текущее время
   datetime lastbar_time=SeriesInfoInteger(Symbol(),Period(),SERIES_LASTBAR_DATE);

//--- если это первый вызов функции
   if(last_time==0)
     {
      //--- установите время и выйдите
      last_time=lastbar_time;
      return(false);
     }

//--- если время отличается
   if(last_time!=lastbar_time)
     {
      //--- запомните время и верните true
      last_time=lastbar_time;
      return(true);
     }
//--- если мы дошли до этой строки, то бар не новый; return false
   return(false);
  }

И теперь проблемы больше нет.

С наилучшими пожеланиями ;)

The "New Bar" Event Handler
The "New Bar" Event Handler
  • www.mql5.com
MQL5 programming language is capable of solving problems on a brand new level. Even those tasks, that already have such solutions, thanks to object oriented programming can rise to a higher level. In this article we take a specially simple example of checking new bar on a chart, that was transformed into rather powerful and versatile tool. What tool? Find out in this article.