Examples of usage of the orders


Hints for users
Example 1. Trade execution at a market rapid movement
Example 2. Placement of a Stop-Limit pair at a market rapid movement
Example 3. Placement of a Stop-Limit pair with a rate trend control
Example 4. Orders placement for a position closing on a "condition activation" basis
Example 5. Trend determination and trade initialization
Example 6. Order pre-placement
Example 7. Opening a position by a trailing order
Example 8. Changing the size of an open position
Example 9. "Pyramiding" with trailing
Example 10. Dynamic close of a position, or "trailing Limit"
Example 11. Receipt of notification of the rate reaching the specified level
Example 12. Creation of a "Stop-Limit Order" Combination


  1. The examples do not illustrate decision making methods but ways of performance of those already made, not a strategy, but techniques.
  2. All the example data are nominal, so neither figures nor their choice is motivated.

The following symbols are used for brevity:
A[C;R] is an order A for a specified amount C at a specified rate R. A sign in front of the C amount means Buy for "+", and Sell for "-".
R is a rate stated as a fixed value or an increment put as =+p or =-p, where p is an amount of points (pips).

Hints for users:

  1. You are strongly recommended to test and master the new order capabilities on your virtual account. You can design various order interaction schemes, test them, combine different order variants and parameter parts, develop your own standard compositions (chains) of orders for this or that purpose etc.;
  2. Always use the default facility of an If Done order rates' specification as an increment. Then you'll have no need to adjust them manually when a parent order rate moves because they will always move relative to the parent one;
  3. One and the same condition (of a specified rate realization) can be checked up with several orders since they are to be executed simultaneously. For instance, you can place several similar proof orders with a zero amount, having scheduled different actions for each of them, say, an order cancellation (through OCO), or an If Done order or two activation;
  4. You'd rather specify a Sell operation for orders with a zero amount (the list shows the order amount as -0.00). The order execution is then verified with Bid price, which is more apprehensible.
  5. Please keep in mind:
    • an execution rate is Bid or Ask, depending on an order operation (a trade direction), that is either Sell or Buy, respectively;
    • a base ordinary (active) order rate is the current rate quoted at the order placement, or its rate editing;
    • a base If Done order rate is the current rate quoted at the order activation. It is usually equal to a parent order execution rate at a normal market.

Example 1. Trade execution at a market rapid movement

It is known to be difficult sometimes to execute a real-time trade, i.e. to open or close a position at a market rapid movement since quotes change rapidly, and a trader often cannot keep up with the changes. In this case, it is convenient to use orders with a rate as increment to open/close a position.

For instance, the rate moves up, and you want to open a Buy position.
Just create an active order A[amount; =+1] and save it.
The order rate will be set equal to the current one plus 1 point. If the rate is trending up, the order will be immediately executed followed by the required position open at a "the current +1" rate. The method enables a secure opening of a position you need. You can also schedule placement of both Stop and Limit orders with an If Done order being placed to the parent one.

As far as handwork is concerned, the prompt way of a trade execution is far more efficient than the usual one via Forex Trading. Moreover, no trade can be basically denied because of the rate change, in this case. Neither quotes change nor restricted Internet access will keep you from opening or closing a position.

Example 2. Placement of a Stop-Limit pair at a market rapid movement

Suppose you have a selling open position for 150,000. The rate moves rapidly, and you need to urgently place both Stop and Limit orders for the position. You can do that as follows: create an A[+150,000; =+45] order, and enable an OCO B[+150,000; =-45] order. This results in the Buy orders at 45 points both above and below the current rate, i.e. both in Stop and Limit for the position. If necessary, you can promptly edit the rate in the orders list, e.g., having entered =-99. It is convenient to specify a rate as increment because it is re-calculated relative to the current rate, not to the value stated in the order.

Example 3. Alternate solution of the same task with a rate trend control

Let's place an order A[-0; =+10] with If Done orders A1[+150,000; =+40] and A2[+150,000; =-70] linked OCO.
The rate moves up, the A order will be executed (there is no trade in this case as the amount equals to 0), activating thus the A1 and A2 orders which are a pair of the buying orders, that is Stop and Limit for the existing position.
In case the rate moves down, one more order can be placed, say, order B[-0; =-10] with If Done orders B1[+150,000; =+10] and B2[+150,000; =-90] linked OCO. For safety's sake the orders A and B can be linked OCO (if neither of them has yet been executed). The result will be similar to that in the above example, yet the orders will be placed at any rate movement.

