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

 
Исполнение стопов во время гепа уже фиксят?
 
Vitaly Muzichenko:

Выколупайте отвёрткой кнопку "Home" :)


Нет, проблема не в этом. Так как происходит сие и когда MT5 на заднем плане и когда даже чарт иной.

 

Полагаю, проблема из-за этого странного поля:

 //---- profit calculation parameters
   int               unknown2;

В оригинале его не было, откуда оно взялось?  


Это 4 байта для выравнивания адресов в структуре.

предыдущее gtc_pendings  и последующее поле contract_size считываются корректно

 

Скиньте плиз ссылку на тему: ... sl: 0.00000 tp: 0.00000 failed [Off quotes]

 

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

#define MACRO1( X, Y )  X/**/##Y
#define MACRO2( X, Y )  X##/**/Y
void f5() {}
void OnStart()
{
        MACRO1( f, 5 )(); //нормально
        MACRO2( f, 5 )(); //error: 'f/' - undeclared identifier
}
 
A100:

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

Запретил бы и MACRO1.

 
fxsaber:

Запретил бы и MACRO1.

На основании чего? Только потому что вам так захотелось?

Есть общее правило: комментарии могут быть в любой части программы. Если вы комментариями не пользуетесь - это не значит что другие не пользуются

 
A100:

На основании чего? Только потому что вам так захотелось?

Есть общее правило: комментарии могут быть в любой части программы. Если вы комментариями не пользуетесь - это не значит что другие не пользуются

Потому что это такой же изврат, как это

#define MACRO(A,B)  A## \
                      B

void OnStart()
{
  int j2;
  int i = MACRO(j,2);
}


Кстати, баг похоже

#define MACRO(A,B)  A##B

void OnStart()
{
  int i = MACRO(1,2); // '12' - undeclared identifier
}
 
fxsaber:

Потому что это такой же изврат, как это

Кстати, баг похоже

Нет реальных аргументов - так и скажите. В вашем представлении это не может быть багом потому что так писать нельзя - это все равно что заменить в примере выше комментарии /**/ пробелами

#define MACRO2( X, Y )  X## Y
 
A100:

Нет весомых аргументов - так и скажите. В вашем представлении это не может быть багом

void OnStart()
{
  int j2;
  int i = j/**/2;
}

А макрос почему в этом месте не должен вызывать ошибку? Только не надо в качестве аргумента приводить С++, где за других кто-то подумал.