2013-05-24 4 views
6

У меня есть задача переноса стратегии рынка C# на MetaTrader.Могу ли я использовать языки, отличные от MQL4, на MetaTrader4?

  1. Есть ли способ автоматизировать эту работу? (Например, возможно ли проанализировать C# в его AST, а затем сделать перевод?)

  2. Предоставляет ли MetaTrader другие языки любыми способами?

ответ

2

Подойдите к задаче снизу вверх - архитектура мудрый

Да, вы можете упростить проблемы и сделать MT4 стать узлом, который сразу подключен равный-равному вашему текущего C# Стратегия рынка.

Это допускаемый мне управлять кластер на основе вычислений, сообщающихся с массовым параллелизмом с толпой МТ узлов.

MT4 может стать anEventFEED -er Node через более сложный «масштабируемые Формальное Cummunication Framework» в очень интеллигентной манере.

Вы хотите иметь CLI-интерфейс управлять своим MT4 узел (ы) - один, как anEventFEED -er, другой, как anXtoACTOR Node - выборочно, с грамматикой CLI-команд синтаксиса & (не говоря уже о test-automation и др.)?

вы хотите иметь ли центральный < Syslog> демон вхолостую HFT-трафик загружены MT4 узел (ов) и автоматизируют + администрировать скриптовые задачи обслуживания мониторинга &?

Хотите ли вы иметь внешний вычислительный механизм/кластер для связи в режиме клиент/сервер с помощью MT4 EA на основе per-tickEvent?

ZeroMQ и/или nanomsg рамки позволит разрабатывать и многие-ко-многим (узел-сеть-накрест) & (язык мудр реализации) систем любой-на-любой.

MT4/MQL4 имеет прямой смарт-обертку для ZeroMQ >>> благодаря Остен Конрада на GitHub MQL4ZMQ

ZeroMQ >>> благодаря это отличная команда имеет много языковых привязок - C/C++, Python, Java, R, даже Erlang, ...

Так что ваш проект может прыгать начало на рок твердых основаниях & независимо от какой-либо конкретной архитектуры gridlocks (DLL движущихся песков и др)

Инженерные встроенные функции экономят много времени и усилий и не заново изобретают колесо

+0

Как раз вовремя ... – MaiaVictor

+0

@ Viclib На стороне MT4 есть много ловушек на пути к ** «переместить стратегию рынка C#» ** в этот домен. Кросс-компиляция не так проста, если вы собираетесь создавать профессиональную услугу. Пытался связаться с вами, Виклиб, чтобы предложить дальнейшую помощь в этом отношении, но ** Ошибка: ENOENT, stat '/home/vh/Viclib/index.html'sh появился. – user3666197

+0

@Viclib Как продвигается ваш проект преобразования, Viclib? В любом случае PF2015 – user3666197

1

короткий ответ - нет, однако в mql есть факультет для импорта dll. поэтому вы можете обернуть свой C# lib библиотекой C++/cli, которая функционально раскрывается через экспорт функций, вы даже можете запустить таймер в mql и внедрить рудиментарный насос сообщений.

Обновление: MT4 может принимать только стандартные вызовы неуправляемых библиотек DLL. причина, по которой вы должны использовать оболочку C++, заключается в том, что C++ имеет возможность создавать неуправляемые стандартные вызовы. любой другой язык, на котором вы можете создавать стандартные вызовы, также может работать.

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

0

Да, можно использовать C#, используя некоторые сторонние решения, такие как NQuotes http://www.nquotes.net/, который по сути является готовой DLL для общего использования (например, Дмитрий сказал, что вы можете создавать свои собственные, но это связано с немного Работа).

1

Как насчет запросов GET/POST и веб-службы API-интерфейса?

Вы можете использовать стратегию C# для обновления веб-основе текстового файла с трехкомпонентной сигнала:

-1 SELL 
0 HOLD 
1 BUY 

Затем с помощью MQL4 для чтения текстового файла один раз в минуту для торгового сигнала.

Насколько это технически, как это сделать; К сожалению, я программист на языке python, а не MQL4 или C#, поэтому я не могу помочь.

+0

** FYI **: файл- основанный на веб-сервере, GET/POST, доступный на одноминутной основе выборки, трудно представить в мире, где *** миллисекунды *** являются «возрастами» и *** микросекундами *** материей и ** * наносекунды *** сражаются, чтобы быть сбритыми, когда это возможно ... – user3666197

+0

@ user3666197, по моему опыту большинство количественных трейдеров не являются торговцами HFT ... которые за пределами рекламы являются действительно специализированной областью. Этот метод был бы более чем достаточным для торговли часовыми свечами, которые составляют большинство розничных транзакций. – litepresence

+0

уверен, *** наносекунды *** важны в крупномасштабных вычислительных моделях, которые не обязательно должны быть только для HFT-акул. ** Тем не менее ** H1-свечи увеличили транзакционный поток за последние несколько десятков секунд, если хотите, где окончательная цена закрытия получает перекрестное уклонение между медвежьими и бычьими мотивированными силами и даже стратегия на основе H1 имеет справедливую причину иметь минимальный тайм-аут «слепое пятно» с мертвой точкой в ​​неконтролируемой латентности транзакций. Если что-то может занять несколько миллисекунд, зачем тратить сотни или даже несколько секунд на тот же ответ? ** Река FOREX никогда не ждет кого-то. ** – user3666197

 Смежные вопросы

  • Нет связанных вопросов^_^