Example 4. Orders placement to close a position on a "condition activation" basis

Assume you have opened a Buy position for the amount of 20,000 at the average rate of 1.2345. Now you want to design its profitable closing. For the purpose you have a Stop order A[-20,000; 1.2299] to close the position.
Place an A1[+0; 1.2375] order to check up a 30 points' increase in the open position's average rate.
And link to it two If Done orders, B1[+8,000; =+10] and B2[-28,000; =+45], not linked OCO.
Afterwards place an A2[-0; 1.2420] order and link it OCO with the A order.

When order A1 is executed, two orders, B1 with the rate of 1.2385 and B2 with that of 1.2420, become activated.
The rate moving on, order B1 increases the position up to 28,000, with order B2 then closing the new position at the rate of 1.2420.
Together with order B2 the A2 order will be executed, canceling thus Stop order A.

Example 5. Trend determination and trade initialization

Let's take our criterion of a certain instrument movement be a 15 points' change in its rate, either above or below the current rate.

Let's create order A[+0; =+15] with two If Done orders linked OCO, that is:
order A1[+20,000; =+15] and order A2[-20,000; =-30].
Then create another block of the kind, order B[-0; =-15] with two If Done orders, namely
order B1[-20,000; =-15] and order B2[+20,000; =+30], linked OCO.

Then link the A and B orders as OCO.

How it works:
Once the A and B orders are placed, their rates will be RcpA+15 and RcpB-15 respectively, where Rcp is the current rate at an order placement. One of the orders will be executed (admittedly, the rate moves up or down 15 points), whereas the second order is to be canceled because of the OCO, at once. There is no trade yet since the amounts in both orders are zero. It is activation of one of the If Done pair only that will take place.

To be more clear, let's take RcpA = 1.2550, which is the current rate at the A order placement, and RcpB = 1.2555 (suppose, the rate moved a little while the B order was being placed).

Assume prices had gone up, and order A was executed at the rate of RA = 1.2565 (RcpA+15). Together with it both orders A1 and A2 were activated, their rates being set at 1.2580 (R A+15 = RcpA+30), and 1.2535 (RA-30 = RcpA+15-30), respectively.
If the price reaches 1.2580, execution of the A1 order will open a position of +20,000.
If it drops to 1.2535, the A2 order will open a position of -20,000.
Each operation cancels the needless orders (note, order B has been canceled yet at the A order execution).
Thus if the rate moves 1.2550 up, our criterion thus taking place twice in the same direction, the position of +20,000 at the level of 1.2580 will open.
However, if it moves up but not reaching 1.2580 reverses and goes down – our criterion taking effect only once then – the -20,000 position will open when the price drops to 1.2535.

If the price starts moving down as soon as the A and B orders have been placed, the situation will develop similarly but mirror-like. The rate is 1.2540 (RcpB-15), the B order will be executed, activating thus order B1 with the rate of 1.2525 (1.2540-15) and order B2 with the rate of 1.2570 (1.2540+30).
Should now the rate keep moving down until it drops to 1.2525 (that is, RcpB-30), the -20,000 position will open.
In case it turns round and moves up, the B2 order will open the +20,000 position at the rate of 1.2570 (RcpB+15).

Example 6. Order pre-placement

You can use a rate specification as an increment to schedule your future orders you might want to place. For the pre-placement just specify a larger rate increment, say, =+9,999 (but such an order will never be executed in reality). If you create an order with If Done orders, then specify their rates as increment right at their placement. This way, you can pre-place blocks of orders with the parameters and links you might require.
The prepared order can be quickly enabled once you need to use it. Just click on its rate to get to a quick editing form, and enter the rate, or the increment value you want. The linked If Done orders' rates specified as increments will automatically follow that of the parent order, without being adjusted.

Example 7. Opening a position by a trailing order

The trailing order can be applied not only in a standard way as a stop for a position close. It also can be used for many other purposes. In particular, it can be used for a position opening.

As against the ordinary way, this one allows opening a position at a more profitable rate than that at the order placement. It is possible due the fact the trailing order tracks the market movement and opens a position in a "dynamic" mode.

May the current rate be about 1.2500. Let us create order A[-10,000; =-50], enabling the trailing with distance of 50 and step of 10 for it. Let us consider that we have an order with the rate of 1.2450 (current rate 1.2500 minus increment of 50 points) immediately after it has been saved.

This trailing order can be at once linked with two If Done orders to create Stop and Limit orders for the position opened, say, A1[+10,000; =+50] and A2[+10,000; =-100]. They will be activated at the moment the A order is executed and will provide the position close – Stop at a loss of 50 points, and Limit at a profit of 100 points.

Suppose that the current rate went up and reached 1.2570. At this moment trailing sets the order rate at the level of 1.2520.

If then the current rate turns and goes down, the order will be executed at the rate of 1.2520, the result of which will be a 10,000 Sell trade's execution. This will open a new position of -10,000 with an average rate of 1.2520.

It can be stated that the example's trailing distance size serves to illustrate whether there is a change in a direction of the market movement or there is an ordinary price fluctuation. If we consider a certain instrument movement up to 30-40 points to be a fluctuation and above 50 points to be a direction change, then we can set the distance of 50 points for the trailing. In this case a position will not be opened until the market changes the direction (by this criterion).

Upon the A order placement the rate can also move down. This variant is not of interest to us. You can create order B[-0; =-5] and link it as OCO with order A so that not to open position in this case. If the rate goes down, the B order will be carried out (with no trade executed) and will cancel the A order.

Example 8. Changing the size of an open position

With trailing, you can change an open position volume, i.e. decrease it so that to fix some current profit or, at an unfavorable price movement, to reduce the resulting loss by a gradual decrease of the open position size.

Suppose there is a position of 70,000 open at the rate of 1.2480, and a trailing order A[-10,000; =-50] with the trailing distance of 50 and step of 10. After this trailing order has been carried out and the Sell trade 10,000 at the rate of 1.2520 executed, the open position will change up to 60,000 (70,000 - 10,000). The average rate of the position remains unchanged, namely 1.2480).

Thus there will be some current profit fixed: 40 points with a point's cost corresponding to the 10,000 trade amount. For example, 1 point's cost for the EUR/USD instrument at the trade amount of 10,000 EUR is 1 USD; for instrument XAU/USD at the trade amount of 10,000 XAU it is 1,000 USD

Example 9. "Pyramiding" with trailing

The use of the TradeRoom's order operations possibilities allows growing in the size of an open position. This method is called "pyramiding", or "filling-up", and is used at a rate favorable movement to increase the profit.

Let it be an open position 50,000 with the average rate of 1.2450. Assume that the current rate moves up and is equal now to 1.2470. We create a trailing order A[-0; =-40] with distance 40 and step 10, and a linked If Done order A1[+50,000; =+1]. The result is a trailing order A[-0; 1.2430].

If the rate keeps on going up, the trailing will move the A order up. The A trailing order will be executed in case of some decrease of the rate. Suppose that it's happened at the rate of 1.2520. The A1 order with the 1.2521 rate will be activated, and executed as soon as the market goes on moving up. This will result in executing the Buy trade of 50,000, with the open position size increased up to 100,000. The average rate becomes equal to 1.248550 at this moment.

Please note that it is just a representative illustration of figures. You'd rather not achieve positions at such a pace. You'd better fill up by portions, each one not exceeding 20-30% of the current size of the open position. For instance, the first portion for position 100,000 should be 30,000, the next one 40,000, etc.

Example 10. Dynamic close of a position, or "trailing Limit"

You can arrange the rate tracking using the TradeRoom's peculiarities of order operations (zero orders, rates as an increment, trailing), to grow in profit. The example below shows one of the variants.

Let it be an open position 50,000 with the average rate of 1.2345. Let's create a trailing order A[-0; =-20] with distance 20 and step 10, and link it with a pair of linked If Done orders: A1[-50,000; =-30] and A2[-50,000; =+100] (we select the variant linked OCO when placing the orders).

