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

 
Alexey Viktorov #:

Самое простое, поставьте шлагбаум. Открыто — создаём график, закрываем шлагбаум.

Советник мультивалютник и получает инфу из других источников через коннектор, проверяет есть ли символ ( около 160 инструментов) в терминале и дальше должен открыть график этого символа. 

сигналов не так много в день по 10-20 инструментам.Триггер ставить сильно хлопотно по 160 инструментам. 

 
Evgeniy Zykov #:

Советник мультивалютник и получает инфу из других источников через коннектор, проверяет есть ли символ ( около 160 инструментов) в терминале и дальше должен открыть график этого символа. 

сигналов не так много в день по 10-20 инструментам.Триггер ставить сильно хлопотно по 160 инструментам. 

Ну так если проверяет, то какие проблемы могут быть? Нет символа — создаём. Есть символ — курим бамбук…

 
Alexey Viktorov #:

Ну так если проверяет, то какие проблемы могут быть? Нет символа — создаём. Есть символ — курим бамбук…

Приходит сигнал, сов проверяет и открывает график. через пол часа приходит новый сигнал по этому символу он открывает еще график и так далле. к вечеру 5 одинаковых графиков. По 10 символам к вечеру 50 графиков.

А должно быть 10. Как сделать проверку открыт ли график по конкретному символу? Проверяет есть ли символ вообще в терминале у брокера

 
Evgeniy Zykov #:

Приходит сигнал, сов проверяет и открывает график. через пол часа приходит новый сигнал по этому символу он открывает еще график и так далле. к вечеру 5 одинаковых графиков. По 10 символам к вечеру 50 графиков.

А должно быть 10. Как сделать проверку открыт ли график по конкретному символу? Проверяет есть ли символ вообще в терминале у брокера

Ну тогда простой вариант перебрать все открытые графики проверив символ…

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

 
Alexey Viktorov #:
Ну тогда простой вариант перебрать все открытые графики проверив символ…

как сделать эту проверку? помогите пожалуйста. 

 
Evgeniy Zykov #:

как сделать эту проверку? помогите пожалуйста. 

Ну так, в документации сразу после ChartOpen идёт ChartFirst и ChartNext там есть пример функции. Правда его можно сильно упростить, но после смерти SSD готового варианта у меня нет, а писать лениво…

 
Evgeniy Zykov #:

как сделать эту проверку? помогите пожалуйста. 

Если МТ5, то вот здесь есть перебор всех открытых графиков.

Kin_Dza_Dza
Kin_Dza_Dza
  • www.mql5.com
Советник Kin_Dza_Dza меняет цвет фона графика.
 
Aleksandr Slavskii #:

Если МТ5, то вот здесь есть перебор всех открытых граф

Alexey Viktorov #:
Ну так, в документации сразу после ChartOpen идёт ChartFirst и ChartNext там есть пример функции.

Спасибо всем за подсказки и примеры. Думаю дальше разберусь.

 
Evgeniy Zykov #:

Спасибо всем за подсказки и примеры. Думаю дальше разберусь.

Да что-то у меня лень пропала…

bool ScrollingCharts(string symbol)
 {
  long currChart=ChartFirst();
  while(currChart>0 && !_StopFlag)
   {
    string currSymbol = ChartSymbol(currChart);
    if(currSymbol == symbol)
      return true;
    currChart=ChartNext(currChart);
   }
  return false;
 }/******************************************************************/
 
Evgeniy Zykov #:

Спасибо всем за подсказки и примеры. Думаю дальше разберусь.

Не нужно вообще открывать графики для торговли.