остановка BatchStrategy 2.6.2
Atom
13.12.2010
ustas


Приветствую уважаемых Михаила и коллег.

Еще раз хочу поблагодорить Михаила за успешное разрешение проблемы с NullReferenceException.

Продолжаю тестировать защитные стратегии.

непонятно почему в логе ниже стратегия остановилась, хотя стоп завяка 51809355 не выполнилась. И что значит что "стратегия остановлена". Т.е. она совсем остановлена? И она больше заявок выдавать не будет?

SS 14:28:18.4218830 Условие активировано. SS 14:28:53.2908774 Условие активировано. SS 14:28:53.6238964 Условие удалено. SS 14:28:53.7349028 Условие активировано. SS 14:28:54.0479207 Условие удалено. SS 14:28:54.1639273 Условие активировано. UGUHUAXMLTMK 14:28:54.1699276 Стратегия запущена. SS 14:28:54.1849285 Условие удалено. UGUHUAXMLTMK 14:28:54.2859343 Условие активировано. BS 14:28:54.2999351 Стратегия запущена. BS 14:28:54.3019352 Стратегия запущена. TPS 14:28:54.3039353 Стратегия запущена. SLS 14:28:54.3049354 Стратегия запущена. SLS 14:29:10.5578650 Регистрация защитной заявки с ценой 10719 и объемом 1. SLS 14:29:10.5608651 Регистрация новой заявки на Buy с ценой 10719 и объемом 1. SLS 14:29:10.8098794 Заявка 51809355 на Buy отправлена с ценой 10719 объемом 1. SLS 14:29:11.8139368 Котируемая заявка 51809355 снята. SLS 14:29:11.8149369 Стратегия останавливается. SS 14:29:12.0219487 Условие активировано. SLS 14:29:13.1230117 Котирование отменяет заявку 51809355. SLS 14:29:13.1240117 Стратегия остановлена. BS 14:29:13.1360124 Стратегия останавливается. TPS 14:29:13.1390126 Стратегия останавливается. TPS 14:29:14.1500704 Котирование закончилось. TPS 14:29:14.1500704 Стратегия остановлена. BS 14:29:14.1510705 Стратегия остановлена. BS 14:29:14.1520705 Стратегия останавливается. BS 14:29:15.1521277 Стратегия остановлена. SS 14:31:47.7018531 Условие активировано. SS 14:31:50.5160141 Условие активировано. SS 14:32:00.5645888 Условие активировано. SS 14:32:00.5655889 Условие удалено.

Т.е. BatchStrategy останавливается после выставления одной из заявок и не важно исполнилась заявка или нет? В принципе я не против этого, просто уточняю.

запускаю так

