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

 
A100 #:

В данном случае:

сводится к

Соответственно вопрос: а зачем здесь typedef ? сводится к вопросу: а зачем здесь #define ?

Спасибо.

 
enum UpdateType
{
    CovarianceUpdate = 1,
    SquareRootUpdate = 2
};

template <typename T,  int Upd_ = CovarianceUpdate>
class Weighted
{
protected:
        
   typedef Weighted<T, Upd_>    MyT_;   

};



А в mql5 параметр шаблона int с инициализацией по умолчанию, почему-то вызывает ошибку компиляции.

'int' - unexpected token

Если в шаблоне вместо int подставить имя перечисления  UpdateType, то та же ошибка.

'UpdateType' - unexpected token



Будет ли ошибка при создании пользовательского типа класса непонятно, 

typedef Weighted<T, Upd_>    MyT_;

так как туда ещё не доходим из за ошибки параметра шаблона. 

 
template <typename T, class Estimator_>
struct upd_imp;

И тип class в параметре шаблона вызывает ошибку

'class' - unexpected token

Как я понял, любые явные типы в параметре шаблона выдают ошибку.
Так должно быть в mql5 ?

 
Roman # :

И тип class в параметре шаблона вызывает ошибку

Как я понял, любые явные типы в параметре шаблона выдают ошибку.
Так должно быть в mql5 ?

Шаблоны C++ еще не полностью реализованы в MQL. Далеко отсюда.
 
A100 #:
Ошибка при компиляции: А раньше (пока не обновился) нормально все было

В последнем build 3886 ситуация с комментариями ухудшилась - ошибка при выполнении:

#define MACRO1 /*
#define MACRO2 */
void OnStart()
{
#ifdef MACRO2
    Print( 2 );
#else
    Print( 1 );
#endif
}

Результат:    2

Ожидалось: 1

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

Предыдущие сообщения по теме:

https://www.mql5.com/ru/forum/1111/page3373#comment_48873906

https://www.mql5.com/ru/forum/1111/page3373#comment_48876487

https://www.mql5.com/ru/forum/1111/page3373#comment_48885444
 
Куча проблем с впс. Ошибка 10054 и написано миграция не состоялась. То есть впс не подключен но они есть и торгует только евробакс и ничего больше. Даже если ордер открывать на другом графике. Как его для начала выключить то . А уж потом как включать. Денежка списана в мкл за вес но вас нет ещё и терминал сломан.
 
         FileSeek(filehandleCVS,0,SEEK_END);
         uint x=FileWriteStruct(filehandleCVS,CurrStep);

При записи в CVS файл он перезаписывается. Хотя в тот же текстовый добавляется в конец. Возможно?

 
Roman #:

И тип class в параметре шаблона вызывает ошибку

Как я понял, любые явные типы в параметре шаблона выдают ошибку.
Так должно быть в mql5 ?

Вместо class используйте typename.

template < typename T, typename Estimator_ >
struct upd_imp;
 
Не работает корректно DRAW_FILLING. Когда нужно менять цвет 'filling' по какому-нибудь условию, то он не меняется, цвет всегда один. Не работает в моём коде, также не работает в коде указанном в документации для DRAW_FILLING, также проверил парочку кодов по поиску в codebase по запросу filling. Цвет всегда один.
 
fRoompel #:
Не работает корректно DRAW_FILLING. Когда нужно менять цвет 'filling' по какому-нибудь условию, то он не меняется, цвет всегда один. Не работает в моём коде, также не работает в коде указанном в документации для DRAW_FILLING, также проверил парочку кодов по поиску в codebase по запросу filling. Цвет всегда один.

Работает.

Поменяйте буфера местами, там где нужна смена цвета.

примерно так

один цвет
fup[i] = high[j];
fdn[i] = low[j];
другой цвет
fup[i] = low[j];
fdn[i] = high[j];

fup[], fdn[]  - индикаторные массивы

ну и в свойствах задайте два цвета

#property indicator_type1   DRAW_FILLING
#property indicator_color1  clrGainsboro,clrPink