Skip to content

Tutorial 134 | Using TradeStation OCO and OSO order tickets

A simple example of using OCO (Order Cancels Order) and OSO (Order Sends Order) order tickets

Tutorial 134 workspace

A Gold Pass member asked whether it is possible to create a program that processes textual information (formatted in a specific way), generated using a spreadsheet, that describes a list of trades. He envisaged pasting this textual information into an EasyLanguage program (using the editor) that could then be verified and applied to a chart to send order tickets to the market.

WARNING: Only use this indicator with simulated accounts. If it is re-applied, the inputs changed, you press CTRL-R, TradeStation restarts or other possible eventualities another set of order tickets will be generated. The program does not test whether the order has already been sent.

This indicator is designed to be applied once to one chart in your TradeStation environment.

As the video below shows, the program was created by first using the toolbox to create the required order ticket objects. The ‘Designer Generated Code’ was then copied and modified. The program is available at no cost to Gold Pass members (see below).

Unfortunately, this program does not work with MultiCharts.

Introduction to OCO (Order Cancels Order) and OSO (Order Sends Order) orders

An OSO order sends one or more orders (secondary orders) to the market once a trade entry order (the primary order) is filled.

An OCO allows several orders (siblings in EasyLanguage parlance) to be sent to the market at the same time. When one of these orders is filled, the other orders in the group are automatically canceled.

Example of order confirmation for order sent with the following parameters: SetUpOrder( “AMZN”, 2002, 400, 500 );

Inputs and data settings

The tutorial program has the following input:

string iAccount1( “” )

Enter your simulated trading account number (it will begin with ‘SIM’) relevant to the symbol that you would like to test with.

The tutorial demonstrates various techniques including:
  • Creating Order Tickets, an OCO Order ticket, and a OSO order ticket
  • Adding siblings to an OCO order ticket
  • Adding a secondary ticket to an OSO order ticket
  • Creating a method from the Designer Generated Code

The tutorial program puts the syntax for three order tickets (entry, target and stop), an OCO order ticket (used so that if the target is reached first, the stop order ticket is cancelled and vice versa) and an OSO order ticket that sends the OCO order when the entry order is sent. The syntax to create the order tickets is placed in a method (SetUpOrder) which is called once on a real time tick.

The syntax for calling the method is:

SetUpOrder( Symbol name in doubles quotes, entry price, target offset from entry price, stop offset from entry price )

for example:

SetUpOrder( "AMZN", 1946, 100, 200 );
SetUpOrder( "NKE", 84, 50, 20 );
SetUpOrder( "IBM", 146, 15, 12 );

Download

The tutorial 134 indicator (_Tutorial134) is available for download for $29.95 by clicking the following link. The program works with TradeStation version 9.5 and newer versions. The tutorial program is available at no cost to Gold Pass members (see below). Make sure you are logged into your Gold Pass account.

Free download for Gold Pass members

This content is for members only.
When using tutorial 134 make sure that you enter you simulated trading account number in the inputs. You also need to format the indicator and click the “Enable order placement objects” check box. See the following image:
Click the “Enable order placement objects” check box

Video explanation of Tutorial 134 Part 1

Detailed explanation of the development of Tutorial 134 (Part 2)

A demonstration of Tutorial 134 (Part 3)


Please let me know if you spot any mistakes or errors or have questions.

THESE INDICATORS, SHOW ME STUDIES, STRATEGIES AND OTHER PROGRAMS HAVE BEEN INCLUDED SOLELY FOR EDUCATIONAL PURPOSES.

TO THE BEST OF MARKPLEX CORPORATION’S KNOWLEDGE, ALL OF THE INFORMATION ON THIS PAGE IS CORRECT, AND IT IS PROVIDED IN THE HOPE THAT IT WILL BE USEFUL. HOWEVER, MARKPLEX CORPORATION ASSUMES NO LIABILITY FOR ANY DAMAGES, DIRECT OR OTHERWISE, RESULTING FROM THE USE OF THIS INFORMATION AND/OR PROGRAM(S) DESCRIBED, AND NO WARRANTY IS MADE REGARDING ITS ACCURACY OR COMPLETENESS. USE OF THIS INFORMATION AND/OR PROGRAMS DESCRIBED IS AT YOUR OWN RISK.

ANY EASYLANGUAGE OR POWERLANGUAGE TRADING STRATEGIES, SIGNALS, STUDIES, INDICATORS, SHOWME STUDIES, PAINTBAR STUDIES, PROBABILITYMAP STUDIES, ACTIVITYBAR STUDIES, FUNCTIONS (AND PARTS THEREOF) AND ASSOCIATED TECHNIQUES REFERRED TO, INCLUDED IN OR ATTACHED TO THIS TUTORIAL OR PROGRAM DESCRIPTION ARE EXAMPLES ONLY, AND HAVE BEEN INCLUDED SOLELY FOR EDUCATIONAL PURPOSES. MARKPLEX CORPORATION. DOES NOT RECOMMEND THAT YOU USE ANY SUCH TRADING STRATEGIES, SIGNALS, STUDIES, INDICATORS, SHOWME STUDIES, PAINTBAR STUDIES, PROBABILITYMAP STUDIES, ACTIVITYBAR STUDIES, FUNCTIONS (OR ANY PARTS THEREOF) OR TECHNIQUES. THE USE OF ANY SUCH TRADING STRATEGIES, SIGNALS, STUDIES, INDICATORS, SHOWME STUDIES, PAINTBAR STUDIES, PROBABILITYMAP STUDIES, ACTIVITYBAR STUDIES, FUNCTIONS AND TECHNIQUES DOES NOT GUARANTEE THAT YOU WILL MAKE PROFITS, INCREASE PROFITS, OR MINIMIZE LOSSES.