New article MQL5 Cookbook: ОСО Orders has been published at mql5.com:
trader's trading activity involves various mechanisms and
interrelationships including relations among orders. This article
suggests a solution of OCO orders processing. Standard library classes
are extensively involved, as well as new data types are created herein.
This article focuses on dealing with such type of order pair as OCO.
This mechanism is implemented in some trading terminals competing with
MetaTrader 5. I pursue two aims through the example of creation of an EA
with a panel for OCO orders processing. On the one hand, I wish to
describe features of the Standard Library, on the other hand I would like to extend a trader's tool set.
OCO orders (one-cancels-the-other order) represent a pair of two pending orders.
They are connected by mutual cancellation function: if the first one triggers, the second one stays untouched, and vice versa.
Fig. 1 Pair of OCO orders
Fig.1 shows a simple order
interdependence scheme. It reflects an essential definition: a pair
exists for so long as both orders exist. In terms of logic any [one]
order of the pair is an essential but not sufficient condition for the
Some sources say that the pair must have
one limit order and one stop order, moreover orders must have one
direction (either buy or sell). To my mind such restriction cannot aid
in creation of flexible trading strategies. I suggest that various OCO
orders shall be analyzed in the pair, and most importantly we shall try
to program this pair.
Author: Dennis Kirichenko