выставление и снятие заявок
Atom
29.10.2010


Добрый день))
возникла такая загвоздка, последовательно выставляю две заявки, и по исполнению одной из них надо снять другую??? подскажите каким образом можно это сделать, а то совсем ума не приложу.

Теги:


Спасибо:


1 2  >
Dmitriy Klimov

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


funvee_2
Добрый день))
возникла такая загвоздка, последовательно выставляю две заявки, и по исполнению одной из них надо снять другую??? подскажите каким образом можно это сделать, а то совсем ума не приложу.

Отслеживать событие NewMyTrades у Strategy или BaseTrader.
Спасибо:

funvee_2

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


а не могли бы Вы выложить кусочек кода, каким образом это сделать, просто я не программист и разобраться бывает сложновато, был бы Вам безумно признателен
Спасибо:

Dmitriy Klimov

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


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

Если вы не программист, то кусочком кода не обойдешься. Посмотрите примеры, которые идут с библиотекой. Там все это есть...
Спасибо:

funvee_2

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


честно смотрел.....я не из лени сюда написал. а потому что действительно не смог найти, а кусочка кода с тем как именно отследить заявку будет достаточно))) и больше не стану Вас донимать глупыми вопросами))
Спасибо:

Dmitriy Klimov

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


funvee_2
честно смотрел.....я не из лени сюда написал. а потому что действительно не смог найти, а кусочка кода с тем как именно отследить заявку будет достаточно))) и больше не стану Вас донимать глупыми вопросами))

Если заявки выставляются в стратегии, то можно так:

Код
class MyStrategy : Strategy
{
public MyStrategy ()
{
base.NewMyTrades += OnNewMyTrades;
}

private void OnNewMyTrades(IEnumerable<MyTrade> trades)
{
base.CancelActiveOrders();
}
}


Каждый раз при исполнении одной заявки все остальные заявки будут сниматься.
Спасибо:

funvee_2

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


Спасибо большое))))
все таки еще один вопросик остался)))) а если мне надо не все заявки снять а только последнюю а остальные оставить....????
Спасибо:

Dmitriy Klimov

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


funvee_2
Спасибо большое))))
все таки еще один вопросик остался)))) а если мне надо не все заявки снять а только последнюю а остальные оставить....????

В спсике Strategy.Orders хранятся все заявки, сделанные стратегией. Отменить можно любую через BaseTrader.CancelOrder.
Спасибо:

funvee_2

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


это опять я. подскажите, пожалйста, как снять заявку по имеющемуся id заявки??
Спасибо:

Mikhail Sukhov

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


funvee_2
это опять я. подскажите, пожалйста, как снять заявку по имеющемуся id заявки??


Примерный код:
Код
var order = ITrader.Orders.First(o => o.Id == id)
ITrader.CancelOrder(order)


Но есть подозрение, что неправильно строите логику. Оперировать нужно объектами (Order), а не номерами заявок.
Спасибо:

funvee_2

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


а как тогда узнать какая из заявок была исполнена???
допустим если было 4 активные заявки. и пришло событие что одна исполнилась как узнать какая из них?? надо же сохранить id а потом сравнить с id исполненой сделки???я правильно понимаю???
Спасибо:
1 2  >

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

loading
clippy