Всем привет дорогие форумчане, нужен совет
Хочу сделать копира МТ4-МТ4 есть знакомые шарящие в написании советников и все говорят что без DLL никак
Так вот суть вопроса, возможно ли создание копира без использования DLL?
конечно, через файлы
Через файлы конечно можно, сам делал, но есть одно но. Если кто хорошо в теме, то поправьте, а разработчикам не плохо бы пояснение дать.
Имеем следующее:
- С большой долей вероятности для работы с файлами используется чистое WinAPI.
- Копировщик делаем красиво, то есть открываем совместный доступ к чтению/записи со стороны источников и приемников, множественное число не просто так, мы же делаем не абы что, а путевый продукт, и после этого хэндлы до конца работы не закрываем.
- Совместная запись в файл в Windows требует синхронизации (LockFile / UnlockFile), а в mql я аналогов не знаю, но возможность совместной записи есть.
- Явная информация о том, что совместная запись в файл потокобезопасна, в документации отсутствует.
Вы как хотите, но я считаю, что пока в официальной документации явно не прописали вопрос потокобезопасности вышеуказанного - это является undefined behaviour.
Вот и остается, или унылый код писать с постоянным переоткрытием файла (со всеми накладными расходами), или dll, или вообще исключить возможность работы с более чем одним источником.
P.S. Троллям разрешаю порезвиться)))
Всем привет дорогие форумчане, нужен совет
Хочу сделать копира МТ4-МТ4 есть знакомые шарящие в написании советников и все говорят что без DLL никак
Так вот суть вопроса, возможно ли создание копира без использования DLL?
Не верьте. DLL - Dynamic Load Library - библиотека динамической загрузки, если по-русски.
Есть несколько вариантов структуры исполняемого кода, раньше было 3, теперь память экономить перестали и их осталось два: простая и динамическая структуры. Оверлейную теперь не используют, поскольку память не экономят.
Простая загружает в оперативную память сразу весь код, а динамическая подгружает модули по мере необходимости. Вот и вся разница. Просто, последняя какое-то время экономит память, но итог тот-же, память заканчивается, поскольку эти модули после никто не выгружает, как в оверлее.
Короче, программируйте, как хотите, если хотите программировать,- это довольно увлекательное хобби.
Если с WinAPI дружишь, то без проблем. ИМХО, самый оптимальный вариант - через общую память (FileMapping)
конечно, через файлы
Делайте сразу на МТ5. Там сокеты есть. А это, как никак, прямое подключение между терминалами.
Владимир, самых оптимальных не бывает. Оптимальные уже самые. Не издевайтесь над новичком,- лет через 10 он может отреагировать.
Максим, Игорь: Можно было просто ответить.
Делайте сразу на МТ5. Там сокеты есть. А это, как никак, прямое подключение между терминалами.
На MT5? Или для MT5. Язык то уже общий или есть разница? Или сокеты только для MT5 терминалов?
На MT5? Или для MT5. Язык то уже общий или есть разница? Или сокеты только для MT5 терминалов?
К сожалению, разница есть и не только в плане сокетов. Функции работы с сокетами имеются только в MQL5. Соответственно, и работают они только в МТ5. В MQL4 их даже Meta Editor не подсвечивает, как иногда это происходит с функциями, которых нет в MQL4.
На MT5? Или для MT5. Язык то уже общий или есть разница? Или сокеты только для MT5 терминалов?
Давайте, сначала, со мною. На МТ5. И не хамить, а то накажу.
Владимир, самых оптимальных не бывает. Оптимальные уже самые. Не издевайтесь над новичком,- лет через 10 он может отреагировать.
Максим, Игорь: Можно было просто ответить.
вообще то они как раз просто и ответили, дали ответ по существу, в отличии от:
Не верьте. DLL - Dynamic Load Library - библиотека динамической загрузки, если по-русски.
Есть несколько вариантов структуры исполняемого кода, раньше было 3, теперь память экономить перестали и их осталось два: простая и динамическая структуры. Оверлейную теперь не используют, поскольку память не экономят.
Простая загружает в оперативную память сразу весь код, а динамическая подгружает модули по мере необходимости. Вот и вся разница. Просто, последняя какое-то время экономит память, но итог тот-же, память заканчивается, поскольку эти модули после никто не выгружает, как в оверлее.
Короче, программируйте, как хотите, если хотите программировать,- это довольно увлекательное хобби.
- где нет совершенно ответа на вопрос: "Так вот суть вопроса, возможно ли создание копира без использования DLL?" который подразумевает два варианта ответов "Да" и "Нет", что и будет самыми простыми ответами которые могут быть.
Правильный ответ на вопрос стартера: "Да".
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Хочу сделать копира МТ4-МТ4 есть знакомые шарящие в написании советников и все говорят что без DLL никак
Так вот суть вопроса, возможно ли создание копира без использования DLL?