NinjaScript > Language Reference > Strategy > Order Methods > Managed Approach >

SetStopLoss()

Print this Topic Previous pageReturn to chapter overviewNext page

Definition
Generates a stop loss order to exit a position. Stop loss orders are real working orders (unless simulated is specified in which case the stop order is locally simulated and submitted as market once triggered) submitted immediately to the market upon receiving an execution from an entry order.

 

It is suggested to call this method from within the strategy Initialize() method if your stop loss price/offset is static
You may call this method from within the strategy OnBarUpdate() method should you wish to dynamically change the stop loss price while in an open position
Should you call this method to dynamically change the stop loss price in the strategy OnBarUpdate() method, you should always reset the stop loss price/offset value when your strategy is flat otherwise, the last price/offset value set will be used to generate your stop loss order on your next open position
 

Syntax
SetStopLoss(double currency)

SetStopLoss(double currency, bool simulated)

SetStopLoss(CalculationMode mode, double value)

SetStopLoss(string fromEntrySignal, CalculationMode mode, double value, bool simulated)

 

Parameters

currency

Sets the stop loss amount in currency ($500 loss for example)

mode

CalculationMode.Percent

CalculationMode.Price

CalculationMode.Ticks

simulated

If true, will simulate the stop order and submit as market once triggered

value

The value the stop loss order is offset from the position entry price (exception is using .Price mode where 'value' will represent the actual price)

fromEntrySignal

The entry signal name. This ties the stop loss exit to the entry and exits the position quantity represented by the actual entry.

 

 

Examples

protected override void Initialize()
{
    // Submits a stop loss of $500
    SetStopLoss(500);
}

 

 

Tips (also see Overview)

The SetStopLoss() method can NOT be used concurrently with the SetTrailStop() method for the same position, if both methods are called for the same position (fromEntrySignal) the SetStopLoss() will always take precedence. You can however, use both methods in the same strategy if they reference different signal names.
Stop loss orders are submitted in real-time on incoming executions from entry orders
A strategy will either generate a stop loss order for each partial fill of an entry order or one order for all fills. See additional information under the Strategies tab of the Options dialog window.
If a profit target order is generated in addition to a stop loss order, they are submitted as OCO (one cancels other)
Stop loss orders are submitted as stop market orders
A stop loss order is automatically cancelled if the managing position is closed by another strategy generated exit order