Как получить список всех экспертов, которые работают в терминале на текущий момент? - страница 2

 
leon_17 #:
Подскажите, а программно нельзя выгрузить избранные советники из полученного списка? Ну или сразу все... скриптом?

Что значит "выгрузить"?

 
leon_17 #:
Подскажите, а программно нельзя выгрузить избранные советники из полученного списка? Ну или сразу все... скриптом?

Так, чтобы в живых остался только один (текущий) - нет. Но есть радикальный способ ))

TerminalClose();
 
Ihor Herasko #:

Так, чтобы в живых остался только один (текущий) - нет. Но есть радикальный способ ))

А программно удалить терминал нет функции в MQL5?

 
Ihor Herasko #:

Так, чтобы в живых остался только один (текущий) - нет. Но есть радикальный способ ))

Я как-то толком и не понял как можно правильно использовать данную возможность. Если выключать скриптом, то потом при включении терминала советники начнут сразу снова работать. А если выключать терминал советником, то вообще цикл получится, юзер включает, советник сразу выключает. Единственным вариантом представляется предварительное отключение инета перед ручным запуском терминала. 

 
Можно попробовать закрыть график с ненужным экспертом - ChartClose или загрузить на график шаблон без эксперта - ChartApplyTemplate.
 
leon_17 #:

Я как-то толком и не понял как можно правильно использовать данную возможность. Если выключать скриптом, то потом при включении терминала советники начнут сразу снова работать. А если выключать терминал советником, то вообще цикл получится, юзер включает, советник сразу выключает. Единственным вариантом представляется предварительное отключение инета перед ручным запуском терминала. 

Я ж говорю - способ радикальный )) Он выключает вообще все эксперты. Я так понимаю, что требуется выключить все, кроме одного. В таком случае, действительно, реальный способ указан вот здесь.

Как получить список всех экспертов, которые работают в терминале на текущий момент?
Как получить список всех экспертов, которые работают в терминале на текущий момент?
  • 2022.10.20
  • www.mql5.com
Требуется определить какие и сколько всего советников активно в терминале на текущий момент (включая и те случаи, когда на одном инструменте работа...
 
leon_17 #:
Подскажите, а программно нельзя выгрузить избранные советники из полученного списка? Ну или сразу все... скриптом?

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

 

Идея с закрытием графика с экспертом кажется замечательной! Сам бы не додумался, большое всем спасибо! 

p.s. интересно будет потестить и то действительно ли выгрузит эксперт редактирование шаблона графика...

 
leon_17 #:

Идея с закрытием графика с экспертом кажется замечательной! Сам бы не додумался, большое всем спасибо! 

p.s. интересно будет потестить и то действительно ли выгрузит эксперт редактирование шаблона графика...

При закрытии окна отработает ОнДеИнит. Новое окно откроется по шаблону Дефаулт.

 
leon_17 #:
Подскажите, а программно нельзя выгрузить избранные советники из полученного списка? Ну или сразу все... скриптом?

Исходник такого скрипта.


Если коротко:

#include <fxsaber\Expert.mqh> // https://www.mql5.com/ru/code/19003

void OnStart()
{
  for (long Chart = ChartFirst(); !IsStopped() && (Chart != -1); Chart = ChartNext(Chart))
    if ((Chart != ChartID()) && EXPERT::Is(Chart))
      EXPERT::Remove(Chart);
      
  if (EXPERT::Is())
    EXPERT::Remove();
}
Причина обращения: