← 返回

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

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

   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. Но ведь я и не хочу устанавливать цену. Это же маркет ордер. Как правильно сделать?

本主题对您有帮助吗?

分享主题

评论 (6)

登录创建账户, 登录或注册以发表评论

ShestkoFF
ShestkoFF 作者

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

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

ShestkoFF
ShestkoFF 作者

Заявка по транзакции '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 作者

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

Mikhail Sukhov
Mikhail Sukhov

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