Создание в стратегии заявок с объемом не равным Strategy.Volume

Создание в стратегии заявок с объемом не равным Strategy.Volume
Atom
10/12/2011
frontman


Создание заявок осуществляю с помощью методов BuyAt и SellAt, но эти методы созждаеют заявки с объемом равным Strategy.Volume. Попытался изменить объем и зарегистрировать заявку вот так:

var order = directions == OrderDirections.Buy ? strategy.BuyAt(price) : strategy.SellAt(price);
order.Volume = volume;
RegisterOrder(order);

Заявки вообще не отправляются на биржу. причем ошибок не каких нет. Если же сделать вот так:

var order = directions == OrderDirections.Buy ? strategy.BuyAt(price) : strategy.SellAt(price);
RegisterOrder(order);

Все нормально... Может подскажите как изменить объем у заявки?


Tags:


Thanks:


1 2  >
Alexander

Avatar
Date: 10/12/2011
Reply


а volume-то чему равен? установите Volume у стратегии перед BuyAt

Thanks:

frontman

Avatar
Date: 10/12/2011
Reply


Нет в том то и дело что Volume = 1. И если использовать

var order = directions == OrderDirections.Buy ? strategy.BuyAt(price) : strategy.SellAt(price);
RegisterOrder(order); 

Заявки выставляются правильно с объемом 1. Но в некоторых случаях мне надо выставлять заявки объемом не равным Strategy.Volume. Вот поэтому я подумал что :

var order = directions == OrderDirections.Buy ? strategy.BuyAt(price) : strategy.SellAt(price);
order.Volume = volume;
RegisterOrder(order);

Будет работать. Но почему то так они вообще не выст...

Thanks:

frontman

Avatar
Date: 10/12/2011
Reply


Alexander Mukhanchikov: а volume-то чему равен? Он разный. Но иногда бывает такой же как и у стратегии, т.е = 1 но и тогда заявки не выст

Thanks:

frontman

Avatar
Date: 10/12/2011
Reply


Логи вывел даже спец: 15:38:06.734 | | Мое | Создал заявку с объемом поумолчанию: TransactionId=0, Id=0, Price=16121,00000, Balance=0, Security=GZZ1@RTS, State=None 15:38:06.797 | | Мое | Обработка Limit заявки 55808783 на Buy с номером 5404776964. 15:38:08.016 | | Мое | Обработка Limit заявки 0 на Buy с номером 5404777601. 15:38:16.344 | | Мое | Создал заявку с объемом поумолчанию: TransactionId=0, Id=0, Price=16172,00000, Balance=0, Security=GZZ1@RTS, State=None 15:38:16.469 | | Мое | Обработка Limit заявки 55808787 на Sell с номером 5404781919. 15:38:16.484 | | Мое | Новая Sell сделка 422124435 на 1 заявки 55808582. 15:38:16.516 | | Мое | Отмена заявки 55808771. 15:38:16.516 | | Мое | Отмена заявки 55808772. 15:38:16.578 | | Мое | Отмена заявки 55808787. 15:38:23.047 | | Мое | Создал заявку с заданным объемом: TransactionId=0, Id=0, Price=16141,00000, Balance=0, Security=GZZ1@RTS, State=None 15:38:23.109 | | Мое | Обработка Limit заявки 0 на Sell с номером 5404782009. 15:38:23.688 | | Мое | Создал заявку с заданным объемом: TransactionId=0, Id=0, Price=16145,00000, Balance=0, Security=GZZ1@RTS, State=None 15:38:23.797 | | Мое | Создал заявку с заданным объемом: TransactionId=0, Id=0, Price=16158,00000, Balance=0, Security=GZZ1@RTS, State=None 15:38:24.094 | | Мое | Обработка Limit заявки 0 на Sell с номером 5404783305. 15:38:24.266 | | Мое | Обработка Limit заявки 0 на Buy с номером 5404783549. 15:38:24.328 | | Мое | Обработка Limit заявки 0 на Sell с номером 5404783643. 15:38:24.625 | | Мое | Обработка Limit заявки 0 на Buy с номером 5404784277. 15:38:24.813 | | Мое | Обработка Limit заявки 0 на Sell с номером 5404784551. 15:38:25.031 | | Мое | Обработка Limit заявки 55809031 на Buy с номером 5404784991. 15:38:25.250 | | Мое | Создал заявку с заданным объемом: TransactionId=0, Id=0, Price=16142,00000, Balance=0, Security=GZZ1@RTS, State=None 15:38:25.359 | | Мое | Новая Buy сделка 422124586 на 1 заявки 55809031. 15:38:25.406 | | Мое | Создал заявку с объемом поумолчанию: TransactionId=0, Id=0, Price=16138,00000, Balance=0, Security=GZZ1@RTS, State=None

Логи вывожу так :

var order = directions == OrderDirections.Buy ? strategy.BuyAt(price) : strategy.SellAt(price);
order.Volume = volume;
strategy.AddOrderInfoLog(order, "Создал заявку с заданным объемом");
RegisterOrder(order);
var order = directions == OrderDirections.Buy ? strategy.BuyAt(price) : strategy.SellAt(price);
strategy.AddOrderInfoLog(order, "Создал заявку с объемом поумолчанию");
RegisterOrder(order);
Thanks: Mikhail Sukhov

Alexander

Avatar
Date: 10/12/2011
Reply


А где volume выводится? Что пишет ProcessDataError \ OrdersFailed?

Дубль 2: Strategy.Volume устанавливайте перед BuyAt. Так точно будет меняться

Thanks:

frontman

Avatar
Date: 10/12/2011
Reply


Все заявки подкрашенные желтым не выставились...

Thanks:

frontman

Avatar
Date: 10/12/2011
Reply


Alexander Mukhanchikov: А где volume выводится? Дубль 2: Strategy.Volume устанавливайте перед BuyAt. Так точно будет меняться Не подходит мне этот вариант. Программа много поточная! Нельзя менять Strategy.Volume. В других методах объем может исп по умолчанию.

Thanks:

frontman

Avatar
Date: 10/12/2011
Reply


Ну вообщем наверно проще будет создать новую заявку через new Order и прям присвоить всем свойствам значения...

Thanks:

Alexander

Avatar
Date: 10/12/2011
Reply


Зачем задавать вопросы если игнорировать ответы на них?

Thanks:

frontman

Avatar
Date: 10/12/2011
Reply


Александр я же объяснил почему "Strategy.Volume устанавливайте перед BuyAt" не подходит. Т.к. значение по умолчанию используется параллельно еще много где в программе. Менять его нельзя. Вот и все. Не игнорирую я ваш ответ. Я предлагаю свой просто. как думаете он сработает?

Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy