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

 
Artyom Trishkin #:

Временно попробуй отключать и шкалы основного графика

Увы, в тестере шкалы тоже не отключаются

 
trader6_1 #:

а так?

не могу проверить...

Yuriy Bykov #:
Если я правильно помню, то оба возвращаемых выражения в тернарном операторе обязаны быть одного типа. Поэтому компилятор ругается.

Точно, спасибо большое!

void A::instantiate3(A *&ptr,bool someCondition,int a_x)
  {
   ptr = someCondition ? (A*)new B(a_x) : (A*)new C(a_x); // OK
  }
 

Есть ли этому объяснение?

В период, когда США уже перешли на летнее время, а ЕС еще нет, выходные дни в данных демо-счета MQ длиннее на 1 час, а валютная сессия следующей недели на 1 час короче?

Is there an explanation for this?

In the period when the USA has already changed to summer time, but the EU has not yet, is the weekend break in the MQ demo account data 1 hour longer and the FX session of the following week 1 hour shorter?

2024.04.29 15:49:32.698    test_WeekendData (EURUSD,H1)    Su. 2024.03.03 00:00 Fr. 2024.03.01 23:00 Mo. 2024.03.04 00:00
2024.04.29 15:49:32.698    test_WeekendData (EURUSD,H1)    Su. 2024.03.10 00:00 Fr. 2024.03.08 23:00 Mo. 2024.03.11 00:00
2024.04.29 15:49:32.698    test_WeekendData (EURUSD,H1)    Su. 2024.03.17 00:00 Fr. 2024.03.15 22:00 Mo. 2024.03.18 00:00
2024.04.29 15:49:32.698    test_WeekendData (EURUSD,H1)    Su. 2024.03.24 00:00 Fr. 2024.03.22 22:00 Mo. 2024.03.25 00:00
2024.04.29 15:49:32.698    test_WeekendData (EURUSD,H1)    Su. 2024.03.31 00:00 Fr. 2024.03.29 22:00 Mo. 2024.04.01 00:00
2024.04.29 15:49:32.698    test_WeekendData (EURUSD,H1)    Su. 2024.04.07 00:00 Fr. 2024.04.05 23:00 Mo. 2024.04.08 00:00
2024.04.29 15:49:32.698    test_WeekendData (EURUSD,H1)    Su. 2024.04.14 00:00 Fr. 2024.04.12 23:00 Mo. 2024.04.15 00:00
2024.04.29 15:49:32.698    test_WeekendData (EURUSD,H1)    Su. 2024.04.21 00:00 Fr. 2024.04.19 23:00 Mo. 2024.04.22 00:00
2024.04.29 15:49:32.698    test_WeekendData (EURUSD,H1)    Su. 2024.04.28 00:00 Fr. 2024.04.26 23:00 Mo. 2024.04.29 00:00

Сеансы недели начинаются в 00:00, но заканчиваются в 22:59, а не в 23:59?

The sessions of the week start at 00:00 but end at 22:59 and not at 23:59??

PS. Это касается MQ-Demo, RoboForex-Demo и RoboForex-Real! / This is the case with MQ-Demo, RoboForex-Demo and RoboForex-Real!

Файлы:
 

wBarShift работает со всеми тф? При первом переключении на М1 wBarShift показывает только 0, но если переключиться с М1 на какой-нибудь тф и обратно на М1, wBarShift показывает верный индекс.

--

Увидел следующее: если наводить курсор мышки на Toolbox и обратно на график, будет ошибка

2024.04.29 18:49:17.932 TestBarShift (EURUSD,H1)        Error - iBarShift = 6209, fBarShift = 6210

и на графике выводы


 
Andrei Iakovlev #:

wBarShift работает со всеми тф? При первом переключении на М1 wBarShift показывает только 0, но если переключиться с М1 на какой-нибудь тф и обратно на М1, wBarShift показывает верный индекс.

--

Увидел следующее: если наводить курсор мышки на Toolbox и обратно на график, будет ошибка

