Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Создавай интересные темы на форуме по автоматическому трейдингу!
alexey
15
alexey 2012.03.19 13:19 

Доброго!

Никогда до селе не работал с mql4, если вопрос детский, просьба сильно не пинать :)

Вообщем нужно мне написать довольно простой индикатор, который ориентируется не на цену, а на время. Например, мы знаем, что рынок "размазан" по всему миру, но есть ключевые точки. Но они начинают и заканчивают свою работу не одновременно. Так вот, в индикаторе нужно, ориентируясь на время в окне, рисовать разноцветные линии. Начало линии - начало работы "точки" (напр. Лондон) - конец линии - "точка" закрылась и т.д. Я смотрел справочник - ф-ию ObjectCreate, но она не позволяет подобную линию нарисовать. Подскажите, пожалуйста, как это можно сделать? (весь код не нужен, естественно, просто рисование линии, ориентируясь на дату/время). Пример индикатора - ниже: (линии от балды дорисовал в паинте :)).

Заранее большое спасибо!

Anatolij Anufriev
4070
Anatolij Anufriev 2012.03.19 13:22  

может поможет

https://www.mql5.com/ru/code/7753

Картинка:

Пример работы индикатора:

https://www.mql5.com/ru/code/9313

alexey
15
alexey 2012.03.19 13:55  
Большое спасибо! То, что надо))
alexey
15
alexey 2012.03.19 15:24  

Еще пару вопросов.

Чуть разобрал код программы. Она прорисовывает каждый раз при приходе тика, как и многие другие индикаторы. Если указано небольшое кол-во торговых сессий - все хорошо. При большом кол-ве сессий возникает проблема. Отрисовка проходит медленно и программа подвисает. На ум приходит такое решение - рисовать линии только в видимом диапазоне. Т.е. вопрос номер раз, как определить текущее видимое время на графике? Может как-то ориентироваться на бары, показанные в данный момент? Ну и резонно - как узнать, что мы "перелистали" график вперед или назад, чтоб заново отрисовать?

С уважением.

Roman Kutemov
1725
Roman Kutemov 2012.03.19 15:29  
alexeykkk:

Еще пару вопросов.

Чуть разобрал код программы. Она прорисовывает каждый раз при приходе тика, как и многие другие индикаторы. Если указано небольшое кол-во торговых сессий - все хорошо. При большом кол-ве сессий возникает проблема. Отрисовка проходит медленно и программа подвисает. На ум приходит такое решение - рисовать линии только в видимом диапазоне. Т.е. вопрос номер раз, как определить текущее видимое время на графике? Может как-то ориентироваться на бары, показанные в данный момент? Ну и резонно - как узнать, что мы "перелистали" график вперед или назад, чтоб заново отрисовать?

С уважением.

Пусть индикатор рисует линии раз в сутки, с началом нового дня.

poruchik
908
poruchik 2012.03.19 16:34  
Файлы:
alexey
15
alexey 2012.03.19 17:12  

за основу взял самый простой i-Sessions. Просто переместил все функции рисования из Start() в Init(), программа "подвисает" только разово при запуске.

Всем спасибо!

Alexey Subbotin
4999
Alexey Subbotin 2012.03.19 18:23  
alexeykkk:

Еще пару вопросов.

Чуть разобрал код программы. Она прорисовывает каждый раз при приходе тика, как и многие другие индикаторы. Если указано небольшое кол-во торговых сессий - все хорошо. При большом кол-ве сессий возникает проблема. Отрисовка проходит медленно и программа подвисает. На ум приходит такое решение - рисовать линии только в видимом диапазоне. Т.е. вопрос номер раз, как определить текущее видимое время на графике? Может как-то ориентироваться на бары, показанные в данный момент? Ну и резонно - как узнать, что мы "перелистали" график вперед или назад, чтоб заново отрисовать?

С уважением.

На этот случай есть функции WindowFirstVisibleBar() и WindowBarsPerChart()
poruchik
908
poruchik 2012.03.20 06:11  

Такой еще

Файлы:
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий