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

SmartTrader поддерживает работу со стоп-заявками вида Стоп и СтопЛимит. Стоп-заявки регистрируются, заменяются и снимаются через те же методы, что и обычные заявки:

Создание первого робота

Снятие заявок

Замена заявок

Для получения биржевой заявки, которая была создана стоп-заявкой при активации стоп условия, необходимо использовать свойство OrderDerivedOrder. Данное свойство используется, когда необходимо получить сделки, созданные в рамках стоп-заявки. При этом, сами сделки создаются не по стоп-, а по биржевой заявке, и чтобы их получить, следуют использовать подход вида:

C#
// получаем биржевую заявку по стоп-заявке
var marketOrder = stopOrder.DerivedOrder;

// если биржевая заявка зарегистрирована
if (marketOrder != null)
{
    var trades = trader.GetMyTrades(marketOrder);
    // ...
}

Для того, чтобы создать стоп-заявки SmartCOM-а, необходимо заполнить поля SmartComOrderCondition:

Примечание Примечание

Исходные коды примера лежат в дистрибутиве в папке под названием SampleSmart.

C#
var stopOrder = new Order
{
    Portfolio = (Portfolio)this.Portfolio.SelectedValue,
    Type = OrderTypes.Conditional,
    Volume = this.Volume.Text.To<int>(),
    Price = this.Price.Text.To<decimal>(),
    Security = this.Security,
    Direction = this.IsBuy.IsChecked == true ? OrderDirections.Buy : OrderDirections.Sell,
    StopCondition = new StockSharp.Smart.SmartOrderCondition
    {
        StopPrice = this.StopPrice.Text.To<decimal>(),
    },
};

Если значение OrderPrice равно 0, то будет создана стоп-заявка, при исполнении которой будет зарегистрирована рыночная заявка (OrderTypesMarket). Если значение не равно 0, то будет зарегистрирована лимитированная заявка (OrderTypesLimit).