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

 

Доброго времени суток! Помогите, кто поумнее!  Осваиваю mql5, неплохо зная 4-й. Пишу эксперта (а точнее переношу с mql4 со всеми правками). Возникает такая ситуация: эксперт при запуске вроде бы сделку открывает, все нормально. Оставляю работать - он то совершает, то нет открытие/закрытие сделки.

retcode 10021 -отсутствуют котировки для обработки запроса. Что это значит? Имитирую срабатывание условия открытия и закрытия сделки здесь же в эксперте - все работает. 

В чем может быть причина такого поведения? 

[Удален]  
Aleksey Vyazmikin:
Совсем нет идей, почему так получилось?

Случается. Почему - хз (хто зает). Очень популярный ответ - а у вас стоит последний бета-релиз? Если нет, то .... и далее по тексту.

 
Сергей Таболин:

Случается. Почему - хз (хто зает). Очень популярный ответ - а у вас стоит последний бета-релиз? Если нет, то .... и далее по тексту.

Нее, хз это хочу знать.

 
Сергей Таболин:

Случается. Почему - хз (хто зает). Очень популярный ответ - а у вас стоит последний бета-релиз? Если нет, то .... и далее по тексту.

У меня 2097 стоит - самая большая проблема в том, что отловить такой баг ну очень сложно!

[Удален]  
fxsaber:
Прошу помочь разобраться. Следующий код в Тестере открывает окно загрузки сет-файла через вызов соответствующего меню.

Этот код отлично работает, когда в Тестере выбрана вкладка "Параметры". Тогда выделенный комментарием в коде SendMessage возвращает 1.

Но если сменить вкладку, то меню вызывается, но в нем не выбирается пункт "Загрузить" - SendMessage возвращает 0. При этом руками в открывшемся меню выбрать пункт получается без проблем.

Подскажите, где загвоздка, что SendMessage возвращает ноль?

PRINT( user32::SendMessageW( handle, WM_COMMAND, id, 0 ) ); // Выбор пункта меню "Загрузить"
 
Незначительная и просто обходится, но все равно ошибка при компиляции:
#define MACRO()    Print( "OK" ) //Error: ')' - unexpected in macro formal parameter list
void OnStart() { MACRO(); }
 
A100:
Незначительная и просто обходится, но все равно ошибка при компиляции:
#define MACRO(void)    Print( "OK" )
void OnStart() { MACRO(); }
 
Igor Makanu:

void - это самый худший вариант для обхода:

#define MACRO(void)    void *a
void OnStart()
{
        MACRO(); //Error: 'a' - undeclared identifier
}
 
A100:

void - это самый худший вариант для обхода:

это не обход, это работает, могу ошибаться, но кажется где то в СБ даже видел, но дело Ваше использовать или нет это

 
Igor Makanu:

это не обход, это работает, могу ошибаться, но кажется где то в СБ даже видел, но дело Ваше использовать или нет это

Где работает? - специально для Вас привел простейший пример где void не работает - более того работает почти ЛЮБОЙ ДРУГОЙ идентификатор КРОМЕ void. Разберитесь сначала что такое void