Для изменения размера нажмите или перетащите
Стоп-заявки

Для регистрации стоп-заявок используется тот же метод RegisterOrder, но с указанием стоп-условия OpenECryOrderCondition и типа заявки Conditional:

C#
private void Send_Click(object sender, RoutedEventArgs e)
{
    var stopOrder = new Order
    {
        Portfolio = Portfolio.SelectedPortfolio,
        Type = OrderTypes.Conditional,
        Volume = Volume.Text.To<decimal>(),
        Price = Price.Text.To<decimal>(),
        Security = Security,
        Direction = IsBuy.IsChecked == true ? OrderDirections.Buy : OrderDirections.Sell,
        ExpiryDate = IsOneDay.IsChecked == true ? DateTime.Today : DateTime.MaxValue,
        StopCondition = new OECOrderCondition(StopMarket ? OECStopType.StopMarket : OECStopType.StopLimit, StopPrice.Text.To<decimal>())
    };

    MainWindow.Instance.Trader.RegisterOrder(stopOrder);
    DialogResult = true;
}

Для работы с условиями стоп-заявок адаптер OpenECryTrader предоставляет специальный класс OpenECryOrderCondition. Данным классом поддерживаются следующие типы стоп-заявок:

  • StopMarket – после достижения стоп-цены автоматически выставляется рыночная заявка.

  • StopLimit – после достижения стоп-цены автоматически выставляется лимитная заявка.

  • TrailingStopMarket – cтоп-цена автоматически следует за рынком, но только в выгодном для позиции направлении, оставаясь на заранее заявленном интервале от рыночной цены. В случае, если рынок достигает стоп-цены, автоматически выставляется рыночная заявка.

  • TrailingStopLimit – как TrailingStopMarket, но при достижении стоп-цены выставляется лимитная заявка.