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


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


Теги:


Спасибо:


1 2  >
Dmitriy Klimov

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


[quote=funvee_2]Добрый день)) возникла такая загвоздка, последовательно выставляю две заявки, и по исполнению одной из них надо снять другую??? подскажите каким образом можно это сделать, а то совсем ума не приложу.[/quote] Отслеживать событие NewMyTrades у Strategy или BaseTrader.

Спасибо:

funvee_2

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


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

Спасибо:

Dmitriy Klimov

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


[quote=funvee_2] а не могли бы Вы выложить кусочек кода, каким образом это сделать, просто я не программист и разобраться бывает сложновато, был бы Вам безумно признателен[/quote] Если вы не программист, то кусочком кода не обойдешься. Посмотрите примеры, которые идут с библиотекой. Там все это есть...

Спасибо:

funvee_2

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


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

Спасибо:

Dmitriy Klimov

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


[quote=funvee_2]честно смотрел.....я не из лени сюда написал. а потому что действительно не смог найти, а кусочка кода с тем как именно отследить заявку будет достаточно))) и больше не стану Вас донимать глупыми вопросами))[/quote] Если заявки выставляются в стратегии, то можно так:

[code]class MyStrategy : Strategy { public MyStrategy () { base.NewMyTrades += OnNewMyTrades; }

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

} [/code]

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

Спасибо:

funvee_2

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


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

Спасибо:

Dmitriy Klimov

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


[quote=funvee_2]Спасибо большое)))) все таки еще один вопросик остался)))) а если мне надо не все заявки снять а только последнюю а остальные оставить....????[/quote] В спсике Strategy.Orders хранятся все заявки, сделанные стратегией. Отменить можно любую через BaseTrader.CancelOrder.

Спасибо:

funvee_2

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


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

Спасибо:

Mikhail Sukhov

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


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

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

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

Спасибо:

funvee_2

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


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

Спасибо:
1 2  >

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

loading
clippy