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

 

Ошибка при выполнении

class A { public:
        A() { Print( __FUNCTION__ ); }
};
int g( int i )
{
static A a;
        return 1;
}
void OnStart() {}

Результат: A::A

при том, что g() не вызывается вовсе 

 
A100:

Ошибка при выполнении

class A { public:
        A() { Print( __FUNCTION__ ); }
};
int g( int i )
{
static A a;
        return 1;
}
void OnStart() {}

Результат: A::A

Хотите сказать, что без вызова функции статическая переменная не должна была быть инициализирована?
 
fxsaber:
Хотите сказать, что без вызова функции статическая переменная не должна была быть инициализирована?

Она в данном случае вообще не участвует в вычислениях и функция g() попала в текст только благодаря включению общего .mqh файла

class A { public:
        A() { Print( __FUNCTION__ ); }
};
class B {
        static A a;
};
void OnStart() {}
Здесь например нет вызова A::A
 

Ошибка при компиляции

int f( int i )
{
static int j = f( i ); //'i' - local variables cannot be used
        return j + 1;
}
void OnStart() { f( 5 ); }
 

при создании отчета после тестирования часть настроек простоне вписывается

 

 

 

 

не могу отвечать своим покупателям в личку, фин. операции заблокированы, покупатели возмущаются из-за того что не могут активировать купленные продукты.

писал заявку в СД #1656656

 
fxsaber:
Хотите сказать, что без вызова функции статическая переменная не должна была быть инициализирована?

Более того

class A { public:
    A() { Print( __FUNCTION__ ); } //в MQL вызывается, в С++ - нет
};
void g( int i )
{
    if ( i )
        return;
    static A a;
}
void OnStart()
{
    g( 1 );
}
в С++ например не всякий вызов функции автоматически приводит к вызову конструктора A::A
 
A100:

Более того

class A { public:
    A() { Print( __FUNCTION__ ); } //в MQL вызывается, в С++ - нет
};
void g( int i )
{
    if ( i )
        return;
    static A a;
}
void OnStart()
{
    g( 1 );
}
в С++ например не всякий вызов функции автоматически приводит к вызову конструктора A::A
Спасибо, буду знать.
[Удален]  

В терминале МТ5 есть для примера советники (MACD Sample и Moving Averages), так вот, если в коде этих советников в хендел индикатора вставить конкретный ТФ, например PERIOD_H4, вместо "_Period", то при тесте по ценам открытия на старших ТФ  возникает ошибка загрузки индикатора: cannot load indicator 'MACD' [4805] и как следствие: tester stopped because OnInit failed. Какие мнения? Может я делаю, что-т не так?

 Дело в том, что авто валидация на мой взгляд проверяет советники по ценам открытия и это проблема. Пробовал вставлять индикатор, как кастомный, ошибка та же.

int OnInit(void)
  {
//--- prepare trade class to control positions if hedging mode is active
   ExtHedging=((ENUM_ACCOUNT_MARGIN_MODE)AccountInfoInteger(ACCOUNT_MARGIN_MODE)==ACCOUNT_MARGIN_MODE_RETAIL_HEDGING);
   ExtTrade.SetExpertMagicNumber(MA_MAGIC);
   ExtTrade.SetMarginMode();
//--- Moving Average indicator
   ExtHandle=iMA(_Symbol,PERIOD_H4,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE);
   if(ExtHandle==INVALID_HANDLE)
     {
      printf("Error creating MA indicator");
      return(INIT_FAILED);
     }
//--- ok
   return(INIT_SUCCEEDED);
  }

 
Alexandr Bryzgalov:

не могу отвечать своим покупателям в личку, фин. операции заблокированы, покупатели возмущаются из-за того что не могут активировать купленные продукты.

писал заявку в СД #1656656

исправьте уже в конце-то концов

при попытке вывести средства финансовые операции блокируются.

вы бы хоть написали что пока не нужно выводить и дату когда будет можно