Обсуждение статьи "Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?" - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я в связке MQL4-DLL у себя заметил такую проблемы с передачей строк. В MQL4 коде я вызываю функцию и в DLL и передаю строку:
а в длл принимаю эту строку с именем инструмента
И вот в какой то момент на каком то тике (может и полдня работать нормлаьно) длл вдруг получает левую строку с непонятными символами вместо имени инструмента.
Может быть вы проверите подобный код в mql5 ? Что то тут видать с указателем на память неверно было в MQL4 или конфликт доступа к строке потоков иногда случается внутри терминала.
double массивы и int переменные передаёт правильно и без подобных проблем.
Я напишу потом тест как появится время и для связки MQL5-DLL, но коли вы тоже тестируете щас эти моменты, то напишите тоже такой тест, чтобы проверить стабильность передачи строк в длл повторяя процесс на каждом тике длительный период времени.
Если экспорт котировок возможен только через dll, то получается нужно на каждый экспортируемый инструмент вешать скрипт? А если их много? 50 например?
Понимаю, что можно в одном скрипте передавать котировки для многих инструментов, но это же не будет полноценной заменой DDE, где тики не теряются.
Дело в том, что перед нами нет задачи "предоставить интерфейс выдачи котировок".
У нас задача в создании полноценной и самодостаточной среды для разработки аналитических систем. Такой среды, чтобы даже сторонние программы применять не было бы особой нужды.
Дело в том, что перед нами нет задачи "предоставить интерфейс выдачи котировок".
У нас задача в создании полноценной и самодостаточной среды для разработки аналитических систем. Такой среды, чтобы даже сторонние программы применять не было бы особой нужды.
GUI очень слабый - написание логики заняло 2 дня, чтобы хоть как-то отобразить рассчитанную информацию потратил целый день
В итоге махнул рукой на все - сделал транспорт данных (https://www.mql5.com/ru/forum/382) и радуюсь жизни
Не слишком ли высокие цели ставят себе разработчики?
И зачем изобретать велосипед, если уже давным-давно все сделано (C, Delphi, ...)?
GUI очень слабый - написание логики заняло 2 дня, чтобы хоть как-то отобразить рассчитанную информацию потратил целый день
В итоге махнул рукой на все - сделал транспорт данных (https://www.mql5.com/ru/forum/382) и радуюсь жизни
Не слишком ли высокие цели ставят себе разработчики?
И зачем изобретать велосипед, если уже давным-давно все сделано (C, Delphi, ...)?
ИМХО проблема МТ5 началась с самого его зарождения: отсутствие чёткого видения того, что же этот продукт призван решить. Либо это модернизированный и основывающийся на МТ4 но поднятый до новой версии по скорости и расширенным функциям продукт, либо это новая современная торговая платформа, имеющая хорошо продуманную структуру и расширяемость (т.е. содержащая бизнес классы, или trading framework, для выполнения чётко установленных специфических классов задач, и опирающаяся на какой-нибудь современный язык/среду программирования с его общим функционалом и широко доступными средствами программной поддержки). Решить эту дилемму попыткой объединения противоположностей, заварив в некотором роде некий компот, так сказать методом "экспромпта самых талантливых солистов", кажется, не совсем удалось.
Если это кому-то покажется чистым флудом без тени конструктива, то во второй раз ведём в баню, или расстреливаем окончательно :)
2 pisara
Зришь в корень
MQL ориентирован в большей степени на трейдеров с небольшими навыками в программировании. А-ля Basic для чайников.
Не имею ничего против такой позиции - спасибо и за это.
Но позиционировать MQL5 в качестве "полноценной и самодостаточной среды для разработки аналитических систем. Такой среды, чтобы даже сторонние программы применять не было бы особой нужды." - это серьезная заявка. Чтобы "обвязать" сердцевину сколь-нибудь удобоваримым суповым набором потребуются годы работы не отдельных энтузиастов, а целой команды профессиональных программеров под руководством хорошего архитектора. Про бюджет и менеджмент ничего не могу сказать - это уже другие уровни проекта.
Хочу поддержать сотрудников компании в их нелегком труде. Хочу сказать спасибо за их труд. Но надо смотреть правде в глаза - MQL5 это лишь этап в достижении поставленной цели.
P.S. Москва не сразу строилась
Проверить скорость вызова очень просто. Например, грубо подсчитать можно так:
У меня на Quad Q9400 @2.66Ghz получилось 57 000 вызовов в секунду. Тот же самый код дает в MetaTrader 4 около 20 000 000 вызовов в секунду, так как там нет контроля и обвязки.
Мы обязательно попробуем уменьшить потери на вызовах DLL в MetaTrader 5.
Хорошо бы сделать специальную директиву компилятору, которая по умолчанию включена, и которая вставляет эти обёртки к длл-шным вызовам. В отключенном состоянии хорошо бы эти обёртки не вставлять. Типа реживом debug и release. Всё таки, иногда 57К маловато будет. Это же время сжирается у времени работы dll.
Мы методично с 2001 года создали 4 поколения торговых языков с огромным сообществом трейдеров. Конкуренты умирали, их языки управления не развивались, а мы работали, работаем и будем работать.
Renat:
а мы работали, работаем и будем работать.
Как завещал Великий Дедушка Ленин.
;)
Не помню, кажется спрашивал уже...А возможно будет создавать простые длл средствами мкл5,
проще говоря написать в едиторе и скомпилировать...?