Ошибки, баги, вопросы - страница 250

 

В билде 373 от 27.12.2010 неправильно определяется время начала бара при переходе на другой период графика.  Например, если эксперт был брошен на график в М1, то при переходе на М5 или любой другой период,  время начала бара по-прежнему возвращается для М1. В предыдущей версии такого не было...

void OnTick()
  {
if(CopyTime(Symbol(), NULL, 0, 3, Time)<0) {Print("Не удалось скопировать Time!"); return;};
ArraySetAsSeries(Time,true);
Print("Time[0] = ",Time[0], "   Time[1] = ",Time[1] ) ;  
  }


 
Yedelkin:

Кто-нибудь работал со вторым вариантом функции ChartGetInteger:

 ? Такое впечатление, что в приёмную переменную значение свойства не передаётся. По крайней мере, такое поведение замечено при использовании конструкции

Функция возвращает true, но приёмная переменная windows содержит значение, полученное при инициализации этой переменной. При этом первый вариант функции выдаёт правильное значение. (И по мелочи: если приёмная переменная объявляется с типом long, то компилятор выдаёт предупреждение). 

Вы не правильно работает с функцией. Читаем справку:

1. Непосредственно возвращает значение свойства.

long  ChartGetInteger(
   long  chart_id,          // идентификатор графика
   int   prop_id,           // идентификатор свойства
   int   sub_window=0       // номер подокна, если требуется
   );

2. Возвращает true или false в зависимости от успешности выполнения функции.  В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром.

bool  ChartGetInteger(
   long    chart_id,        // идентификатор графика
   int     prop_id,         // идентификатор свойства
   int     sub_window,      // номер подокна
   long&   long_var         // сюда примем значение свойства
   );


Функция вернёт булево и присвоит значение переменной, только если 4 аргумента у функции, без каких либо вариантов

 
MIK:

В билде 373 от 27.12.2010 неправильно определяется время начала бара при переходе на другой период графика.  Например, если эксперт был брошен на график в М1, то при переходе на М5 или любой другой период,  время начала бара по-прежнему возвращается для М1. В предыдущих версиях такого не было...

void OnTick()
  {
if(CopyTime(Symbol(), NULL, 0, 3, Time)<0) {Print("Не удалось скопировать Time!"); return;};
ArraySetAsSeries(Time,true);
Print("Time[0] = ",Time[0], "   Time[1] = ",Time[1] ) ;  
  }



Вы правы, есть ошибка.

При смене таймфрейма неправильно происходит повторная инициализация эксперта... Будем разбираться.

 

Последний билд 373 (мт5) меня поразил. Обновление котировок никак не добиться разрыв м-у

1 и 12 месяцем и все тут. Удалил котировки по валюте (2010.hcc и в cache)

а он только поступившие записывает. Может я что-то не правильно сделал.


Скачал сегожня по ссылке с вашего форума с билтом 373 (выбор другого сервера

не влияет)

 
alexluek:

Последний билд 373 (мт5) меня поразил. Обновление котировок никак не добиться разрыв м-у

1 и 12 месяцем и все тут. Удалил котировки по валюте (2010.hcc и в cache)

а он только поступившие записывает. Может я что-то не правильно сделал.


Скачал сегожня по ссылке с вашего форума с билтом 373 (выбор другого сервера

не влияет)

И все-таки сообщите точнее.

Какой сервер, какой символ? 

 

Да вот на рисунке , а сервер любой выбираешь (из стандартных)

Оставил терминал на 3 часы М5, прихожу, а там только цена прыгает без

баров. Перезапустил терминал, а баров только за эти 3 часа.

Терминал установил сегодня с билтом 373 мт5 (с форума -

https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe


И вот еще - может это у меня глючит, но когда выбираешь новый график,

то обновления нет, а бары появляются после перезагрузки терминала. Рис 3

И так вот бегает линия цены, пока не перезапустишь. И появляется только те

которые набежали за это время работы терминала. Может я не то делаю,

но переустанавливал 3 раза, и пробовал файлы с котировками удалять

чегось не обновляет все равно


В настройках "точная шкала времени" и 100000 баров истории - выбрал

Файлы:
1.JPG  65 kb
2.JPG  98 kb
3.JPG  146 kb
 
alexluek:

Да вот на рисунке , а сервер любой выбираешь (из стандартных)

Оставил терминал на 3 часы М5, прихожу, а там только цена прыгает без

баров. Перезапустил терминал, а баров только за эти 3 часа.

Терминал установил сегодня с билтом 373 мт5 (с форума -

https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe


И вот еще - может это у меня глючит, но когда выбираешь новый график,

то обновления нет, а бары появляются после перезагрузки терминала. Рис 3

И так вот бегает линия цены, пока не перезапустишь. И появляется только те

которые набежали за это время работы терминала. Может я не что делаю,

но переустанавливал 3 раза, и пробовал файлы с котировками удалять

чегось не обновляет все равно


В настройках "точная шкала времени" и 100000 баров истории - выбрал

Я про эту плавающую проблему уже 8 раз писал... она так и повторяется...

решать её никто не хочет... по крайней мере никаких открытых комментариев нет

 
AlexSTAL:

Я про эту плавающую проблему уже 8 раз писал... она так и повторяется...

решать её никто не хочет... по крайней мере никаких открытых комментариев нет

расстраиваться не приходится, а программерам наверное надоедает

читать про ошибки которые они не учли иль не проверили.

В общем когда ребята разберуться они нам дадут знать. Удачи...

 

Ребята давайте жить дружно! Я с альпари скачал

установщик МТ5, а там все обновляется отлично!

Видимо это в серваке дело.


Вот установщик с альпари:

Файлы:
mt5setup.rar  265 kb
 

Valmars,  Interesting, AlexSTAL   

Удивлён Вашим репликам.  В сообщении от 2010.12.28 03:06   я достаточно подробно изложил логику своей прежней работы со вторым вариантом функции, логику возникновения у меня ошибочной версии, выяснил причину возникновения этой ошибочной версии и предложил разработчикам способ устранения причины её возникновения. Т.е., фактически, проблема была решена и разжевана, в том числе и для меня.

В пункте 4 изложил вполне конкретный вывод и задал вполне конкретный вопрос: "Правильно?". Однако никто из вас прямо на этот вопрос не ответил. В то же время вопросов типа "почему так произошло?" я не задавал (поскольку сам, с помощью примера от uncleVic, нашёл для себя ответы на них).

Могу предположить, что с точки зрения профессионала проблема не стоит выеденного яйца. Но не надо забывать, что с языком начинают и начнут работать новички, далёкие от профессионального программирования. И которым не известны тонкости умолчательных значений, перегрузок функций, проблемы компилятора, обязательность указания четырёх параметров в тех или иных случаях и т.п. Новички (в том числе и я) работают с тем справочным текстом, который есть, и стараются не домысливать то, чего не знают. Например, если бы все ваши реплики были отражены в Справочнике, то ни у меня, ни у Lizar'а проблем бы не возникло изначально. 

Если уж вы посчитали нужным высказаться по уже решенной проблеме, то для меня осталось непонятным, поддерживаете ли или возражаете против моего предложения из пункта 5. В принципе, это был итоговый посыл моего сообщения. Interesting согласился лишь с наличием неточной формулировки.

Благодарю за расширение кругозора.

Причина обращения: