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

 
MakarFX:

Этот вопрос решается проще:

Ну то же самое, идёт проработка для каждого таймфрейма, только через переменные, единственное что мы не знаем это идею, но это нам и не нужно т.к. их можно великое множество придумать.

 

Здраствуйте! Помогите сделать следующее:

есть стандартный индикатор АО

 AO_0 = iAO(NULL, PERIOD_M5, 0);
 AO_1 = iAO(NULL, PERIOD_M5, 1);




AO_0-15 = iAO(NULL, PERIOD_M15 , 0);
AO_1-15 = iAO(NULL, PERIOD_M15 , 1);




AO_0-30 = iAO(NULL, PERIOD_M30, 0);
AO_1-30 = iAO(NULL, PERIOD_M30, 1);




AO_0-1 = iAO(NULL, PERIOD_H1, 0);
AO_1-1 = iAO(NULL, PERIOD_H1, 1);

нужно сделать, что бы сигнал срабатывал на красной(вниз) и на зеленой(вверх) и одновременно следил за более старшими тайфреймами, (PERIOD_M15 и PERIOD_M30PERIOD_H1), что бы они были того же цвета.... тоесть на М5 он ловит сигнал, а старшие таймфреймы просто как фильтр...

как делать пересечение я знаю:

   if(AO_0 < AO_1)
     {
      сигнал вниз
     }
   if(AO_0 > AO_1)
     {
      сигнал вверх
     }

а вот как отслеживать старшие таймфреймы нет!!! расскажите пожалуйста???

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Периоды графиков
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Периоды графиков
  • www.mql5.com
Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор PERIOD_CURRENT означает текущий период графика, на котором запущена mql5-программа.
 

Как определить что сменился символ?

void OnDeinit(const int reason)
{
   // 3 - Символ или период графика был изменен
   if (reason == REASON_CHARTCHANGE)
   {

Почему то эти два события объединены в одно, при смене ТФ мне ни чего делать не надо, а вот при смене символа, надо! Приходится запоминать текущий символ в объекте на графике и в OnInit() сравнивать его с текущим, как то не прикольно, может есть более красивые решения?

void OnDeinit(const int reason)
{
   // 6 - Активирован другой счет
   if (reason == REASON_ACCOUNT)
   {

И почему в МТ4 не прилетает событие при смене счета? или я что то не так понял и оно не должно приходить? Приходится тоже самое делать, запоминать счет в объект на графике и анализировать в OnTimer()

Речь про индикатор, не про эксперт, MT4 build 1260
 

Мне нужно создать точечный рисунок, то есть картинку в формате PBM для создания графического ресурса

В редакторе Adobe Photoshop CS6 есть такой формат


... но когда я пытаюсь его просто открыть и посмотреть вот что происходит


... при том что стандартные точечные рисунки из папки MQL5/Images открывает


В чём ошибка?

 
Alexandr Sokolov:

Мне нужно создать точечный рисунок, то есть картинку в формате PBM для создания графического ресурса

В редакторе Adobe Photoshop CS6 есть такой формат


... но когда я пытаюсь его просто открыть и посмотреть вот что происходит


... при том что стандартные точечные рисунки из папки MQL5/Images открывает


В чём ошибка?

Вы путаете формат PBM и BMP который подходит для создания ресурса.

 
Alexey Viktorov:

Вы путаете формат PBM и BMP который подходит для создания ресурса.

Спасибо, не заметил

 
pivalexander:

Как определить что сменился символ?

Почему то эти два события объединены в одно, при смене ТФ мне ни чего делать не надо, а вот при смене символа, надо! Приходится запоминать текущий символ в объекте на графике и в OnInit() сравнивать его с текущим, как то не прикольно, может есть более красивые решения?

И почему в МТ4 не прилетает событие при смене счета? или я что то не так понял и оно не должно приходить? Приходится тоже самое делать, запоминать счет в объект на графике и анализировать в OnTimer()

Речь про индикатор, не про эксперт, MT4 build 1260

там в общем проблема, что при переключении ТФ... да и скорее всего при любом вызове OnDeinit 

будет создан новый индикатор, вот обсуждали https://www.mql5.com/ru/forum/287677/page2#comment_9244404

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

в общем очень не удобно сделали

 

Добрый день!

Как запретить "сдвиг графика"?

Поясню:

-- если выбрать "перекрестие" (Crosshair, Ctrl+F) то когда при нажатой левой кнопке мыши ее (мышь) перемещаешь по графику видимая часть графика НЕ СДВИГАЕТСЯ (по шкале врмени).

-- если без "перекрестия" - то при зажатой левой кнопке мыши график СДВИГАЕТСЯ (по шкале времени) в зависимости от направления движения мыши (вправо/влево).

Собственно вопрос: как добиться неподвижного положения графика при перемещении мыши с нажатой левой кнопкой (как в случае с включенным перекрестием, но только без включения режима "перекрестия") ?

Буду рад любым рекомендациям. 

 
Maksims Ignatovs:

Добрый день!

Как запретить "сдвиг графика"?

Поясню:

-- если выбрать "перекрестие" (Crosshair, Ctrl+F) то когда при нажатой левой кнопке мыши ее (мышь) перемещаешь по графику видимая часть графика НЕ СДВИГАЕТСЯ (по шкале врмени).

-- если без "перекрестия" - то при зажатой левой кнопке мыши график СДВИГАЕТСЯ (по шкале времени) в зависимости от направления движения мыши (вправо/влево).

Собственно вопрос: как добиться неподвижного положения графика при перемещении мыши с нажатой левой кнопкой (как в случае с включенным перекрестием, но только без включения режима "перекрестия") ?

Буду рад любым рекомендациям. 

Тут лучшая рекомендация - чаще читать справку.

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

В частности - прокрутка графика левой кнопкой мышки.

Документация по MQL5: Операции с графиками / ChartSetInteger
Документация по MQL5: Операции с графиками / ChartSetInteger
  • www.mql5.com
Задает значение соответствующего свойства указанного графика. Свойство графика должно быть типов datetime, int, color, bool или char. Отданная команда поступает в очередь сообщений графика и выполняется только после обработки всех предыдущих команд. [in]  Номер подокна графика. Для первого варианта по умолчанию значение равно 0 (главное окно...
 

Уважаемые трейдеры, добрый день!

Всех с прошедшим...

Помогите пожалуйста со следующим вопросом

Индикатор дает сигнал на открытие позиции с самого начала нулевой свечи, как сделать задержку сигнала на одну свечу позже т.е. появился сигнал и прежде чем открыть позицию надо подождать еще свечу и посмотреть какая она будет (быки или медведи). Спасибо.

Причина обращения: