Order.GetAveragePrice равно 0
Atom
20.06.2012


В стратегии цена стоп заявки рассчитывается как "GetAveragePrice исполнившейся Short заявки " - 80
Стратегия работало какое-то время, все было нормально, стоп-заявки исполнялись. В какой то момент почему-то при расчете стопа GetAveragePrice было 0 и цена получилась отрицательная, произошел сбой:

Цитата:

System.ArgumentOutOfRangeException: Цена заявки должна быть положительной.
Parameter name: order
Actual value was -80.
at #=qGoBuDlT6LOhOqFv3WY9JfVoUGMLwCQqmxGn3ux1xsRU=.#=qrmBGhucdwUvMBWxvyf90OGFH_$dcrvDHgJnWvyziAz4=(Order #=qRqhlCAIZNVQm5yp$9tOMHw==, Boolean #=qcRD_tAfwy2bBT7qJZOuzHw==)
at #=qGoBuDlT6LOhOqFv3WY9JfVoUGMLwCQqmxGn3ux1xsRU=.#=qF6Ws2dOW1i8aCwov_qo_Xw==(Order #=qZn3kSxtavZ876oTZ3s7DtQ==, Boolean #=qjNfQ2svAOHqFj5BSaDISdQ==)
at StockSharp.Algo.BaseTrader.RegisterOrder(Order order)
at StockSharp.Algo.Strategies.Strategy.RegisterOrder(Order order)


Подскажите почему так могло получится? Каким образом и в какой момент в библиотеке происходит расчет AveragePrice для исполнившейся заявки?
Выходит нельзя полагаться на GetAveragePrice ?

Версия S# 4.1.1

Теги:


Спасибо:


< 1 2 
paveld

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


esper Перейти

1. Защищать каждую приходящую свою сделку. Пример здесь.


Извиняюсь, но еще раз уточню.
Если выставлять защитные заявки как по ссылке, те по правилу заявки WhenNewTrades, я так понимаю все равно остается риск того что Balance у заявки не успеет обновиться (так как это делается по другому событию OrderChanged), правильно?
Спасибо:

esper

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


Да, такая ситуация вполне вероятна. А зачем там баланс, если защищается именно каждая сделка?
Спасибо: paveld

paveld

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


esper Перейти
Да, такая ситуация вполне вероятна. А зачем там баланс, если защищается именно каждая сделка?

Вообще вроде не нужен баланс если из MyTrade можно получить объем исполненный по собственной заявке. А то, что приходит в MyTrade.Volume - это весь объем по собственной заявке?
Спасибо:

esper

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


Весь объем по заявке в MyTrade.Order.Volume, объем прошедший по сделке в MyTrade.Trade.Volume
Спасибо:

paveld

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


esper Перейти
Весь объем по заявке в MyTrade.Order.Volume, объем прошедший по сделке в MyTrade.Trade.Volume

MyTrade.Trade.Volume - это именно объем закрытый у заявки для которой сработало правило?

У меня по логике стратегии нужно еще определять исполнилась ли заявка полностью или нет, а если исполнилась то должно известна быть средняя цена исполнения. Это в правиле WhenNewTrades как я понимаю никак не определить?
Спасибо:
< 1 2 

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

loading
clippy