Обсуждение статьи "Работа с сокетами в MQL, или Как стать провайдером сигналов" - страница 3
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
но в статье
Мои замечания вообще нужны здесь? Я связываю mql код с внешним кодом, параллельно посматриваю на ваши наработки, находятся ошибки, могу и не писать сюда.
все ок, замечания пишите.
правки типов я отправляю в статью.
в примерах поиспользую 64 бит
https://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx
An unsigned LONG. The range is 0 through 4294967295 decimal This type is declared in WinDef.h as follows: typedef unsigned long ULONG;
но не уверен.
ЗЫ:
если я прав, то вот сюда вы зря ulong впихнули:
У меня получился такой синхронный TCP клиент:
На мкл мне сервер не нужен, поэтому только клиент. Проверил поверхностно.
ЗЫ: Спасибо за статью.У меня получился такой синхронный TCP клиент:
Могли бы Вы поделиться, для каких задач собираетесь применять? В статье даже просьба такая есть
Если у вас тоже есть идеи применения — поделитесь ими в комментариях к статье
В голову не приходит, где это было бы мне удобно.
Могли бы Вы поделиться, для каких задач собираетесь применять? В статье даже просьба такая есть
В голову не приходит, где это было бы мне удобно.
Я в линуксе, следовательно, ipc вообще становится нетривиальной задечей (общение между терминалом под wine и linuex exe). А IPC через сеть - универсальный способ. Я соединяю мкл скрипт с linux программой через loopback (127.0.0.1) на одном компе. По сути, я написал linux api для терминала (мкл скрипт обрабатывает запросы и отсылает ценовые данные или выставляют ордера).
В моей ситуации это лучший способ IPC из того что я пробовал. А перносить свои наработки на мкл не хочу - не хочу привязываться к конкретному языку, принципиально.
Я в линуксе, следовательно, ipc вообще становится нетривиальной задечей (общение между терминалом под wine и linuex exe). А IPC через сеть - универсальный способ. Я соединяю мкл скрипт с linux программой через loopback (127.0.0.1) на одном компе. По сути, я написал linux api для терминала (мкл скрипт обрабатывает запросы и отсылает ценовые данные или выставляют ордера).
В моей ситуации это лучший способ IPC из того что я пробовал. А перносить свои наработки на мкл не хочу - не хочу привязываться к конкретному языку, принципиально.
Статья вышла бы знатная! Получается свой торговый универсальный API под любую платформу. А для платформы пишется только приемо/передатчик на API самой уже платформы.
И можно писать ТС на любом языке. Программеры - они такие!
Расплата только в лэтенси. Поэтому для совсем узкого вида ТС не подойдет - и не страшно.
Реализовал на практике, но практика показывает что по прошествии некоторого времени пакеты начинают теряться. Причем судя по логам вначале "глохнет" серверная часть, а клиентские части в это время продолжают считать что все Ок, т.к. проведение в коде клиентской части проверки вида
if(client==INVALID_SOCKET) StartClient(Host,Port);
ничего не дает. Т.е. клиенты не могут диагностировать потерю коннекта с сервером до начала отпраки и даже в момент отправки пакетов.Возможно необходимо дополнительно какую-то функция типа "CheckSocket" для предварительной проверки работоспособности серверного сокета? Как ее тогда реализовать ?