Ошибки, баги, вопросы - страница 2394
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А хотелось бы, чтобы выдавал
'OnInit2' - function not defined Test3.mq5 3 3 Пропишите внизу OnInit 1 error(s), 0 warning(s) 2 1В других компиляторах есть такая возможность?сейчас компилятор выдает
А хотелось бы, чтобы выдавал
в компиляторах вряд ли, в интерпретаторах скорее всего возможно, в компиляторах обычно применяется статическое связывание указателей на вызовы ф-ций или переменных (вроде так должно звучать? ), т.е. на этапе компиляции будут вычислены все смещения указателей
в Вашем примере все по старинке, #define и #ifndef ( _DEBUG ? )
в компиляторах вряд ли, в интерпретаторах скорее всего возможно, в компиляторах обычно применяется статическое связывание указателей на вызовы ф-ций или переменных (вроде так должно звучать? ), т.е. на этапе компиляции будут вычислены все смещения указателей
в Вашем примере все по старинке, #define и #ifndef ( _DEBUG ? )
Хотел только, чтобы компилятор сообщение об ошибке дополнял комментарием строки.
тоже сталкивался. не скажу, что в последней версии, но в предыдущих - точно. в основном в индикаторах, где работаю с объектами (надписи и т.п.) . возможно,это связано c большим числом индикаторных массивов. в среднем, около 40, как "INDICATOR_DATA", так и "INDICATOR_CALCULATIONS". решение тоже было одно - принудительное удаление терминала из списка программ в диспетчере задач. индикаторы, кстати, если память не изменяет, в подобных ситуациях даже после удачной компиляции в терминале не обновлялись. но тут не уверен. проще было из диспетчера задача мт удалить.
а. как выкрутился. при том же числе массивов или большем, оптимизировал код, чтобы в единицу времени обрабатывались данные из минимально возможного числа этих массивов.
Не вникал в представленный код, попробую угадать - проблема в том, что оба EA работают с одним и тем же графическим ресурсом.
это пример использования стандартной библиотеки class CAppDialog
если использовать этот класс, то при переключении чартов панелька всегда вызывается метод Minimize()
я не захотел разбираться, просто написал свой OnClickButtonMinMax(), весьма криво, но работал без проблем, вот выдрал из своего исходника
CAppDialog::OnClickButtonMinMax() { if(Width()<200) Minimized_state=false; if(Minimized_state) { Minimize(); } else { Maximize(); ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true); ObjectSet(TS2.Name()+"Label",OBJPROP_BACK,true); ObjectSet(CP.Name()+"Label",OBJPROP_BACK,true); } }в классе CAppDialog какой баг еще, после Minimize() и Maximize() изменяется свойство OBJPROP_BACK класса CCheckBox , и чекбоксы становятся с границей "квадратика", тож в этом коде по быстрому устранил ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true); ...
Привет!
Дано: два графика в терминале мт5,например, EURUSD H1,EURUSD H1. Пусть графики имеют номера 1 и 2, соответственно, при нумерации слева - направо.
При размещение "панели" (практически любой) на графике, который, имеет номер 1, после перехода на график 2 и возврате на 1 график, панель минимизируется - сворачивается в левый верхний угол.
В тоже время, если "панель" поместить на график 2, при существующем, естественно, графике 1, то при переходе на 1 график и возврате на график 2, минимизации - сворачивания "панели" в левый верхний угол не происходит :).
Кто может пояснить в чём суть и как с этим бороться?
Удалил свой предыдущий ответ
Окно сворачивается, потому что оно не помещается на чарте.
Выйдете из режима "чарт на всё окно терминала", вы увидите реальные размеры чартов.
Для того чтобы избежать сворачивания панели на чарте, нужно увеличить размеры чартов.
После этого можете развернуть чарт на весь терминал и попробуйте переключаться между ними
это пример использования стандартной библиотеки class CAppDialog
если использовать этот класс, то при переключении чартов панелька всегда вызывается метод Minimize()
я не захотел разбираться, просто написал свой OnClickButtonMinMax(), весьма криво, но работал без проблем, вот выдрал из своего исходника
в классе CAppDialog какой баг еще, после Minimize() и Maximize() изменяется свойство OBJPROP_BACK класса CCheckBox , и чекбоксы становятся с границей "квадратика", тож в этом коде по быстрому устранил ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true); ...
Вы правы.
Изучил представленный код и изменил свой ответ.
Проблема в том, что в MDI приложении, только одно активное окно развёрнуто на максимальный размер, остальные как бы лежат за максимальным и имеют "обычный" размер.
При переключении вкладок, получается, что новое активное окно разворачивается,а предыдущее активное сворачивается до обычного размера.
EA ловит изменение размера чарта, определяет, что панель не умещается и минимизирует окно.
Мы обдумаем и возможно поменяем это поведение в СБ.
Вы правы.
Изучил представленный код и изменил свой ответ.
Проблема в том, что в MDI приложении, только одно активное окно развёрнуто на максимальный размер, остальные как бы лежат за максимальным и имеют "обычный" размер.
При переключении вкладок, получается, что новое активное окно разворачивается,а предыдущее активное сворачивается до обычного размера.
EA ловит изменение размера чарта, определяет, что панель не умещается и минимизирует окно.
Мы обдумаем и возможно поменяем это поведение в СБ.
вот воспроизвел свой код без всего лишнего, но к сожалению у меня код только под МТ4 - я под МТ4 имею практику написания, а вот под МТ5 мало пишу, но думаю у Вас библиотеки одинаковые
Удалил свой предыдущий ответ
Окно сворачивается, потому что оно не помещается на чарте.
Выйдете из режима "чарт на всё окно терминала", вы увидите реальные размеры чартов.
Для того чтобы избежать сворачивания панели на чарте, нужно увеличить размеры чартов.
После этого можете развернуть чарт на весь терминал и попробуйте переключаться между ними
точно,было такое, в самом начале,когда только панели появились. рисунки я неудачные приложил. место сэкономил. реально панель раза в три меньше развёрнутого окна графика.
а вариант, о котором вы говорите, да, уже разбирался на форуме. давно, правда. но за ответ спасибо. про этот возможный вариант я подзабыл.
и почему при размещении во втором окне и при переходе в него из первого окна во время работы при развёрнутых графиках - панель не сворачивается?
это пример использования стандартной библиотеки class CAppDialog
если использовать этот класс, то при переключении чартов панелька всегда вызывается метод Minimize()
я не захотел разбираться, просто написал свой OnClickButtonMinMax(), весьма криво, но работал без проблем, вот выдрал из своего исходника
в классе CAppDialog какой баг еще, после Minimize() и Maximize() изменяется свойство OBJPROP_BACK класса CCheckBox , и чекбоксы становятся с границей "квадратика", тож в этом коде по быстрому устранил ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true); ...
отредактировал библиотеку с учётом вашего варианта ограничения размера панели, во избежание её сворачивания при переходе из другого окна, всё получилось. спасибо.