Для изменения размера нажмите или перетащите

Стоп-заявки

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

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

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

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

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

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

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

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

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

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

C#
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))
        MainWindow.Instance.Trader.RegisterOrder(newOrder.Order);
}

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