Какой программный язык можно использовать для покупки / продажи валютных пар FOREX?
Как я могу автоматически покупать или продавать валютную пару (на демо-счете), в зависимости от того, находится ли финансовое событие выше или ниже его прогноза?
Очевидно, я знаю, что многие другие факторы влияют на цены валют, но просто ради обучения я хотел бы добиться этого. Я хотел создать относительно простой алгоритм, но изо всех сил пытался найти какую-либо поддержку.
Другие соответствующие детали / попытки решить эту проблему:
- Ранее предпринимались попытки выставить рыночные ордера на покупку или продажу до того, как это оказало значительное экономическое влияние, так что, как только цена значительно изменилась в определенном направлении, позиция будет автоматически открыта. Недостатком этого является то, что позиция может быть открыта немного слишком поздно.
- Я буду закрывать позиции вручную после открытия.
- Билеты на покупку и продажу уже будут установлены на экране платформы, а размеры позиций уже определены и введены.
- Ранее пытался подождать до самой секунды выпуска финансовых данных и нажать кнопку "Купить / продать" (после планирования в течение нескольких часов и обнаружения потенциальных связей). Этот метод подвержен человеческим ошибкам и является слишком медленным.
1 ответ
Оригинальный текст этого вопроса был немного другим, около года назад, и этот ответ был принят:
Можно ли использовать автоматические горячие клавиши для покупки и / или продажи валютных пар FOREX?
Да, но решение промышленного уровня будет использовать другие средства для этого
В то время как AHK
и другие скриптовые инструменты UI-уровня позволяют автоматически щелкать / автозаполнять вещи, такой подход идет против бегущей реки.
В течение десятилетий обычные торговые терминалы FOREX имели свои собственные инструменты программирования, которые позволяют интегрировать платформы для реализации этой и подобных идей.
Да, верно - "приятные" мотивированные "также" на вид "Терминалы", основанные только на слое web-GUI (не на webAPI, а на уровне GUI на основе браузера), не должны предоставлять такой Полноценный набор инструментов, но, честно говоря, который рискнул бы любым AUM (будь то частным или управляемым из фондов) в любом таком веб-наборе, если бы он не был принят на рынке уже несколько лет, просто ради какой-то хорошей " современный " интерфейс? Конечно, сотрудники MARCOM & PR стремятся убедить пользователей сделать это, но это касается риска и денег, верно?
Давайте возьмем EasyLanguage
, MQL4
, C#
языки в качестве примера.
Торговля на FOREX может использовать те инструменты, которые предоставляются вашим брокером, будь то:
- NinjaTrader в NinjaTrader с
C#
язык программирования - TradeStation TradeStation с
EasyLanguage
язык программирования - MetaQuotes' MetaTrader Terminal 4 с
MQL4
язык программирования - MetaQuotes' MetaTrader Terminal 5 с
MQL5
язык программирования
Упомянув эти немногие, ключевой концепцией является осознание того, что ваша идея обсуждалась в течение нескольких десятилетий, и профессиональная автоматизация торговых точек попыталась решить эту проблему многими способами.
Результат?
Лучшее, что можно сделать в этой дилемме - это провести некоторое время с программным обеспечением, поддерживаемым брокером. IDE
наборы инструментов для ознакомления с соответствующими моделями программирования - некоторые концепции могут показаться довольно удивительными с первого взгляда, но имеют довольно давнюю традицию в проектировании чувствительных ко времени / ресурсосберегающих систем исполнения кода, поэтому будьте храбрыми, чтобы освоить их принципы, так как ваши профессиональные знания во многом благодаря этому опыту - например, MetaTrader4 Terminal является одной из таких программных платформ, которая позволяет вам запускать:
1x
Soloist Expert Advisor - как управляемый событиями алгоритм выполнения кода для каждого окна MT4.GraphNx
одновременная управляемая событиями ограниченная кодовая база пользовательских индикаторов для каждого окна MT4.Graph1x
солист Сценарий асинхронного выполнения кода для каждого окна MT4.Graph*
Этот инвентарь очень важен, так как у вас нет другого способа автоматизировать сложный торговый алгоритм, кроме этого (конечно, за исключением автоматизации уровня пользовательского интерфейса, но который слеп по отношению ко всем контекстам, связанным с торговлей) (так что довольно опасно принимать это серьезно)).
Технические индикаторы выполняются в одном общем потоке, что накладывает ограничения на надежность в реальном времени, плюс некоторые ограничения применяются к разрешенным / запрещенным операциям, которые могут быть закодированы / скомпилированы / выполнены в индикаторе (все они направлены на избежание любых и всех возможных ситуаций блокировки (см..соло-нить для всех...))
Тем не менее, вы могли заметить, что оба Expert Advisor
а также Technical Indicator
-с внешне синхронизированы (на данный момент забыли о деталях на уровне кремния о непараллельном выполнении совместно используемых потоков с основной наносекундной шкалой асинхронности из-за планирования выполнения ресурсов / кода) и связаны с внешними данными anFxMarketEVENT
в форме поступающего сигнала (как только цена движется, MT4.Server
посылает QUOTE
нижестоящее сообщение к MT4.Terminal
ака галочка), которая однажды (если) получила, срабатывает MQL4
средства выполнения кода на localhost
:
OnTick(){ ...}
# in case of Expert Advisor
OnCalculate(){...}
# in case of Custom Technical Indicator
Почему все это?
Хороший момент - ну, FOREX - это не идиллический Эдем, а скорее огромный, быстрый и жестокий АД Battlefield. В то время как графики рисуют на экране в тишине, Рынок ревет как бесконечная война между двумя силами огромной силы, развивается наносекунда путем обмена наносекунд более чем на 5.300.000.000.000 USD
ценить каждый день,
что больше чем 615.000.000 USD / sec
в среднем
а также
Ваш практический опыт уже видел, какой хаос тройного ада развивается, когда "Фундаментальные новости" удивляют титанов, управляющих этими массовыми силами на рынках FOREX.
Тем не менее, ваши усилия по написанию кода должны скорее использовать интегрированные инструменты торговой платформы, чем полагаться на любые прокси-серверы с внешней эмуляцией - заполнение и нажатие.
Наносекунды имеют значение.
Не стесняйтесь читать больше об алгоритмической торговле и спрашивать более подробную информацию.