Особенности языка mql5, тонкости и приёмы работы - страница 101
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Результат
Да, не учел внутреннюю работу Sleep, которая на моем компе занимает где-то 4 мс
По хорошему более точной альтернативой Sleep (кому важна точность :)) является
не гарантирую точность коэффициента 0.995. Подбирал для своего компьютера. Возможно и для всех подойдет.
Честно говоря, даже не знаю, что это обозначает и где в MQL5 можно с этим столкнуться.
Это значит, что всплески возможны в любых ситуациях, даже в синхронных функциях. О них просто надо знать и не обращать на них внимания, т.к. поделать с этим ничего нельзя.
https://en.wikipedia.org/wiki/InterruptПомимо файлов и глобальных переменных есть еще один способ передачи инфы между программами
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: TradeTransactions
fxsaber, 2018.09.20 16:23
Помимо файлов и глобальных переменных есть еще один способ передачи инфы между программами
Речь же идет о программах в рамках одного запущенного терминала?
Речь же идет о программах в рамках одного запущенного терминала?
Да. Поэтому и упомянуты глобальные переменные.
А между Терминалами стал использовать такой способ.Да. Поэтому и упомянуты глобальные переменные.
А между Терминалами стал использовать такой способ.Да, это реально круто!
Очень классная находка использование RAM дисков вместо SSD.
Да. Поэтому и упомянуты глобальные переменные.
А между Терминалами стал использовать такой способ.Я давно для себя использую такой легкий полухакерский способ с использованием user32.dll. Но массивы тиков таким образом не передашь.
Давно его придумал еще на заре осваивания MQL4. Более короткого решения нигде не встречал. Конечно он кривоват с точки зрения нормальной организации обмена, но работает шустро (не исключено, что быстрее всех существующих решений) и исправно и меня во всем устраивает, поэтому больше мозги не напрягал.
Ктоме того такой способ не требует дополнительных действий.
Смысл в том, что для всей Винды есть общая для всех переменная типа string - имя главного окна Windows. Все ее могут менять и все ее видят.
Я давно для себя использую такой легкий полухакерский способ с использованием user32.dll. Но массивы тиков таким образом не передашь.
Если через dll, то есть универсальное решение для всех типов данных.
но работает шустро (не исключено, что быстрее всех существующих решений)
Ну это вы уж перегнули ) Оно же во-первых идёт через очередь сообщений. Во-вторых, вам приходится делать какие-то дополнительные преобразования (туда и обратно). Плюс там какая-то валидация происходит.
Кстати, размер структуры не стоит прописывать явно. Для этого есть sizeof.
Если через dll, то есть универсальное решение для всех типов данных.
Я ж не спорю. Ваше решение действительно универсальнее.
Но лично мне мост между терминалами нужен только для передачи текущего тика.
Мой вариант просто попроще для понимания в силу примитивности и чуть работает быстрее. Замерял в сравнении с вашим - быстрее где-то в 1.5- 2 раза. Чтение при передачи одного тика 90 микросекунд против 160 микросекунд.