Если в профиле к нескольким графикам добавить новый и переместить его допустим в середину
то при последующем перечислении графиков с помощью скрипта используя
он будет последним несмотря на то, что в середине
А если перезагрузить MT, то при новом перечислении он будет в середине как на рисунке
Получается разное поведение до и после перезагрузки. А где логика?
Добавлен "EURAUD", "EURCAD", "EURUSD" и "NZDUSD" и активируем первый график - "EURAUD"
"NZDUSD" поставлен после "EURAUD" и активируем первый график - "EURAUD"
После перезагрузки (активным остаётся первый график - "EURAUD")
Всё абсолютно логично. Только перед вызовом скрипта:
//+------------------------------------------------------------------+//| ChartNext.mq5 |//| Copyright 2014, MetaQuotes Software Corp. |//| http://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2014, MetaQuotes Software Corp."#property link"http://www.mql5.com"#property version"1.00"//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//--- переменные для идентификаторов графиковlong currChart,prevChart=ChartFirst();
int i=0,limit=100;
Print("ChartFirst = ",ChartSymbol(prevChart)," ID = ",prevChart);
while(i<limit)// у нас наверняка не больше 100 открытых графиков
{
currChart=ChartNext(prevChart); // на основании предыдущего получим новый графикif(currChart<0) break; // достигли конца списка графиковPrint(i,ChartSymbol(currChart)," ID =",currChart);
prevChart=currChart;// запомним идентификатор текущего графика для ChartNext()
i++;// не забудем увеличить счетчик
}
}
//+------------------------------------------------------------------+
нужно внимательно выбирать активный график. Счёт следующего графика идёт от активного.
A100: А в чем заключается логика? Если до перезагрузки была одна последовательность 2-3-4-5, а после перезагрузки другая 2-5-3-4?
До перезагрузки в профиль записываются графики в порядке их создания, то есть 1-2-3-4. Перед перезагрузкой профиль переписывается (в него заносится последняя редакция по перемещениям графиков, а именно 1-4-2-3). После перезагрузки графики заново рисуются (создаются) в соответствии с последней редакцией по перемещениям графиков, то есть 1-4-2-3.
И вот после перезагрузки, раз графики были созданы в порядке 1-4-2-3, значит и ChartNext() будет возвращать именно такой порядок.
До перезагрузки в профиль записываются графики в порядке их создания, то есть 1-2-3-4. Перед перезагрузкой профиль переписывается (в него заносится последняя редакция по перемещениям графиков, а именно 1-4-2-3). После перезагрузки графики заново рисуются (создаются) в соответствии с последней редакцией по перемещениям графиков, то есть 1-4-2-3.
Вопрос не в том как это на данный момент реализовано (можно реализовать и по-другому) а в том, что до и после перезагрузки (при прочих равных условиях) получается разный результат, а значит логика нарушена.
A100: Вопрос не в том как это на данный момент реализовано (можно реализовать и по-другому) а в том, что до и после перезагрузки (при прочих равных условиях) получается разный результат, а значит логика нарушена.
Я считаю, что логика не нарушена, так как после загрузки терминала графики заново создаются и соответственно ChartNext() работает правильно. Но Вы можете создать заявку в сервисдеск - пожалуйста потом поделитесь ответом.
При обработке данных со своего чарта (там где запущен советник) время обработки информации функцией ChartTimePriceToXYмоментальное. При обращении к соседним чартам, время увеличивается в разы. Так и должно быть или в алгоритме допущена ошибка? МТ4 v840.
Распечатал - результат описал выше
Где распечатали? Где результат? Не вижу - вы забыли приложить распечатку до и после.
Не отображается Заголовок при добавлении рисунка на форуме
Заполняю поле Заголовок. Рисунок отображается, а заголовок - нет
Разный порядок обхода графиков в профиле
Если в профиле к нескольким графикам добавить новый и переместить его допустим в середину
то при последующем перечислении графиков с помощью скрипта используя
он будет последним несмотря на то, что в середине
А если перезагрузить MT, то при новом перечислении он будет в середине как на рисунке
Получается разное поведение до и после перезагрузки. А где логика?
Добавлен "EURAUD", "EURCAD", "EURUSD" и "NZDUSD" и активируем первый график - "EURAUD"
"NZDUSD" поставлен после "EURAUD" и активируем первый график - "EURAUD"
После перезагрузки (активным остаётся первый график - "EURAUD")
Всё абсолютно логично. Только перед вызовом скрипта:
нужно внимательно выбирать активный график. Счёт следующего графика идёт от активного.Всё абсолютно логично.
А в чем заключается логика? Если до перезагрузки была одна последовательность 2-3-4-5, а после перезагрузки другая 2-5-3-4?
До перезагрузки в профиль записываются графики в порядке их создания, то есть 1-2-3-4. Перед перезагрузкой профиль переписывается (в него заносится последняя редакция по перемещениям графиков, а именно 1-4-2-3). После перезагрузки графики заново рисуются (создаются) в соответствии с последней редакцией по перемещениям графиков, то есть 1-4-2-3.
И вот после перезагрузки, раз графики были созданы в порядке 1-4-2-3, значит и ChartNext() будет возвращать именно такой порядок.
До перезагрузки в профиль записываются графики в порядке их создания, то есть 1-2-3-4. Перед перезагрузкой профиль переписывается (в него заносится последняя редакция по перемещениям графиков, а именно 1-4-2-3). После перезагрузки графики заново рисуются (создаются) в соответствии с последней редакцией по перемещениям графиков, то есть 1-4-2-3.
Вопрос не в том как это на данный момент реализовано (можно реализовать и по-другому) а в том, что до и после перезагрузки (при прочих равных условиях) получается разный результат, а значит логика нарушена.
Не отображается Заголовок при добавлении рисунка на форуме
Заполняю поле Заголовок. Рисунок отображается, а заголовок - нет
Поле заголовок - это по сути значение для атрибутов alt и title.
То есть отображается при наведении курсора на картинку или как текст при не загрузившейся картинке.
При обработке данных со своего чарта (там где запущен советник) время обработки информации функцией ChartTimePriceToXY моментальное. При обращении к соседним чартам, время увеличивается в разы. Так и должно быть или в алгоритме допущена ошибка? МТ4 v840.