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

 
Требуется определить какие и сколько всего советников активно в терминале на текущий момент (включая и те случаи, когда на одном инструменте работают сразу несколько советников). Подозреваю, что такой список никак не получить, но решил спросить на всякий случай.
 
leon_17:
Требуется определить какие и сколько всего советников активно в терминале на текущий момент (включая и те случаи, когда на одном инструменте работают сразу несколько советников). Подозреваю, что такой список никак не получить, но решил спросить на всякий случай.

CHART_EXPERT_NAME

Имя эксперта, запущенного на графике с указанным chart_id

string r/o

CHART_SCRIPT_NAME

Имя скрипта, запущенного на графике с указанным chart_id

string r/o

 
Alexey Viktorov #:

CHART_EXPERT_NAME

Имя эксперта, запущенного на графике с указанным chart_id

string r/o

CHART_SCRIPT_NAME

Имя скрипта, запущенного на графике с указанным chart_id

string r/o

Это видел, но как перебрать все открытые графики?

 
leon_17 #:

Это видел, но как перебрать все открытые графики?


 

И это видел, и еще раз внимательно перечитал описание всего списка, но так и не въехал с помощью чего там можно перебирать открытые графики.

 
ChartNext походу. Спасибо! буду пробовать...
 
leon_17 #:

И это видел, и еще раз внимательно перечитал описание всего списка, но так и не въехал с помощью чего там можно перебирать открытые графики.

Принтуешь  ChartGetString(0, CHART_EXPERT_NAME);

 
leon_17 #:
ChartNext походу. Спасибо! буду пробовать...

Держи, вроде так...

//+------------------------------------------------------------------+
//|                                                   ScriptTest.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   int symb=SymbolsTotal(true);       //true - Среди инструментов в обзоре рынка, false- среди всех инструментов
   long  chart = ChartFirst();
   int expert=0;
   string comm=ChartGetString(0,CHART_EXPERT_NAME);

   for(int i=0; i<symb; i++)
     {
      if(ChartGetString(chart,CHART_EXPERT_NAME)!=comm)
         expert++;
      comm=ChartGetString(chart,CHART_EXPERT_NAME);

      chart = ChartNext(chart);
     }
   Print("Chart",symb,"  Experts  ",expert);
 
leon_17 #:

Это видел, но как перебрать все открытые графики?

https://www.mql5.com/ru/docs/chart_operations/chartnext здесь есть пример

 
Есть такой вариант - https://www.mql5.com/en/code/33770
ChartBrowser
ChartBrowser
  • www.mql5.com
This is an utility which allows you to list all open charts, indicators, expert advisers, and scripts in alphabetic order, and switch between them.
 
Подскажите, а программно нельзя выгрузить избранные советники из полученного списка? Ну или сразу все... скриптом?