и на графике выводы


сам давно не использую  wBarShift, т.к. для нее всегда нужен свежий массив времени открытия баров. Эту функцию целесообразно использовать только при поиске баров в пределах видимого окна, т.е. для всяких GUI. Если массива не хватает то обращается к стандартной функции iBarShift
Используйте fBarShift. Лично я ее использую только в случае, если iBarShift вернула -1

 
Nikolai Semko #:

сам давно не использую  wBarShift, т.к. для нее всегда нужен свежий массив времени открытия баров. Эту функцию целесообразно использовать только при поиске баров в пределах видимого окна, т.е. для всяких GUI. Если массива не хватает то обращается к стандартной функции iBarShift
Используйте fBarShift. Лично я ее использую только в случае, если iBarShift вернула -1

Понятно, буду использовать fBarShift. В настоящее время, когда iBarShift возвращает -1, я включаю EventSetMillisecondTimer и жду, пока iBarShift вернёт не -1, попробую альтернативу, спасибо.

А из-за чего ошибка и разные значения между iBarShift и fBarShift в моём сообщении выше?

 
Carl Schreiber # :

Is there an explanation for this?

During the period when the US has already switched to daylight saving time, but the EU has not yet, the weekends in the MQ demo account data are 1 hour longer, and the next week's currency session is 1 hour shorter?

Is there an explanation for this?

In the period when the USA has already changed to summer time, but the EU has not yet, is the weekend break in the MQ demo account data 1 hour longer and the FX session of the following week 1 hour shorter?

Weekly sessions start at 00:00 but end at 22:59 instead of 23:59?

The sessions of the week start at 00:00 but end at 22:59 and not at 23:59??

PS. This applies to MQ-Demo, RoboForex-Demo and RoboForex-Real! / This is the case with MQ-Demo, RoboForex-Demo and RoboForex-Real!

https://www.mql5.com/en/forum/463955#comment_53124920
 
Andrei Iakovlev #:

Понятно, буду использовать fBarShift. В настоящее время, когда iBarShift возвращает -1, я включаю EventSetMillisecondTimer и жду, пока iBarShift вернёт не -1, попробую альтернативу, спасибо.

А из-за чего ошибка и разные значения между iBarShift и fBarShift в моём сообщении выше?

Не знаю. Надо смотреть и дебажить код. Возможно проблемы с закачкой datetime массивов во время. Это очень специфическая функция для специфических задач, и возвращает она double.
Повторюсь, чо wBarShift зависит от актуального состояния массива времени. А при переключении ТФ может происходить что угодно             
 
Nikolai Semko #:
Повторюсь, чо wBarShift зависит

Почему Вы говорите про wBarShift? Я спрашивал про iBarShift и fBarShift, 2-ая часть этого сообщения: https://www.mql5.com/ru/forum/1111/page3520#comment_53212967

 
Andrei Iakovlev #:

Почему Вы говорите про wBarShift? Я спрашивал про iBarShift и fBarShift, 2-ая часть этого сообщения: https://www.mql5.com/ru/forum/1111/page3520#comment_53212967

а, ну это вина выхода из окна указателя мыши.
правильнее будет добавить проверку на выход указателя миши из окна, и ошибок не будет

if(id==CHARTEVENT_MOUSE_MOVE)
     {
      if (lparam<0 || lparam>=W.Width || dparam<0 || dparam>=W.Height) return;
      jj++;
      double y;
      datetime t;
      int win=0;
      ChartXYToTimePrice(0,(int)lparam,(int)dparam,win,t,y);
      Canv.Erase(0x00FFFFFF); 

Как вижу и wBarShift работает корректно при переключении ТФ. Но, не зря эта функция интегрирована в iCanvas, т.к. ее использование оправдано с барами в окне. Получается неплохой выйгрыш в производительности, если использовать это для управления GUI



Файлы:
iCanvas_CB.mqh  73 kb
iBars.mqh  21 kb