Announcement

Collapse
No announcement yet.

торговые операции на mql5 - это просто

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • торговые операции на mql5 - это просто



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

    В процессе разработки торгового алгоритма приходится решать множество технических вопросов, но среди них есть три самых важных, ключевых вопроса:
    1. Что торговать?
    2. Когда торговать?
    3. Как торговать?

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


    В этой статье мы рассмотрим каким образом можно реализовать торговые операции в алгоритмической торговле на языке MQL5.

    Click image for larger version  Name:	eggs__1.jpg Views:	1 Size:	20.3 KB ID:	3139Что предлагает MQL5 для алготрейдинга?


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


    Средствами MQL5 вы можете создать торговый запрос и отослать его на сервер с помощью функций OrderSend() или OrderSendAsync(), получить результат его выполнения, просмотреть торговую историю, узнать спецификацию контракта для инструмента, обработать торговое событие и запросить еще множество другой необходимой информации.

    Кроме того, на языке MQL5 можно писать собственные технические индикаторы и использовать уже встроенные, рисовать на графике любые разметки и построения, создавать собственный пользовательский интерфейс и многое другое. Но это уже другая тема и вы можете посмотреть примеры реализации в многочисленных статьях.

    Торговые операции - это просто!


    Существует несколько основных типов торговых операций, которые вам могут понадобиться в торговом роботе:
    1. покупка/продажа по текущей цене,
    2. установка отложенного ордера на покупку/продажу по некоторому условию,
    3. модификация/удаление отложенного ордера,
    4. закрытие/наращивание/сокращение/переворот позиции.

    Все эти операции реализуются с помощью функции OrderSend(), существует также и асинхронный вариант этой функции - OrderSendAsync(). Всё многообразие торговых операций описывается структурой MqlTradeRequest, содержащей описание торгового запроса. Поэтому единственные трудности с торговыми операциями могут заключаться только в правильном заполнении структуры MqlTradeRequest и обработке результата выполнения запроса.

    В соответствии с правилами вашей торговой системы вы можете совершить покупку или продажу по цене рынка (BUY или SELL), а можете поместить отложенный ордер на совершение покупки/продажи на некотором расстоянии от текущей цены рынка:
    • BUY STOP, SELL STOP - покупка или продажа при пробитии указанного уровня (хуже текущей цены);
    • BUY LIMIT, SELL LIMIT - покупка или продажа при достижении указанного уровня (лучше текущей цены);
    • BUY STOP LIMIT, SELL STOP LIMIT - установка ордера BUY LIMIT или SELL LIMIT при достижении указанной цены.

    Типы этих стандартных ордеров соответствуют перечислению ENUM_ORDER_TYPE.

    Click image for larger version  Name:	Orders__2.png Views:	1 Size:	23.3 KB ID:	3140


    Кроме того, вам может понадобиться модифицировать или вовсе удалить отложенный ордер, это также делается с помощью функций OrderSend()/OrderSendAsync(). Изменение открытой позиций тоже не представляет сложности, так как происходит в результате совершения всё тех же торговых операций.

    Если вы до этого представляли себе торговые операции как нечто сложное и запутанное, то теперь самое время изменить своё мнение. Мы покажем не только, как легко и просто программировать покупки и продажи в MQL5, но также подскажем, как работать с торговым счетом и свойствами символов. Торговые классы помогут нам.

Disclaimer: There is a risk of loss in trading futures, forex and options. Futures, forex and options trading are not appropriate for all investors. Only risk capital should be used when trading futures. All information is for educational use only and is not investment advice. Past performance is not indicative of future results.

This website is hosted and operated by AMP Global Clearing, LLC ("AMP"), which provides brokerage services to traders of futures and foreign exchange products. This website is intended for customer support, educational and informational purposes only and should NOT be viewed as a solicitation or recommendation of any product, service or trading strategy. No offer or solicitation to buy or sell derivative or futures products of any kind, or any type of trading or investment advice, recommendation or strategy, is made, given, or in any manner endorsed by AMP and the information made available on this Web site is NOT an offer or solicitation of any kind. The content and opinions expressed on this website are those of the authors and do not necessarily reflect the official policy or position of AMP.

All Users and Contributors along with their websites, products and services, are independent persons or companies that are in no manner affiliated with AMP. AMP is not responsible for, do not approve, recommend or endorse any User and/or Contributor Content referenced on this website and it’s your sole responsibility to evaluate All Content. Please be aware that any performance information provided by a user and/or contributor should be considered hypothetical.

HYPOTHETICAL PERFORMANCE RESULTS HAVE MANY INHERENT LIMITATIONS, SOME OF WHICH ARE DESCRIBED BELOW. NO REPRESENTATION IS BEING MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFITS OR LOSSES SIMILAR TO THOSE SHOWN. IN FACT, THERE ARE FREQUENTLY SHARP DIFFERENCES BETWEEN HYPOTHETICAL PERFORMANCE RESULTS AND THE ACTUAL RESULTS SUBSEQUENTLY ACHIEVED BY ANY PARTICULAR TRADING PROGRAM.

ONE OF THE LIMITATIONS OF HYPOTHETICAL PERFORMANCE RESULTS IS THAT THEY ARE GENERALLY PREPARED WITH THE BENEFIT OF HINDSIGHT. IN ADDITION, HYPOTHETICAL TRADING DOES NOT INVOLVE FINANCIAL RISK, AND NO HYPOTHETICAL TRADING RECORD CAN COMPLETELY ACCOUNT FOR THE IMPACT OF FINANCIAL RISK IN ACTUAL TRADING. FOR EXAMPLE, THE ABILITY TO WITHSTAND LOSSES OR TO ADHERE TO A PARTICULAR TRADING PROGRAM IN SPITE OF TRADING LOSSES ARE MATERIAL POINTS WHICH CAN ALSO ADVERSELY AFFECT ACTUAL TRADING RESULTS. THERE ARE NUMEROUS OTHER FACTORS RELATED TO THE MARKETS IN GENERAL OR TO THE IMPLEMENTATION OF ANY SPECIFIC TRADING PROGRAM WHICH CANNOT BE FULLY ACCOUNTED FOR IN THE PREPARATION OF HYPOTHETICAL PERFORMANCE RESULTS AND ALL OF WHICH CAN ADVERSELY AFFECT ACTUAL TRADING RESULTS.

AMP has NOT endorsed or recommended the use any product, services offered by any 3rd party User or Contributor on this forum. No person employed by, or associated with, AMP is authorized to provide any information about any 3rd party User or Contributor content. All specific brokerage related questions should be directed towards AMP.

Copyright © 2017. All rights reserved.

Working...
X