Новая версия платформы MetaTrader 5 build 4620: исправления ошибок в MQL5 и новые методы OpenBLAS - страница 12

 
b4647, компилятор не понимает, что вызывается одноименный метод класса, а не поле.
class A
{
public:
  int Total() { return(0); }
};

class B : public A
{
private:
  int Total;
};

void OnStart()
{
  B b;
  
  b.Total();    // cannot access to private member 'Total' declared in class 'B'
  b.A::Total(); // OK
}
Строка для поискаOshibka 121.
 
fxsaber #:
b4647, компилятор не понимает, что вызывается одноименный метод класса, а не поле. Строка для поискаOshibka 121.
b.A::Total(); // Явное обращение к методу
b.Total();    // Компилятор видит Total() и Total - Неопределенность
 

А если так:

//+------------------------------------------------------------------+
//| Class A                                                          |
//+------------------------------------------------------------------+
class A
  {
   public:
      int            Total;
      //---
                     A(void);
                    ~A(void);
      int            Total()
        {
         return(0);
        }
  };

то получим ошибку при компиляции: 'Total' - redefinition; previous definition was data member

А если так:

//+------------------------------------------------------------------+
//| Class A                                                          |
//+------------------------------------------------------------------+
class A
  {
   public:
                     A(void);
                    ~A(void);
      int            Total()
        {
         return(0);
        }
      //---
      int            Total;
  };

то получим 'Total' - redefinition; previous definition was function



 
Aleksey Nikolayev #:

Их есть у нас.

Это первые несколько из прикреплённого файла.

Да, некрасиво однако... к примеру события 276010016\276010017 -  German Retail Sales. 10 октября были релизы сразу за 4 месяца подряд. Почему так, не знаю, но как написано на ForexFactory: "There will be 4 simultaneous releases as the source skipped the data releases earlier."



Явная недоработка в MQL5-календаре! 



Что касается события 250040001 в 2024 году. Пропусков там не нашёл:

test_previous_values (EURUSD,H1)        Получено описания события с event_id = 250040001
test_previous_values (EURUSD,H1)        Имя события: Общее число безработных
test_previous_values (EURUSD,H1)        Код события: jobseekers-total
test_previous_values (EURUSD,H1)        Важность события: CALENDAR_IMPORTANCE_MODERATE
test_previous_values (EURUSD,H1)        Тип события: CALENDAR_TYPE_INDICATOR
test_previous_values (EURUSD,H1)        Сектор события: CALENDAR_SECTOR_JOBS
test_previous_values (EURUSD,H1)        Периодичность события: CALENDAR_FREQUENCY_MONTH
test_previous_values (EURUSD,H1)        Режим выхода события: CALENDAR_TIMEMODE_DATETIME
test_previous_values (EURUSD,H1)        Единица измерения значения: CALENDAR_UNIT_JOB
test_previous_values (EURUSD,H1)        Количество знаков после запятой: 1
test_previous_values (EURUSD,H1)        Множитель значения: CALENDAR_MULTIPLIER_THOUSANDS
test_previous_values (EURUSD,H1)        URL источника: https://travail-emploi.gouv.fr/
test_previous_values (EURUSD,H1)        
test_previous_values (EURUSD,H1)        Время и дата события: 2024.10.25 01:00
test_previous_values (EURUSD,H1)        Отчётный период события: 2024.09.25 00:00
test_previous_values (EURUSD,H1)        Ревизия: 0
test_previous_values (EURUSD,H1)        Актуальное значение: -1457067296
test_previous_values (EURUSD,H1)        Предыдущее значение: -1499267296
test_previous_values (EURUSD,H1)        Пересмотренное предыдущее значение: 0
test_previous_values (EURUSD,H1)        Прогнозное значение: -1498367296
test_previous_values (EURUSD,H1)        
test_previous_values (EURUSD,H1)        Время и дата события: 2024.09.25 01:00
test_previous_values (EURUSD,H1)        Отчётный период события: 2024.08.25 00:00
test_previous_values (EURUSD,H1)        Ревизия: 0
test_previous_values (EURUSD,H1)        Актуальное значение: -1499267296
test_previous_values (EURUSD,H1)        Предыдущее значение: -1486567296
test_previous_values (EURUSD,H1)        Пересмотренное предыдущее значение: 0
test_previous_values (EURUSD,H1)        Прогнозное значение: -1470267296
test_previous_values (EURUSD,H1)        
test_previous_values (EURUSD,H1)        Время и дата события: 2024.08.28 01:00
test_previous_values (EURUSD,H1)        Отчётный период события: 2024.07.28 00:00
test_previous_values (EURUSD,H1)        Ревизия: 0
test_previous_values (EURUSD,H1)        Актуальное значение: -1486567296
test_previous_values (EURUSD,H1)        Предыдущее значение: -1460467296
test_previous_values (EURUSD,H1)        Пересмотренное предыдущее значение: 0
test_previous_values (EURUSD,H1)        Прогнозное значение: -1479267296
test_previous_values (EURUSD,H1)        
test_previous_values (EURUSD,H1)        Время и дата события: 2024.07.25 01:00
test_previous_values (EURUSD,H1)        Отчётный период события: 2024.06.25 00:00
test_previous_values (EURUSD,H1)        Ревизия: 0
test_previous_values (EURUSD,H1)        Актуальное значение: -1460467296
test_previous_values (EURUSD,H1)        Предыдущее значение: -1478667296
test_previous_values (EURUSD,H1)        Пересмотренное предыдущее значение: 0
test_previous_values (EURUSD,H1)        Прогнозное значение: -1475667296
test_previous_values (EURUSD,H1)        
test_previous_values (EURUSD,H1)        Время и дата события: 2024.06.26 14:00
test_previous_values (EURUSD,H1)        Отчётный период события: 2024.05.01 00:00
test_previous_values (EURUSD,H1)        Ревизия: 0
test_previous_values (EURUSD,H1)        Актуальное значение: -1478667296
test_previous_values (EURUSD,H1)        Предыдущее значение: -1519567296
test_previous_values (EURUSD,H1)        Пересмотренное предыдущее значение: -1519567296
test_previous_values (EURUSD,H1)        Прогнозное значение: 0
test_previous_values (EURUSD,H1)        
test_previous_values (EURUSD,H1)        Время и дата события: 2024.05.28 14:00
test_previous_values (EURUSD,H1)        Отчётный период события: 2024.04.01 00:00
test_previous_values (EURUSD,H1)        Ревизия: 0
test_previous_values (EURUSD,H1)        Актуальное значение: -1519567296
test_previous_values (EURUSD,H1)        Предыдущее значение: -1482767296
test_previous_values (EURUSD,H1)        Пересмотренное предыдущее значение: -1482767296
test_previous_values (EURUSD,H1)        Прогнозное значение: 0
test_previous_values (EURUSD,H1)        
test_previous_values (EURUSD,H1)        Время и дата события: 2024.04.25 14:00
test_previous_values (EURUSD,H1)        Отчётный период события: 2024.03.01 00:00
test_previous_values (EURUSD,H1)        Ревизия: 0
test_previous_values (EURUSD,H1)        Актуальное значение: -1482767296
test_previous_values (EURUSD,H1)        Предыдущее значение: -1483067296
test_previous_values (EURUSD,H1)        Пересмотренное предыдущее значение: -1474367296
test_previous_values (EURUSD,H1)        Прогнозное значение: 0
test_previous_values (EURUSD,H1)        
test_previous_values (EURUSD,H1)        Время и дата события: 2024.03.27 14:00
test_previous_values (EURUSD,H1)        Отчётный период события: 2024.02.01 00:00
test_previous_values (EURUSD,H1)        Ревизия: 0
test_previous_values (EURUSD,H1)        Актуальное значение: -1483067296
test_previous_values (EURUSD,H1)        Предыдущее значение: -1467267296
test_previous_values (EURUSD,H1)        Пересмотренное предыдущее значение: -1467267296
test_previous_values (EURUSD,H1)        Прогнозное значение: 0
test_previous_values (EURUSD,H1)        
test_previous_values (EURUSD,H1)        Время и дата события: 2024.02.27 14:00
test_previous_values (EURUSD,H1)        Отчётный период события: 2024.01.01 00:00
test_previous_values (EURUSD,H1)        Ревизия: 0
test_previous_values (EURUSD,H1)        Актуальное значение: -1467267296
test_previous_values (EURUSD,H1)        Предыдущее значение: -1469767296
test_previous_values (EURUSD,H1)        Пересмотренное предыдущее значение: -1469767296
test_previous_values (EURUSD,H1)        Прогнозное значение: 0