RegisterOrder(order);
                                       When(order.NewTrades()).Do(//() =>
                                           this.Protect(order,
                                       t => new TakeProfitStrategy(t, 4.Points(Security)) { IsForts = true, IsParallel = true, IsMarket = true, PriceExchange = 3.Points(Security), ProtectiveDelta = 3.Points(Security) },
                                       t => new StopLossStrategy(t, 4.Points(Security)) { IsForts = true, IsMarket=true, IsParallel = true,IsTrailing=true, PriceExchange=3.Points(Security),ProtectiveDelta=3.Points(Security) })).Activated<Strategy>(s =>
                                       {
                                           When(s.Stopped()).
                                           Do(() =>
                                               {
                                                  /* сработало стоп условие */
                                               });
                                       }

Спасибо и с уважением!


Теги:


Спасибо:


Mikhail Sukhov

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


ustas: Приветствую уважаемых Михаила и коллег.

Еще раз хочу поблагодорить Михаила за успешное разрешение проблемы с NullReferenceException.

Продолжаю тестировать защитные стратегии.

непонятно почему в логе ниже стратегия остановилась, хотя стоп завяка 51809355 не выполнилась.

А почему в логе пишется, что заявка 51809355 снята? Кто ее снимает?

Спасибо:

ustas

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


По моему котирование и сняло, вроде больше некому.

А подскажите, IsMarket он для чего нужен (работаю на фортсе), я его перепутал видимо с UseMarketQuoting который мне нужен.

И еще такой вопрос поподробнее пжл про свойства ProtectiveStrategy в доке

PriceDelta - Дельта цены. Определяет отступ от лучшей котировки (для покупки priceDelta прибавляется к цене, для продажи - вычитается).

а в примерах priceDelta которая передаётся в конструкторе например TPS или SLS - это вроде как размер тейк профит или стоп лосс (Его кстати можно менять во время работы стратегии?)

это разные priceDelta?

и как заставить TPS или SLS стратегию выставлять заявки с запасом чтобы заявка гарантировано выполнилась.

и что такое

ProtectiveDelta - Дельта от цены защищаемой сделки, по которой должна быть выставлена защитная заявка. (Унаследовано от ProtectiveStrategy.)

я пробовал менять и PriceExchange и ProtectiveDelta - но завка всё равно выставляется точно по цене (защищаемого trade) +/- priceDelta т.е. совсем без запаса. И заявка может не выполнится.

Спасибо и с уважением.

Спасибо:

Mikhail Sukhov

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


ustas: По моему котирование и сняло, вроде больше некому.

А подскажите, IsMarket он для чего нужен (работаю на фортсе), я его перепутал видимо с UseMarketQuoting который мне нужен.

Выставить защитную заявку как рыночную. На Forts рыночные заявки не принимаются.

И еще такой вопрос поподробнее пжл про свойства ProtectiveStrategy в доке

PriceDelta - Дельта цены. Определяет отступ от лучшей котировки (для покупки priceDelta прибавляется к цене, для продажи - вычитается).

Ошибка в названиях. Это protectiveDelta.

ustas: а в примерах priceDelta которая передаётся в конструкторе например TPS или SLS - это вроде как размер тейк профит или стоп лосс (Его кстати можно менять во время работы стратегии?)

это разные priceDelta?

и как заставить TPS или SLS стратегию выставлять заявки с запасом чтобы заявка гарантировано выполнилась.

  1. Использовать котирование (UseMarketQuoting = true). Как раз в нем и используется priceDelta. Его смысл описывается в MarketQuotingStrategy. Им и задается, куда именно нужно ставить заявку - дальше от края или глубже в стакан.

  2. Переопределить ProtectiveStrategy.CreateProtectionOrder где заведомо указать цену хуже рынка.

Спасибо: ustas

ustas

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


Выставить защитную заявку как рыночную. На Forts рыночные заявки не принимаются. Вот поэтому наверно она и снялась. Видимо, заявка IsMarket выставляется на фортсе и сразу снимается если в рынок не попала (т.е. не выполнилась сразу).

Спасибо и с уважением!

Спасибо:

ustas

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


Mikhail Sukhov: Ошибка в названиях. Это protectiveDelta.

...............

  1. Использовать котирование (UseMarketQuoting = true). Как раз в нем и используется priceDelta. Его смысл описывается в MarketQuotingStrategy. Им и задается, куда именно нужно ставить заявку - дальше от края или глубже в стакан.

Хорошо, тогда для полной ясности MarketQuotingStrategy при UseMarketQuoting =true будет использовать PriceDelta? правильно? А если UseMarketQuoting не определён то используется ProtectiveDelta?

Если да, то странно , я его (ProtectiveDelta) пытался задать заведомо большим (100), но он не влиял на цену выставленной заявки.

Спасибо и с уважением.

Спасибо:

Mikhail Sukhov

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


ustas: Хорошо, тогда для полной ясности MarketQuotingStrategy при UseMarketQuoting =true будет использовать PriceDelta? правильно? А если UseMarketQuoting не определён то используется PorotectiveDelta?

Если да, то странно , я его (ProtectiveDelta) пытался задать заведомо большим (100), но он не влиял на цену выставленной заявки.

Спасибо и с уважением.

PorotectiveDelta - это отступ от цены сделки, при которой срабатывает сигнал. PriceDelta - это то, как будет отставать от края заявка, созданная сигналом... Принципиально разные вещи. Одно - это условие. Другое - действие.

Спасибо: ustas

ustas

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


О! теперь дошло. Много спасиб!

Спасибо:


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

loading
clippy