Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Форматируй текст в редакторе сообщений. Это удобно!
MetaQuotes Software Corp.
Модератор
177358
MetaQuotes Software Corp. 2015.02.09 11:05 

На mql5.com опубликована статья Рецепты MQL5 - ОСО-ордера:

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

В статье речь пойдет о работе с таким типом связки ордеров как OCO. Данный механизм реализован в некоторых конкурирующих с MetaTrader 5 торговых терминалах. На примере создания советника, имеющего панель для обработки ОСО-ордеров, преследую 2 цели. С одной стороны есть желание осветить возможности Стандартной библиотеки, с другой - расширить инструментарий трейдера.

1. Сущность ОСО-ордеров

ОСО-ордера (one-cancels-the-other order) – это связка пары отложенных ордеров.

Между собой они связаны функцией взаимоотмены: если сработал первый, то не должен сработать второй, и наоборот.

Рис.1 Связка ОСО-ордеров

Рис.1. Связка ОСО-ордеров

На рис.1 приведена простая схема взаимозависимости ордеров. Она отражает сущностное определение: связка живет до тех пор, пока живут оба ордера. С точки зрения логики любой [один] ордер из пары есть необходимое, но недостаточное условие для существования связки.

В некоторых источниках замечается, что в связке обязательно один ордер лимитный, а другой – стоповый, причем ордера должны иметь одно направление (покупка или продажа). На мой взгляд, такое ограничение не способствует созданию гибких торговых стратегий. Предлагаю рассматривать в связке различные ОСО-ордера, а главное, пробовать эту связку запрограммировать.

Автор: Dennis Kirichenko

Konstantin Karpov
604
Konstantin Karpov 2015.02.10 04:01  

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

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий