This script has instrument context by default.  When it executes it will have direct access to all IPV properties and functions.

 

When an instrument has the current instrument record, and it also has an existing active position this script is executed.

 

Exit Orders Script section is used to create order that:

oExit a one or more units in a multiple unit position

oExit and entire position

oAdjust a protective price for an entire position

oAdjust the protective any, or only some of the units in a position.

oIncrease a unit or a position quantity

oDecrease a unit or a position quantity

 

Most of the position's need shown above are created when the Exit Order script is called.

 

NOTE:

This scripts section will not normally execute when a instrument date record is not available.  A current record is a record date for the same date on which this script is executing.  This means a test date must have an instrument date in order for this script to execute.  When it does have a missing instrument record any orders that were active for the active test date will not be filled or expired by the brokerage process.  However, when an order is still active after the brokerage process, it will be available to execute an order fill or allowed to expire on the next available instrument date trading session.

 

Example:

'  RSI Trend Exit block uses the following code in the Exit Orders script:
' ---------------------------------------------
' Exit Position if RSI crosses Threshold
' ---------------------------------------------
If instrument.position = LONG AND
  relativeStrengthIndex <= exitThreshold THEN
 
  ' Exit the position.
  broker.ExitAllUnitsOnOpen
ENDIF
 
If instrument.position = SHORT AND
  relativeStrengthIndex >= (100 - exitThreshold) THEN
 
  ' Exit the position.
  broker.ExitAllUnitsOnOpen
ENDIF
 
' ---------------------------------------------
' Enter stop if "holdstops" is true
' ---------------------------------------------
If holdStops THEN
  broker.ExitAllUnitsOnStop( instrument.unitExitStop )
ENDIF

NOTE:

This sample script has two common features.

 

1.It is able to check against an active position use resolving the instrument.position property to determine if the active position is LONG or SHORT positions.

 

2.By assigning its Exit Stop order price to the instrument.unitExitStop price its previously protective price is available as a worse case Exit Price Stop value.  

 

You will need logic like this if you wish to have stops which are in effect for the duration of a trade. Trading Blox Builder requires that you place new orders for stops each day.

 


Edit Time: 9/25/2017 09:09:58 AM


Topic ID#: 323

 

Created with Help & Manual 7 and styled with Premium Pack Version 2.80 © by EC Software