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

 

https://www.mql5.com/ru/docs/basis/types/classes#class

Конструктор по умолчанию имеет специальное назначение при инициализации массива объектов своего класса. Конструктор, все параметры которого имеют значения по умолчанию, не является конструктором по умолчанию. Покажем это на примере:

// [длинный пример не цитирую]

Если раскомментировать в этом примере строки

//CFoo foo_array[3];     // такой вариант использовать нельзя - конструктор по умолчанию не задан

то компилятор выдаст на них ошибку "default constructor is not defined".

Не выдаст.

build 4625

class CFoo
  {
   datetime          m_call_time;
public:
                     CFoo(const datetime t=0){m_call_time=t;};
                     CFoo(const CFoo &foo){m_call_time=foo.m_call_time;};
   string ToString(){return(TimeToString(m_call_time,TIME_DATE|TIME_SECONDS));};
  };

void OnStart()
  {
   CFoo foo_array[3]; // OK
   Print(foo_array[0].ToString()); // OK
  }
 
Vladislav Boyko #:

Не выдаст.

В Документации ошибка.

 

видите красненькую линию ? 

я тоже вижу, но только её нет

Там действительно закрывалась по рынку позиция Sell, но цена открытия выше цены закрытия и время открытия другое-другое. Линия должна была отрисоваться сверху и не из пустого места. 

а так "контора палится" это больше похоже на неотфильтрованный трейд другой-стороны. 

 
Maxim Kuznetsov #:

Там действительно закрывалась по рынку позиция Sell

Штатные торговые объекты строятся только на основании History-таблиц терминала.

Что в истории, то и строится. Алгоритм там простейший - по ID.

 

b4625, набираю в этом месте ORW.

И на Metaquotes-Demo получаю такой результат.

Я не набирал AUD, а просто нажал ORW - три последовательных нажатия на клавиатуре.


Из-за такого поведения иногда невозможно набрать название своего кастомного символа - подставляются какие-то левые. Просьба исправить - что набрал, то и должно быть, пока не выбрал из предложенного списка. Спасибо.

Строка для поиска: Uluchshenie 102.
 
fxsaber #:

В Документации ошибка.

Жаль, что не в компиляторе. Лично мне хотелось бы видеть "default constructor is not defined"

 
Vladislav Boyko #:

Жаль, что не в компиляторе. Лично мне хотелось бы видеть "default constructor is not defined"

Это было бы ужасно, т.к. следующие строки не компилировались бы.

CFoo* Ptr = new CFoo;
CFoo Obj;
 
Просьба подумать о возможности инициализации вектора массивом.
double GetParameter( const double &Array[] )
{
  const vector Vector(Array); // 'Array' - invalid array access
  
//  Vector.Assign(Array);
  
  return(Vector.Median() * Vector.Size());
}
Строка для поиска: Uluchshenie 103.
 
build 4620, МЕ - вкладка "Поиск в файлах". Рядовой поиск файла в папке %terminal%\MQL5 на несколько минут вешает всю систему так, что даже не вызывается TaskManager (Ctrl+Shift+Esc).
 

Ой чего я нашёл…

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Последовательность выполнение Init() и DeInit()

Slava, 2017.04.14 10:21

У сервисов будет OnTick(string symbol). Но на тики от конкретного символа надо будет подписаться

Семь лет прошло. А как хочется попользовать это событие