Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 309

 

Доброго времени суток. подскажите пожалуйста, почему советник устанавливает огромное количество объектов (стрелка вниз), а стрелка вверх не ставиться???

Задача следующая: Советник должен находить паттерн Доджи на H4 вне зависимости, на каком ТФ открыт график. И при закрытии 4-х часовой Доджи должен выставить стрелочку вверх или вниз, в зависимости от конфигурации паттерна.

Проверьте пожалуйста ошибки в коде.

Спасибо

Файлы:
111.mq4  8 kb
 
Что может вызвать удаление советника при переключении таймфрейма на графике?
 

Здравствуйте. Пользовательский индикатор (вернее их несколько), в отдельном окне, рисует гистограммы двух цветов - синий и красный. Как передать его значения в советник - например, синий цвет гистограммы, сигнал на покупку; красный - на продажу. Через iCustom(..., buffer, shift), не могу понять как. В инете ни чего не нашел, вернее один вариант нашел, но, мне кажется, он не правильный.  Может кто подскажет?

 
Youri Lazurenko:

Здравствуйте. Пользовательский индикатор (вернее их несколько), в отдельном окне, рисует гистограммы двух цветов - синий и красный. Как передать его значения в советник - например, синий цвет гистограммы, сигнал на покупку; красный - на продажу. Через iCustom(..., buffer, shift), мне кажется не совсем правильно. Не могу найти ответа в инете. Может кто подскажет?

Именно через iCustom() - поглядите какой буфер имеет синий цвет, а какой - красный. С них и получайте нужные значения. Цвет буфера совсем не важен, важны значения буфера. А цвет может быть у них и одинаковым - цвет нужен лишь для ваших глаз, но не для советника.

 
Youri Lazurenko:

Здравствуйте. Пользовательский индикатор (вернее их несколько), в отдельном окне, рисует гистограммы двух цветов - синий и красный. Как передать его значения в советник - например, синий цвет гистограммы, сигнал на покупку; красный - на продажу. Через iCustom(..., buffer, shift), мне кажется не совсем правильно. Не могу найти ответа в инете. Может кто подскажет?

 
Вбуфере 0 данные индикатора а в буфере 1 цвета либо один цвет либо второй по очереди 

 
Alexander Zhmurenko:
Что может вызвать удаление советника при переключении таймфрейма на графике?
 
Alexander Zhmurenko:

Читайте журнал, возможно "выход за пределы массива"

 
Artyom Trishkin:

Именно через iCustom() - поглядите какой буфер имеет синий цвет, а какой - красный. С них и получайте нужные значения. Цвет буфера совсем не важен, важны значения буфера. А цвет может быть у них и одинаковым - цвет нужен лишь для ваших глаз, но не для советника.


Спасибо за ответ. Я это понимаю, на счет цвета и значений, не могу понять как правильно. Например вот конец кода индикатора

if(ExtMapBuffer1[b]>ExtMapBuffer2[b])
{
   ExtHBuffer1[b]=1;
   ExtHBuffer2[b]=0;
   }
   else
   {
      ExtHBuffer1[b]=0;
      ExtHBuffer2[b]=1;
   }

// ExtHBuffer1[b] - синий (SetIndexBuffer(0, ExtHBuffer1)); ExtHBuffer2[b] - красный (SetIndexBuffer(1, ExtHBuffer2). Если создать функцию и написать так, будет правильно?

string GetEmotion(int tf, int shift) { string col = red; double ind = iCustom(NULL, tf, "Symphonie_Emotion_Indicatorv_v3.0", SSP, Kmax, CountBars, 0, shift); if(ind != 0) col = aqua; return(col); }

 
Youri Lazurenko:

Спасибо за ответ. Я это понимаю, на счет цвета и значений, не могу понять как правильно. Например вот конец кода индикатора

Индикатор можете дать? Что показывается в окне данных (Ctrl+D) когда мышкой водите по барам индикатора? Сколько там буферов, и какие в них значения?