Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1177
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А не пробовали строку подсунуть как #define str "длинная длинная строка" или даже как две строки через + или строковую функцию.
Ведь Comment тоже ограничен в длине строки, но переменными можно засунуть столько, что на мониторе не умещается в несколько строк.
Спасибо, действительно сокращение работает, компилятор действительно понимает, но не принимает декорированных функций(кажется это так называется) с @. А старый компилятор принимает такие функции но не добавляет в import замены воспринимая буквально. Если же импортировать функции как в документации к dll т.е. "TRANS2QUIK_CONNECT", а не " _TRANS2QUIK_CONNECT@16",то она возвращает 2(TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND) . В чем разница не понимаю.
Спасибо, действительно сокращение работает, компилятор действительно понимает, но не принимает декорированных функций(кажется это так называется) с @. А старый компилятор принимает такие функции но не добавляет в import замены воспринимая буквально. Если же импортировать функции как в документации к dll т.е. "TRANS2QUIK_CONNECT", а не " _TRANS2QUIK_CONNECT@16",то она возвращает 2(TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND) . В чем разница не понимаю.
Я не знаю где в документации об этом написано, но перед спецсимволом в строке должен стоять слеш. Поэтому строка адреса, напримкр должра выглядеть так: С:\\папка\\файл
То-есть попробуйте записать так: "_TRANS2QUIK_CONNECT\@16"
А вообще, я с .dll не дружу. Так-что если не помогает, то …
@Maxim Kuznetsov Открывал dll в WinHex и Dependency Walker он выдает Ordinal, Hint, Function, Entry Point и именно он выдал имена функций типа (_TRANS2QUIK_CONNECT@16) c ними старый компилятор работает и результат dll обратно выдает. Вы про эти символические имена?
@Alexey Viktorov Я сам профан в программировании, но раньше скромных знаний хватало чтобы сделать мои задумки. Экранирование \\ не получается.
Нашел автоматический генератор proxy dll на python https://github.com/mavenlin/Dll_Wrapper_Gen . Думал что для меня по сути он подходит изменить только имена функций в собранной dll. Пытался его собрать без изменений компилятор ругается на @ в именах функций. Сгенерированный кусок cpp
Кусок сгенерированного def файла
Я так понимаю что _TRANS2QUIK_CONNECT@16 _wrapper это название функций которые будут из proxy dll видны. Поэтому я сократил до вида CONNECT. Dll собралась но терминал показывает TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND. Не для моих мозгов это видимо. Надо будет руками проверить торговую систему, а там заказать dll.
@Maxim Kuznetsov Открывал dll в WinHex и Dependency Walker он выдает Ordinal, Hint, Function, Entry Point и именно он выдал имена функций типа (_TRANS2QUIK_CONNECT@16) c ними старый компилятор работает и результат dll обратно выдает. Вы про эти символические имена?
@Alexey Viktorov Я сам профан в программировании, но раньше скромных знаний хватало чтобы сделать мои задумки. Экранирование \\ не получается.
Нашел автоматический генератор proxy dll на python https://github.com/mavenlin/Dll_Wrapper_Gen . Думал что для меня по сути он подходит изменить только имена функций в собранной dll. Он собрал проект для visual studio. Пытался его собрать без изменений компилятор ругается на @ в именах функций. Сгенерированный кусок cpp
Кусок сгенерированного def файла
Я так понимаю что _TRANS2QUIK_CONNECT@16 _wrapper это название функций которые будут из proxy dll видны. Поэтому я сократил до вида CONNECT. Dll собралась но терминал показывает TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND. Не для моих мозгов это видимо. Надо будет руками проверить торговую систему, а там заказать dll.
Вы за всё время не сказали ни слова о разрядности терминала и DLL. А это важно.
@Koldun Zloy Пробовал Trans2QuikAPI_1.2 она 32 битная с mt4 и quik 7, а также Trans2QuikAPI_1.3_x64 c mt5 и quik 8 он вроде как только 64 битный. В самом квике внешние транзакции включил. Думал что не правильно импортирую функцию. Сам написал
Вроде как эквивалентные типы данных. Ведь если было бы не правильно, я так думаю, со старым компилятором не заработало бы.
Нужно чтобы в определенный момент скорость тестирования уменьшалась. Вручную все такие моменты сложно подловить...
Здравствуйте! Я создал панель, которая состоит из фона и кнопок в MQL5. При перетаскивании панели, двигается только фон, а кнопки остаются на месте, и только на следующем тике кнопки перемещаются за фоном на нужное место. Подскажите пожалуйста, как сделать так, чтобы кнопки и фон перемещались одновременно. Заранее благодарю!
речь про тестер или онлайн?
если онлайн - смотреть код, где то событие перемещения не проброшено нормально. Панелей кстати на сайте только библиотек пять разных, вы про какую?
А в тестере - вроде бы никак, да и зачем.