Хороший пост.
На такие обычно приходит Ренат и говорит, что вы нихрена не видите и не понимаете из своей песочницы.
Хороший пост.
На такие обычно приходит Ренат и говорит, что вы нихрена не видите и не понимаете из своей песочницы.
Пожуем - увидим.
ЗЫ. Не грех и голосование было бы устроить, вопрос не праздный.
Зы.ЗЫ. Четверки это тоже касается.
Потребность есть. И такая потребность возникает в наиболее интересных задачах.
Не в тему, но пользуясь случаем, напомню, что когда-то обещали сделать ResourceRead(). Это хотя бы экспертам внутри терминала дало бы возможность обмениваться большими объемами информации.
Любой разработчик может для себя сделать любые решения и передавать в/из _своих_ терминалов все, что можно. Но вот делать штатную дыру и штатное распространие глобальной дыры на 100% всех терминалов мы не будем. Тем более не будем делать сетевые http соединения.
В очередных билдах будет новый метод кастомного сетевого взаимодействия с торговыми серверами, который позволит брокерам и разработчикам на MQL4/5 расширять функционал терминала с поддержкой на серверах, где обработчики пишутся на плагинах.
В очередных билдах будет новый метод кастомного сетевого взаимодействия с торговыми серверами, который позволит брокерам и разработчикам на MQL4/5 расширять функционал терминала с поддержкой на серверах, где обработчики пишутся на плагинах.
Смею предположить, что организация двухстороннего пайма по сути сделает МТ5 лишь передаточным звеном между сторонними приложениями и биржей. В этом случае неизбежны появления так называемых новых независимых программ-надстроек над терминалом - по сути прямых конкурентов MQ паразитирующих на их технологиях и всего за 29.95$ в месяц обещающих сделать работу на финансовых рынках "еще более удобной и производительной".
Именно.
Причем еще важнее, то каждая первая программа будет по сути шпионской и собирать массу критической информации о счетах, истории и настройках счетов. В этом вопросе у сторонних разработчиков нет никаких тормозов - им плевать на безопасность и разрушение приватности. Они искренне "не понимают", в чем проблема. Когда ловишь их, они отпираются до последнего, а потом все сводится к тому, что "вы у нас трудовую копеечку отнимаете, а мы же вам столько лет помогали!". Это еще не говоря о нарушениях наших прав, лицензий и прямых взломах.
На такую "помощь" мы уже насмотрелись и поэтому ужесточаем правила.
А можно с этого места по подробнее ?
Брокер (или сторонний разработчик) может написать на чистом MQL4/MQL5 программу, легально включить ее в состав своего дистрибутива (мы ее включим в его дистрибутив) и настроить дефолтные чарты с уже прописанными индикаторами и экспертами. Мы не против включения кастомных программ (исключительно на чистом MQL4/MQL5 коде без DLL и без фанатизма) в собственные дистрибутивы брокеров.
Эта программа может реализовать собственный функционал, поддерживаемый торговым сервером. Для этого для сервера пишется плагин на MetaTrader 4/5 Server API, который умеет получать и отвечать на кастомные пакеты команд, посылаемые из MQL4/MQL5 программ на терминале.
Таким образом брокер может расширить возможности терминала, нисколько не жертвуя безопасностью клиентов и не нарушая лицензий на использование системы. Для сторонних разработчиков появляется новая возможность абсолютно легально и штатно продавать свои решения.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Анализируя многолетний опыт работы с MQL и пытаясь сопоставить его возможности с потребностями, чётко осознал
наиболее частый камень преткновения, который появлялся от задачи к задаче - это двусторонний обмен информацией.
Да, всё просто: древний топор MQL - есть имение только одного варианта выкачки инфы от эксперта - это файлы на железке. Которые по нынешним меркам есть первобытное орудие нелегкого труда программиста.
И осознание этого факта уже не мало, чтоб понять направление необходимого развития.
А ведь сколько кода перелопачено, в поисках других вариантов передачи инфы!
Но все они сводятся к использованию не-MQL средств... к сожалению.
Обмен информацией между терминалами, и между терминалами и другими приложениями, отправка данных на сайт, передача информации в агентов или из агентов в эксперт - каждый из нас, уважаемые пользователи и разработчики, может продолжить этот список.
За годы нашей с вами активной практики в MQL было адаптированы и перепроверены практически все возможные системные средства:
- легальные отправку почты, FTP, Push сообщений
- файлы вне папки терминала
- маппинг
- пайпы
- сокеты
Из технологии обмена информации разработчиками нам дан пайп. Но дан почему то в урезанном виде. Пайп нативно в MQL может быть только клиентским.
По этому поводу у меня удивление и вопрос: почему только клиентский? Получилось нечто "черное на одной ноге"...
Пытаясь анализировать это ограничение на предмет безопасности - прихожу к выводу что нет, на безопасность серверный пайп MQL никак не влияет. Так как в текущем варианте обязательно наличии самописного сервера exe файла - то есть это не безопасно все равно.
Может дело все в ленности разработчиков? так вроде тоже нет, активно поддерживают и развивают...
-----
Более года назад по рекомендации Рената я портировал системный winsock2 в MQL без самописных dll (как это сделано - частично описал в статье).
Да, то есть вот так прямо в MQL коде поднятие сервера + перевод его в неблокируюищий режим + опрос его по миллисекундному таймеру (тогда еще так) акцепта клиентов + их обслуживание по тому же таймеру...
Ренат тогда сказал, что по "неким" техническим причинам такое невозможно. Но получилось даже наоборот - все возможно и даже на максимуме возможного!
Сделал эксперт сервером прямо на чарте, и подключался к нему с любого компа в интернете - это был прорыв в технике работы. Прямой нацел на p2p соединение, копировщики, синхронизаторы, оптимизаторы, распределенные задачи и т.д.
-----
Поэтому возвращаясь к моему вопросу про дальнейшее развитие MQL хочу резюмировать так:
Уважаемые разработчики, когда мы с вами уже сделаем шаг от древнего файла, в намного уютное и быстрое и лучшее средство - как клиент/серверная технология?
Ведь то, что вы дали клиентские пайпы - это автоматически означает бесповоротный выход из песочницы. Ибо клиентский пайп в MQL подразумевает самописный серверный пайп, а он то как раз и выходит за неё.
PS.
Недавно как пример была поднята немаловажная тема по передаче инфы в локальные агенты. Это еще один "звоночек" для вас. Таких тем много и каждый пользователь MQL пытается их решить по уровню своих знаний.
До этого времени я не осознавал всю важность встроенных средств в MQL по обмену инфы. А особенно не вникал в уровень потребностей.
Но по анализу таких тем вырисовался однозначный вывод - двустороннему обмену информации быть!
Время собирать камни пришло.