Другое дело, что с 2024.07.25 стали писать так:

Время и дата события: 2024.07.25 01:00
Отчётный период события: 2024.06.25 00:00
т.е. неправильно пишут отчётный период, нужно 2024.06.01 00:00.
 

По событию 554010003 (food-price-index-mm). Данных вообще нет за текущие полгода. Бардак. Хотя в ForexFactory они есть...




 
Denis Kirichenko #:

Другое дело, что с 2024.07.25 стали писать так:

т.е. неправильно пишут отчётный период, нужно 2024.06.01 00:00.

Да, этого я не учёл, поскольку никак не ожидал. Надо будет пересчитать пропуски с учётом этого бага.

Пока что, для простоты, опираюсь в основном на время выхода новости. Период события и номер ревизии использую только если у нескольких событий одинаковое время выхода.

 
Подскажите, пожалуйста, а как увеличивать масштаб на всех графиках сразу? 

Если они построены мозайкой, каскадом и тд

Есть ли такая функция у терминала
 
Ivan Butko #:
Подскажите, пожалуйста, а как увеличивать масштаб на всех графиках сразу? 

Если они построены мозайкой, каскадом и тд

Есть ли такая функция у терминала

вот вроде, в цикле пройти по всем

https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples

CHART_SCALE – свойство масштаба графика.
//+------------------------------------------------------------------+
//| Получение масштаба графика (от 0 до 5).                          |
//+------------------------------------------------------------------+
int ChartScaleGet(const long chart_ID=0)
  {
//--- подготовим переменную для получения значения свойства
   long result=-1;
//--- сбросим значение ошибки
   ResetLastError();
//--- получим значение свойства
   if(!ChartGetInteger(chart_ID,CHART_SCALE,0,result))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
     }
//--- вернем значение свойства графика
   return((int)result);
  }
//+------------------------------------------------------------------+
//| Установка масштаба графика (от 0 до 5).                          |
//+------------------------------------------------------------------+
bool ChartScaleSet(const long value,const long chart_ID=0)
  {
//--- сбросим значение ошибки
   ResetLastError();
//--- установим значение свойства
   if(!ChartSetInteger(chart_ID,CHART_SCALE,0,value))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
      return(false);
     }
//--- успешное выполнение
   return(true);
  }
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
  • www.mql5.com
В этом разделе представлены примеры для работы со свойствами графика. Для каждого свойства приведены одна или две законченные функции, которые...
 
lynxntech #:

вот вроде, в цикле пройти по всем

https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples

Скажите, пожалуйста, а в интерфес можно вывести кнопочку, которая бы запускала этот скрипт?

Этакая пользовательская кнопка, постаивть её радом с кнопкой масштаба