Скачать MetaTrader 5

Как програмно перезагрузить чарт?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Проявляй активность в сообществе. Увеличивай ленту достижений!
Игорь
208
Игорь 2010.11.18 09:40 
HELP! Как програмно из советника перезагрузить (удалить - восстановить) соседнее окно графика, тем самым произвести переинициализации группы индикаторов, находящихся в нём?
Vadim Zhunko
5227
Vadim Zhunko 2010.11.18 12:07  
Игорь
208
Игорь 2010.11.18 12:40  

Я нашёл Вашу библиотеку (нужная штука!) и удалять нужное окно с помощью:

 // 1. Функция закрывает указанное окно графика.
 void ServiceCloseChart (int hChart); // Системный дескриптор закрываемого окна графика.
труда не составляет! Но как потом открыть только что удалённое окно?
hrenfx
3673
hrenfx 2010.11.18 15:35  
IgRU4ek:
HELP! Как програмно из советника перезагрузить (удалить - восстановить) соседнее окно графика, тем самым произвести переинициализации группы индикаторов, находящихся в нём?

Вам нужна переинициализация или удалить/открыть?

Если первое, то Refresh вам в помощь. 

Игорь
208
Игорь 2010.11.18 16:18  

Мне необходимо на чарте сделать принудительную програмную переинициализацию нескольких индикаторов. Мне показался приемлемым вариант путём удалить\восстановить чарт (график). на котором находятся эти индикаторы.

Про Refresh поподробнее, если возможно... Я такой функции в MQL4 не знааю.

Vadim Zhunko
5227
Vadim Zhunko 2010.11.18 16:18  
IgRU4ek:

Я нашёл Вашу библиотеку (нужная штука!) и удалять нужное окно с помощью:

  труда не составляет! Но как потом открыть только что удалённое окно? 

Для переинициализации не надо окно закрывать. Надо график обновить. Там в библиотеке, в конце, есть такие функции.

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

Vadim Zhunko
5227
Vadim Zhunko 2010.11.18 16:21  
hrenfx:

Вам нужна переинициализация или удалить/открыть?

Если первое, то Refresh вам в помощь. 

Рефреш не обновляет окно. Она только котировки обновляет для эксперта или индикатора. Там есть особенность. Каждый эксперт работает со своей копией таймсерии... и т.д. В справке есть про это.
Victor Nikolaev
Модератор
14524
Victor Nikolaev 2010.11.18 16:22  
Zhunko:
Для переинициализации не надо окно закрывать. Надо график обновить. Там в библиотеке, в конце, есть такие функции.


Вадим. Свой скайп может дашь. Обещаю сильно не беспокоить

Vadim Zhunko
5227
Vadim Zhunko 2010.11.18 16:25  
Vinin:


Вадим. Свой скайп может дашь. Обещаю сильно не беспокоить

Так, я везде по фамилии.
Игорь
208
Игорь 2010.11.18 16:30  

Вадим! Я несколько раз пересмотрел список функций в Вашей библиотеке ServicesMT4.dll, если в ней есть то, чего я не обнаружил, не сложно Вам указать название функции, с помощью которой я смогу ПЕРЕИНИЦИАЛИЗИРОВАТЬ все, находящиеся на данный момент на конкретном чарте индикаторы!

Поясню ещё раз! Не перерисовать последние показания индикаторов, а "перезагрузить" индикаторы.

Vadim Zhunko
5227
Vadim Zhunko 2010.11.18 16:31  
IgRU4ek:

Вадим! Я несколько раз пересмотрел список функций в Вашей библиотеке ServicesMT4.dll, если в ней есть то, чего я не обнаружил, не сложно Вам указать название функции, с помощью которой я смогу ПЕРЕИНИЦИАЛИЗИРОВАТЬ все, находящиеся на данный момент на конкретном чарте индикаторы!

Поясню ещё раз! Не перерисовать последние показания индикаторов, а "перезагрузить" индикаторы.

 //31. Функция эммулирует тик для эксперта на указанном графике.
 void ServiceTickExpert(int hChart); // Системный дескриптор окна графика, для эмуляции тика для эксперта.

 //32. Функция эммулирует тик для индикаторов на указанном графике.
 void ServiceTickIndicators(int hChart); // Системный дескриптор окна графика, для эмуляции тика для индикаторов.

Каждый тик запускает функцию start(). init() при этом не затрагивается. Вам надо ещё init() запустить?

Если это так, то это неграмотная реализация индикатора.

init() можно в  start() запустить, если надо. 

void start()
 {
  init();
  ...
  ...
 }

Ещё с помщью библиотеки можно удалить индикаторы и загрузить заново, можно закрыть график и открыть заново и загрузить на него индикаторы, скрипт или эксперт.

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