Click or drag to resize

Stop orders

The same RegisterOrder method is used to register stop orders, but with stop condition OpenECryOrderCondition and the Conditional type of order indicating:

private void NewStopOrderClick(object sender, RoutedEventArgs e)
    var newOrder = new OrderConditionalWindow
        Order = new Order
            Security = SecurityPicker.SelectedSecurity,
            Type = OrderTypes.Conditional,
        SecurityProvider = MainWindow.Instance.Trader,
        MarketDataProvider = MainWindow.Instance.Trader,
        Portfolios = new PortfolioDataSource(MainWindow.Instance.Trader),
        Adapter = MainWindow.Instance.Trader.TransactionAdapter

    if (newOrder.ShowModal(this))

The OpenECryTrader adapter provides the special OpenECryOrderCondition class to work with the stop orders conditions. This class supports the following types of stop orders:

  • StopMarket – a market order is automatically executed after the stop price is reached.

  • StopLimit – a limit order is automatically executed after the stop price is reached.

  • TrailingStopMarket – stop price automatically follows the market, but only in a favorable direction for the position, remaining the stated-in-advance distancefrom market price. If the market reaches the stop price, market order is automatically executed.

  • TrailingStopLimit – same as TrailingStopMarket, but when stop price is reached the limit order is registered.