Да,
DDE-request
является возможным методом интеграции терминала MetaTrader,
НО... !
учитывая, что нужно только одностороннее направление связи, и учитывая, что бизнес-сфера не является критически важной.
Хотя я помню дни, когда торговля на межбанковских денежных рынках основывалась на продуктах REUTERS с толстыми надстройками для аналитики на основе электронных таблиц Excel, но справедливо сказать, что такие дни ушли навсегда. Просто сравните, сколько торговых событий было обычным в те, просто межбанковские торговые дни, до полного открытия торговли FOREX через прокси-брокерские конторы.
В тот день задержки между QUOTE
составляли минуты.
А сегодня?
Если кто-то получает потоки данных LP-провайдера, то есть много единиц, если не десятков QUOTE
-событий PriceDOMAIN за одну миллисекунду.
Понял?
DDE сам по себе является рискованным методом для системы с N [kTPS]
потоками событий
и, возможно, вам будет приятно узнать, что его поддержка уже фактически прекращена еще при запуске Vista
В случае, если чей-то бизнес-домен должен обрабатывать FOREX-трейдинг с риском стоимости AUM выше нескольких миллионов долларов США, никто не будет рисковать проблемой неэффективности или прекращения обслуживания.
Службы на основе DDE закончились в торговом домене MT4 где-то в преддверии Windows Vista, потому что она официально, но косвенно, прекратила использование набора обычно используемых в те дни DDE-сервисов (которые были официально реализованы в wV, но большинство вызовов DDE возвращали "Not Implemented"
Error/Response ).
Этот полученный из первых рук опыт подтолкнул толпу к другим способам интеграции систем поддержки торговли, и проекты просто никогда не возвращались обратно для возрождения службы, которая вызвала столько боли и затрат во время того кошмарного опыта в wV.
Лучший следующий шаг:
Предположим, что описанный выше Проект не является игрушкой для хобби на выходных, необходимо определить, найти и использовать наилучший достаточно надежный и независимый от платформы инструмент для таких целей Проекта.
Можно попытаться возродить DDE, но это будет попыткой прыгнуть на несколько десятилетий назад.
Точно так же можно сделать все возможное, не теряя времени на преобразование любой прямой логики интеграции между приложениями в накладные расходы и компромиссы дизайна/производительности/козлы отпущения -искусственное, похожее на REST переодевание (очень ограниченное) вызовов функций WebRequest()
. Хотя есть шанс использовать WebRequest()
не только для pull-
, но и для службы квазиpush-
data, затраты и http-заголовок + полезная нагрузка http-body- кодирование + накладные расходы, связанные с полным tcp/ip-стеком, совершенно неоправданны для данной цели, как только станут доступны более продуманные инструменты
Несколько моментов для такого современного определения инструмента:
- масштабирование производительности (насколько стабильно отправлять 10 000, 100 000, 1 М+ обновлений в секунду)
- поддержка интеграции (сколько языковых привязок/платформ поддерживают этот инструмент)
- потокобезопасный дизайн (сколько потоков может быть использовано (за пределами ограниченной среды выполнения кода терминала MetaTrader), чтобы смягчить любые неблагоприятные блокировки или узкие места в производительности и обеспечить какой-либо отказоустойчивый дизайн схема обработки распределенной системы )
Если вам нужен практический пример, можно взглянуть на nanomsg
, инструменты ZeroMQ и терминал MetaTrader, которые взяли на себя высокопроизводительный, масштабируемый мир обмена сообщениями/сигналами с малой задержкой в сфере финансовых технологий и стали достаточно стабильными/зрелыми, чтобы проводить разумное время с.
person
user3666197
schedule
06.02.2017
WebRequest
, так что вы можете отправлять любые данные, которые вам нужны, на веб-сервер — проект Penguin для ваших нужд доступен с примерами на Github github.com/PenguinTraders/MT4-Node.js/tree/master - person Daniel Kniaz   schedule 05.02.2017.mqh
файлы в папку «include». Альтернативный способ - сделать сервер Node самостоятельно и загрузить данные с помощью функцииWebRequest()
, доступной на mt4, инструкции по ее приготовлению можно найти на SOF, этот вопрос обсуждался пару недель назад. На мой взгляд, REST API может быть более удобным, чем использование DDE. - person Daniel Kniaz   schedule 05.02.2017