Как открыть позицию для нескольких контрактов?


Как открыть позицию для нескольких контрактов?
Atom
01.02.2013


Код

// создаем заявку
var order = new Order
{
   Trader = _trader,
   Portfolio = _portfolio,
   Security = _instrument,
   Direction = _direction,
   Price = _instrument.GetMarketPrice(direction),
   Volume = _volume
};

_trader.RegisterOrder(order);


Для Volume = 1 всё понятно: заявка или исполнится, или не исполнится. Но как быть, когда число контрактов равно, например, 10?

Допустим, надо исполнить 10 контрактов, в стакане по лучшей цене есть только 5. Меня устраивает, чтобы просто исполнилось 10 контрактов по доступным ценам(от лучшей к худшей). Надо для каждой цены писать код выполнения заявок на 5 контрактов (если по данной цене всего 5), потом ещё на 3 (если по следующей после лучшей цене всего 3), потом на 2 (если по следующей за предудущей цене всего 2) или есть уже готовое решение?

Теги:


Спасибо:


1 2  >
esper

Фотография
Дата: 01.02.2013
Ответить


Какие данные вы бы указали для подобной заявки в терминале? Аналогичные данные надо указывать при выставлении заявки через S#.
Спасибо: developer_29

developer_29

Фотография
Дата: 01.02.2013
Ответить


Как указать терминалу, что надо сметать всё, что есть, пока число исполненных контрактов не дойдёт до 10?

Цитата:
Меня устраивает, чтобы просто исполнилось 10 контрактов по доступным ценам(от лучшей к худшей). Надо для каждой цены писать код выполнения заявок на 5 контрактов (если по данной цене всего 5), потом ещё на 3 (если по следующей после лучшей цене всего 3), потом на 2 (если по следующей за предудущей цене всего 2) или есть уже готовое решение?
Спасибо:

esper

Фотография
Дата: 01.02.2013
Ответить


Рынок какой?
Спасибо: developer_29

developer_29

Фотография
Дата: 01.02.2013
Ответить


Индекс РТС
Спасибо:

esper

Фотография
Дата: 01.02.2013
Ответить


Если используете квик, то добавьте экспорт данных по верхнему/нижнему лимиту цены и код из первого сообщения должен работать как вы хотите.
Спасибо: developer_29

developer_29

Фотография
Дата: 01.02.2013
Ответить


Да, я использую Quik.
Не могли бы написать строчки кода, которые надо использовать?
Я использую
Код
_trader.StartExport();
Спасибо:

MenDel

Фотография
Дата: 02.02.2013
Ответить


developer_29 Перейти

Для Volume = 1 всё понятно: заявка или исполнится, или не исполнится. Но как быть, когда число контрактов равно, например, 10?

Допустим, надо исполнить 10 контрактов, в стакане по лучшей цене есть только 5. Меня устраивает, чтобы просто исполнилось 10 контрактов по доступным ценам(от лучшей к худшей). Надо для каждой цены писать код выполнения заявок на 5 контрактов (если по данной цене всего 5), потом ещё на 3 (если по следующей после лучшей цене всего 3), потом на 2 (если по следующей за предудущей цене всего 2) или есть уже готовое решение?


Решение нашли, надо купить или продать по маркету!
Написать Price = _instrument.MinPrice;
или Price = _instrument.MaxPrice;
Спасибо: developer_29

developer_29

Фотография
Дата: 02.02.2013
Ответить


Спасибо за ответ, только не всё понял.

MenDel Перейти

Решение нашли, надо купить или продать по маркету!
Написать Price = _instrument.MinPrice;
или Price = _instrument.MaxPrice;


Price = _instrument.MinPrice; // это для продажи?
Price = _instrument.MaxPrice; // а это для покупки?

А разве не выставится заявка где-то в конце стакана, чтобы свершиться при достижении рынком цены MinPrice или MaxPrice?
Спасибо:

MenDel

Фотография
Дата: 02.02.2013
Ответить


developer_29 Перейти
Спасибо за ответ, только не всё понял.

MenDel Перейти

Решение нашли, надо купить или продать по маркету!
Написать Price = _instrument.MinPrice;
или Price = _instrument.MaxPrice;


Price = _instrument.MinPrice; // это для продажи?
Price = _instrument.MaxPrice; // а это для покупки?

А разве не выставится заявка где-то в конце стакана, чтобы свершиться при достижении рынком цены MinPrice или MaxPrice?


Ты меня конечно извини,
но в этом вопросе программирование по моему ни причем.
Ты хоть раз торговал ваще?

Если цена в данный момент 150000, а ты отправишь заявку на покупку по 160000, то почем у тя купится?

И ваще мне кажется прежде чем спрашивать, надо попробывать, если не получается спросил.

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

Поставь Демо Quik и эксперементируй сколько влезет.
Спасибо:

Jeta

Фотография
Дата: 03.02.2013
Ответить


developer_29 Перейти

...
А разве не выставится заявка где-то в конце стакана, чтобы свершиться при достижении рынком цены MinPrice или MaxPrice?


На Фортсе нет рыночных заявок, поэтому ее придется эмулировать, выставляя заявку по заранее худшей цене. В случае покупки - выставляется самый худший аск/оффер.
Также полезно знать, что по правилу биржевого стакана, заявка с худшей ценой, как раз и не выставится "где-то в конце стакана", а будет последовательно собирать весь аск, от лучшего, к самому худшему, пока не наберется весь объем, заявленный в заявке.


Спасибо:
1 2  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy