MQL: безопасность vs возможностей

 

Анализируя многолетний опыт работы с MQL и пытаясь сопоставить его возможности с потребностями, чётко осознал
наиболее частый камень преткновения, который появлялся от задачи к задаче - это двусторонний обмен информацией.

Да, всё просто: древний топор MQL - есть имение только одного варианта выкачки инфы от эксперта - это файлы на железке. Которые по нынешним меркам есть первобытное орудие нелегкого труда программиста.
И осознание этого факта уже не мало, чтоб понять направление необходимого развития.

А ведь сколько кода перелопачено, в поисках других вариантов передачи инфы!
Но все они сводятся к использованию не-MQL средств... к сожалению.

Обмен информацией между терминалами, и между терминалами и другими приложениями, отправка данных на сайт, передача информации в агентов или из агентов в эксперт - каждый из нас, уважаемые пользователи и разработчики, может продолжить этот список.
За годы нашей с вами активной практики в MQL было адаптированы и перепроверены практически все возможные системные средства:
- легальные отправку почты, FTP, Push сообщений
- файлы вне папки терминала
- маппинг
- пайпы
- сокеты

Из технологии обмена информации разработчиками нам дан пайп.  Но дан почему то в урезанном виде. Пайп нативно в MQL может быть только клиентским.

По этому поводу у меня удивление и вопрос: почему только клиентский?  Получилось нечто "черное на одной ноге"...
Пытаясь анализировать это ограничение на предмет безопасности - прихожу к выводу что нет, на безопасность серверный пайп MQL никак не влияет. Так как в текущем варианте обязательно наличии самописного сервера exe файла - то есть это не безопасно все равно.
Может дело все в ленности разработчиков? так вроде тоже нет, активно поддерживают и развивают...

-----

Более года назад по рекомендации Рената я портировал системный winsock2 в MQL без самописных dll (как это сделано - частично описал в статье).
Да, то есть вот так прямо в MQL коде поднятие сервера + перевод его в неблокируюищий режим + опрос его по миллисекундному таймеру (тогда еще так) акцепта клиентов + их обслуживание по тому же таймеру...

Ренат тогда сказал, что по "неким" техническим причинам такое невозможно. Но получилось даже наоборот - все возможно и даже на максимуме возможного!

Сделал эксперт сервером прямо на чарте, и подключался к нему с любого компа в интернете - это был прорыв в технике работы. Прямой нацел на p2p соединение, копировщики, синхронизаторы, оптимизаторы, распределенные задачи и т.д.

-----

Поэтому возвращаясь к моему вопросу про дальнейшее развитие MQL хочу резюмировать так:
Уважаемые разработчики, когда мы с вами уже сделаем шаг от древнего файла, в намного уютное и быстрое и лучшее средство - как клиент/серверная технология?
Ведь то, что вы дали клиентские пайпы - это автоматически означает бесповоротный выход из песочницы. Ибо клиентский пайп в MQL подразумевает самописный серверный пайп, а он то как раз и выходит за неё.

PS.
Недавно как пример была поднята немаловажная тема по передаче инфы в локальные агенты. Это еще один "звоночек" для вас. Таких тем много и каждый пользователь MQL пытается их решить по уровню своих знаний.

До этого времени я не осознавал всю важность встроенных средств в MQL по обмену инфы. А особенно не вникал в уровень потребностей.
Но по анализу таких тем вырисовался однозначный вывод - двустороннему обмену информации быть!
Время собирать камни пришло.

 
Подписываюсь под каждым словом.
 

Хороший пост.

На такие обычно приходит Ренат и говорит, что вы нихрена не видите и не понимаете из своей песочницы.

 
TheXpert:

Хороший пост.

На такие обычно приходит Ренат и говорит, что вы нихрена не видите и не понимаете из своей песочницы.

  Пожуем - увидим.

  ЗЫ. Не грех и голосование было бы устроить, вопрос не праздный. 

  Зы.ЗЫ. Четверки это тоже касается. 

 
давно пора..
 

Потребность есть. И такая потребность возникает в наиболее интересных задачах.

Не в тему, но пользуясь случаем, напомню, что когда-то обещали сделать ResourceRead(). Это хотя бы экспертам внутри терминала дало бы возможность обмениваться большими объемами информации. 

 
Как обычно, говорится лишь о пользе, полностью игнорируя безопасность и последствия. Плюс оценка только со стороны одного трейдера.

Любой разработчик может для себя сделать любые решения и передавать в/из _своих_ терминалов все, что можно. Но вот делать штатную дыру и штатное распространие глобальной дыры на 100% всех терминалов мы не будем. Тем более не будем делать сетевые http соединения.

В очередных билдах будет новый метод кастомного сетевого взаимодействия с торговыми серверами, который позволит брокерам и разработчикам на MQL4/5 расширять функционал терминала с поддержкой на серверах, где обработчики пишутся на плагинах.
 
Renat:
В очередных билдах будет новый метод кастомного сетевого взаимодействия с торговыми серверами, который позволит брокерам и разработчикам на MQL4/5 расширять функционал терминала с поддержкой на серверах, где обработчики пишутся на плагинах.
  А можно с этого места по подробнее ?
 
Смею предположить, что организация двухстороннего пайма по сути сделает МТ5 лишь передаточным звеном между сторонними приложениями и биржей. В этом случае неизбежны появления так называемых новых независимых программ-надстроек над терминалом - по сути прямых конкурентов MQ паразитирующих на их технологиях и всего за 29.95$ в месяц обещающих сделать работу на финансовых рынках "еще более удобной и производительной".
 
C-4:
Смею предположить, что организация двухстороннего пайма по сути сделает МТ5 лишь передаточным звеном между сторонними приложениями и биржей. В этом случае неизбежны появления так называемых новых независимых программ-надстроек над терминалом - по сути прямых конкурентов MQ паразитирующих на их технологиях и всего за 29.95$ в месяц обещающих сделать работу на финансовых рынках "еще более удобной и производительной".

Именно.

Причем еще важнее, то каждая первая программа будет по сути шпионской и собирать массу критической информации о счетах, истории и настройках счетов. В этом вопросе у сторонних разработчиков нет никаких тормозов - им плевать на безопасность и разрушение приватности. Они искренне "не понимают", в чем проблема. Когда ловишь их, они отпираются до последнего, а потом все сводится к тому, что "вы у нас трудовую копеечку отнимаете, а мы же вам столько лет помогали!". Это еще не говоря о нарушениях наших прав, лицензий и прямых взломах.

На такую "помощь" мы уже насмотрелись и поэтому ужесточаем правила.

 
FAQ:
  А можно с этого места по подробнее ?

Брокер (или сторонний разработчик) может написать на чистом MQL4/MQL5 программу, легально включить ее в состав своего дистрибутива (мы ее включим в его дистрибутив) и настроить дефолтные чарты с уже прописанными индикаторами и экспертами. Мы не против включения кастомных программ (исключительно на чистом MQL4/MQL5 коде без DLL и без фанатизма) в собственные дистрибутивы брокеров.

Эта программа может реализовать собственный функционал, поддерживаемый торговым сервером. Для этого для сервера пишется плагин на MetaTrader 4/5 Server API, который умеет получать и отвечать на кастомные пакеты команд, посылаемые из MQL4/MQL5 программ на терминале.

Таким образом брокер может расширить возможности терминала, нисколько не жертвуя безопасностью клиентов и не нарушая лицензий на использование системы. Для сторонних разработчиков появляется новая возможность абсолютно легально и штатно продавать свои решения.

Причина обращения: