← Zurück

Как правильно выставить маркет ордер

Выставляю маркет ордер следующим образом

   public void BuyMarket(Security security, int volume)
    {
        var order = new Order
        {
            Security = security,
            Type = OrderTypes.Market,
            Volume = volume,
            Direction = OrderDirections.Buy
        };
        NewOrder(order);
    }

           private void NewOrder(Order order)
            {
                    if (order == null)
                            throw new ArgumentNullException("order");

                   order.Account = Config.GetInstance().QuikAccount;
                    _quikTrader.RegisterOrder(order);
            }

В результате получаю ошибку о недопустимой цене - 0. Но ведь я и не хочу устанавливать цену. Это же маркет ордер. Как правильно сделать?

War dieses Thema hilfreich?

Thema teilen

Kommentare (6)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

ShestkoFF
ShestkoFF Autor

Если быть точным то ошибка такая:

не была зарегистрирована. Причина '[FORTS] Цена сделки вне лимита'.

ShestkoFF
ShestkoFF Autor

Заявка по транзакции 'ACCOUNT=SPBFUT00265; CLIENT_CODE=XXX; TYPE=M; TRANS_ID=1; CLASSCODE=SPBFUT; SECCODE=RIH0; ACTION=NEW_ORDER; OPERATION=B; QUANTITY=1; PRICE=0;' не была зарегистрирована. Причина '[FORTS] Цена сделки вне лимита'. Parameter name: transactionTxt

Mikhail Sukhov
Mikhail Sukhov

Order.Type = OrderTypes.Market. Но РТС, насколько я помню, не поддерживает в класическом представлении тиы заявки Рыночная. Для этой биржи нужно указывать наихуд цену, и заявка будет удовлетворяться до этой наихуд цены. Затем она снимется.

Mikhail Sukhov
Mikhail Sukhov

Забыл добавить, что именно для таких случаев я и реализовал котирование. В документации описан процесс работы с этим алгоритмом.

ShestkoFF
ShestkoFF Autor

Спасибо. Действительно при указании цены все проходит нормально. Т.е нужно указывать худшую цену чтобы стопроцентно купить или продать по маркету?

Mikhail Sukhov
Mikhail Sukhov

Получается что так. Это биржевые ограничения. Только я бы указывал не просто худшую, а наихудше допустимую. Чтобы был барьер ввиде стоп лосса.