Let the current rate be 1.2340 at the moment we place the A order (current loss is 5 points). Then order A will be placed with the rate of 1.2320.
Assume that the current rate went up and reached 1.2470. Then the trailing sets the order rate at the level of 1.2450.

If then the current rate turns and moves down, the order will be executed at the rate of 1.2450. However, it will bring no trade execution but activate order A1 with the rate of 1.2420 and order B2 with the rate of 1.2550. Now, if the market drops to1.2420, our profit will be 75 points; in case it goes up again and reaches 1.2550, the profit will be 205 points.

Thus we have tracking the market growth. It keeps going up (with bounds down maximum 30 points), the A trailing order goes on moving up and shifting pending orders A1 and A2. As soon as the market stops growing at least temporarily (the criterion is a fall in 30 points), the managing order A will be executed, and enable Stop and Limit orders A1 and A2. If after that it does not grow, the position will be closed by the A1 Stop order but in a break-even zone, i.e. everything will take place as with an ordinary trailing. In case the rate keeps on moving up, the position will be closed by order A2 at the level determined dynamically during movement. In a way this technique can be called a trailing Limit.

The reviewed pattern will malfunction if the current rate starts dropping immediately after the A order is placed. To avoid unwanted effects, you can secure the cancel of order A. To do that, just place order B[0; =-15] and link it OCO with the A order.

Example 11. Receipt of notification of the rate reaching the specified level

You can use orders to receive notifications on the rate movement.

To do that,

For instance, you need to be notified of the XAU/USD rate reaching 812.5. So, you place order A[-0, 812.5] for the XAU/USD instrument.
If the rate of gold reaches 812.5, the order will be executed. The execution will cause no effect and yet a notification of this order execution will be sent to your e-mail address specified in the notification settings. The message will contain the order number and its parameters, e.g.:
Executed order: 1'234'567, XAU/USD 0 USD at 812.5.
Receipt of this message means that the XAU/USD rate has reached the given level of 812.5.

If you set the rate of a checking order as an increment, you can receive notifications on quotes change in the specified number of points. For example, you place order A[-0, =+95] for instrument NZD/USD with the note "NZD/USD went up 95 pips". To check the movement down, you can place order B[-0, =-77] with the note "NZD/USD went down 77 pips".

When the order is executed, you will get the appropriate message. Please take into account it will be the information on the rate passing the specified number of points since the order placement.

Example 12. Creation of a "Stop-Limit Order" Combination
The Stop-Limit order is a combination of two orders: a Stop order and a Limit order. If the market price reaches the Stop order rate, the Limit order is placed. The Stop-Limit order does not guarantee making a trade since the Limit order may not be executed. The Stop-Limit order is sometimes used to open a position instead of a usual Stop order to prevent making a trade at a much worse rate due to a possible slippage.

In the TradeRoom system, you can create a Stop-Limit order as a combination of a check Stop order with a zero amount and an If Done Limit order.

Assume that the current rate is 1.1100, and we want to open a long position for +10'000 at 1.1150. Then we create a check Stop order A[+0, 1.1151] to buy with a zero sum and the rate of 1.1151. Then we add an If Done Limit order B[+10'000, 1.1150] to it to buy 10'000 at the rate of 1.1150. The Stop order rate is 1 point different from that of the Limit one, so that the Limit order would not get onto the current rate at the activation (please note an order cannot be placed on the current rate in the TradeRoom system).

Nothing happens while the current rate is below the level of 1.1151: order A is active, and order B is waiting for it to be executed.

If the current rate goes gradually up and reaches the rate of 1.1151, order A will be executed (with no deal made since it has a zero sum), and order B will be activated. Order B is likely to be executed in a short time, as its rate differs from the current rate by 1 point only. Thus, the task set has been carried out: a long position +10'000 at the rate of 1.1150 is opened.

And if the current rate rises abruptly above the rate of 1.1150, say, to the level of 1.1290 (e.g., at a breaking news release), Stop order A will be executed at the rate of 1.1290. And at the moment it will also activate Limit order B with the 1.1150 rate. After that, the trader either waits until the rate falls to the level of the Limit order B or cancels it due to the market changes. Thus, unlike the usual Stop order, the Stop-Limit combination prevents the buying at a significantly worse rate because of a large slippage.

© 1999-2024 Forexite Ltd.