| 
| 
| 
| 
| #73821 - Mon Oct 12 2015 05:04 PM  Проверка существования ордера? |  
|   newbie
 
 Registered:  Mon Sep 21 2015
 Записи: 35
 | 
 Здравствуйте, несколько вопросов
 1)Выставляю ордер
 position.CloseAtStop(source.Bars.Count + 1,price, "StopOrderNo123");
 Как на следующем баре понять что такой ордер существует (открыт или уже исполнен) - дошел до биржи?
 
 2) position.CloseAtMarket также создает ордер, информацию о котором можно получить?
 
 3) Как можно получить список всех ордеров открытых\исполненных?
 
 Отредактировано user5 (Tue Oct 13 2015 09:55 AM)
 |  
| Наверх |  |  |  |  
| 
| 
| #73938 - Thu Oct 15 2015 11:35 PM  Re: Проверка существования ордера?
[Re: user5] |  
|   newbie
 
 Registered:  Mon Sep 21 2015
 Записи: 35
 | 
Тут и  тут   узнал что не без проблем можно использовать ISecurityRt. В случае локального прогона по файлу котировок - никак. 
 Отредактировано user5 (Thu Oct 15 2015 11:35 PM)
 |  
| Наверх |  |  |  |  
| 
| 
| #73954 - Fri Oct 16 2015 02:01 PM  Re: Проверка существования ордера?
[Re: user5] |  
|   newbie
 
 Registered:  Mon Sep 21 2015
 Записи: 35
 | 
Только вот остался вопрос - как тестировать (оптимизировать)стратегию с лимитными ордерами?
 Насколько я понимаю, никак. Поправьте пожалуйста, если не прав.
 |  
| Наверх |  |  |  |  
| 
| 
| #73958 - Fri Oct 16 2015 03:20 PM  Re: Проверка существования ордера?
[Re: user5] |  
|   enthusiast
 
 Registered:  Wed Jan 18 2012
 Записи: 256
 | 
Если используются стандартные методы открытия/закрытия позиции (не реалтайм) то точно так же и остальные скрипты.Вообще не понятно в чем задача. Проверять выставилась ли заявка на биржу при тесте на истории, это как?
 |  
| Наверх |  |  |  |  
| 
| 
| #73959 - Fri Oct 16 2015 03:40 PM  Re: Проверка существования ордера?
[Re: Kermit] |  
|   newbie
 
 Registered:  Mon Sep 21 2015
 Записи: 35
 | 
>Проверять выставилась ли заявка на биржу при тесте на истории, это как?
 Извините, уточняю контекст. Например, по стратегии необходимо выставить лимитник, но при недостижении его ценой в течении времени Т - снимать.
 
 
 Positions.GetLastActiveForSignal и подобные функции работают с позициями, похожих операций с ордерами (не в RT) не нашел
 
 Отредактировано user5 (Fri Oct 16 2015 03:49 PM)
 |  
| Наверх |  |  |  |  
| 
| 
| #73968 - Fri Oct 16 2015 09:58 PM  Re: Проверка существования ордера?
[Re: user5] |  
|   enthusiast
 
 Registered:  Wed Jan 18 2012
 Записи: 256
 | 
if( LongPosition == null &&...всякие условия... && продолжительностьСигнала < T) sec.Position.BuyAtPrice(i+1, quant, price, "Long")По прошествии времени Т заявка будет снята.
 |  
| Наверх |  |  |  |  
| 
| 
| #73972 - Sat Oct 17 2015 09:16 AM  Re: Проверка существования ордера?
[Re: Kermit] |  
|   Carpal Tunnel
 
   Registered:  Thu Sep 27 2012
 Записи: 2860
 | 
стратегии с  ISecurityRt не тестируются на истории. В остальном вам уже ответили. Используйте таймфрейм меньше и сжатие. тогда сможете снимать заявку через заданное число секунд или минут. 
___________________________
 
 
 |  
| Наверх |  |  |  |  
| 
| 
| #73978 - Sat Oct 17 2015 04:01 PM  Re: Проверка существования ордера?
[Re: Kermit] |  
|   newbie
 
 Registered:  Mon Sep 21 2015
 Записи: 35
 | 
Спасибо за ответы, но if( LongPosition == null &&...всякие условия... && продолжительностьСигнала < T) sec.Position.BuyAtPrice(i+1, quant, price, "Long")По прошествии времени Т заявка будет снята.
Насколько я понял код, в результате получу кучу лимитных ордеров на покупку и прекратят они создаваться, когда условие на Т перестанет выполняться. Останется молиться, чтоб цена до них никогда не дошла. Например, если базовый таймфрейм = 1 минута, Т = 10 минут, то в худшем случае будет висеть 10 лимитных ордеров? Используйте таймфрейм меньше и сжатие. тогда сможете снимать заявку через заданное число секунд или минут.Ага, со сжатием познакомился, отсчет времени пока понятен, не ясно как  обращаться к ордеру (не в RT).
 Отредактировано user5 (Sat Oct 17 2015 04:02 PM)
 |  
| Наверх |  |  |  |  
| 
| 
| #73986 - Sat Oct 17 2015 11:50 PM  Re: Проверка существования ордера?
[Re: user5] |  
|   enthusiast
 
 Registered:  Wed Jan 18 2012
 Записи: 256
 | 
Откуда возьмется эта куча??? И в примере который я привел будет выставлена 1 заявка, которая будет снята через 10 баров, если Т = 10.
 Мне кажется, что у вас общее непонимание логики ТСЛаба. В ней нет никаких ордеров, есть позиции. И метод называется Position.Buy(Sell)AtPrice. И совсем неспроста в названии нет слова "order".
 |  
| Наверх |  |  |  |  
| 
| 
| #73989 - Sun Oct 18 2015 07:07 AM  Re: Проверка существования ордера?
[Re: Kermit] |  
|   Carpal Tunnel
 
   Registered:  Thu Sep 27 2012
 Записи: 2860
 | 
никак не обратиться к ордеру если не РТ режим. А если вы полезете к ордерам, то придется много переделать. В общем я полагаю вы забиваете себе голову и нам тоже. Опишите цель этих изысканий, а то явно есть непонимание азов. 
___________________________
 
 
 |  
| Наверх |  |  |  |  
| 
| 
| #74006 - Mon Oct 19 2015 11:38 AM  Re: Проверка существования ордера?
[Re: Kermit] |  
|   newbie
 
 Registered:  Mon Sep 21 2015
 Записи: 35
 | 
Вы правы, я недавно познакомился с TSLab и успел локально потестить простейшие стратегии.  Сейчас пытаюсь накодит что-нибудь существенное, но поскольку документация очень скромная (кроме статей на rusalgo.com), то возникают подобные вопросы.. Заранее благодарю за терпение... Откуда возьмется эта куча??? И в примере который я привел будет выставлена 1 заявка, которая будет снята через 10 баров, если Т = 10.
 Мне кажется, что у вас общее непонимание логики ТСЛаба. В ней нет никаких ордеров, есть позиции. И метод называется Position.Buy(Sell)AtPrice. И совсем неспроста в названии нет слова "order".
А что такое 'заявка' в вашем сообщении? Если это не позиция, а ордеров не существует, то что это? Следуя  описанию   и вашему посту  , я сделал вывод что Position.BuyAtPrice создает лимитную заявку (ордер). Догадываюсь, что заявка создается только при наличии соединения с биржей (когда есть стакан), что tslab делает при отсутствии стакана (локальные тесты) - не знаю. Судя по тому что к одерам можно обращаться только в RT, делаю вывод что  при локальных тестах работа с ордерами ограничена только их выставлением, отсюда в моей голове появляются ограничения на локальное тестирование стратегий с ордерами.
 Отредактировано user5 (Mon Oct 19 2015 11:40 AM)
 |  
| Наверх |  |  |  |  
| 
| 
| #74008 - Mon Oct 19 2015 12:06 PM  Re: Проверка существования ордера?
[Re: user5] |  
|   newbie
 
 Registered:  Mon Sep 21 2015
 Записи: 35
 | 
никак не обратиться к ордеру если не РТ режим. А если вы полезете к ордерам, то придется много переделать. В общем я полагаю вы забиваете себе голову и нам тоже. Опишите цель этих изысканий, а то явно есть непонимание азов. Про ордера понял -спасибо. Переделывать мне пока особо нечего.. А цель примерно такая  - по стратегии необходимо выставить лимитник, но при недостижении его ценой в течении времени Т - снимать. Как это сделать в RT понятно, как это сделать так чтобы можно было протестировать на истории - не понятно. |  
| Наверх |  |  |  |  
| 
| 
| #74009 - Mon Oct 19 2015 01:02 PM  Re: Проверка существования ордера?
[Re: user5] |  
|   Carpal Tunnel
 
   Registered:  Thu Sep 27 2012
 Записи: 2860
 | 
используйте таймфрейм 1 секунда. расчеты делайте через сжатие. так вы можете почти без проблем сделать то что хотите. время отсекайте по бару на котором выставили сигнал. никаких фокусов с реалтаймом. Все РТ скрипты не тестируются никак. Только реал. Все. 
___________________________
 
 
 |  
| Наверх |  |  |  |  
| 
| 
| #74015 - Mon Oct 19 2015 01:56 PM  Re: Проверка существования ордера?
[Re: ra81] |  
|   newbie
 
 Registered:  Mon Sep 21 2015
 Записи: 35
 | 
... котором выставили сигнал...Я правильно понимаю, что вы говорите про эмуляцию ордеров, т.е. самостоятельно делаю отсечку по времени и каждую секунду, пока время не истекло проверяю текущее значение цены, если целевое значение достигнуто - отправляю BuyAtMarket(). Если же время истекло, а цена не дошла до нужной, прекращаю BuyAtMarket. Примерно так? |  
| Наверх |  |  |  |  
| 
| 
| #74019 - Mon Oct 19 2015 02:24 PM  Re: Проверка существования ордера?
[Re: ra81] |  
|   newbie
 
 Registered:  Mon Sep 21 2015
 Записи: 35
 | 
Так я маркет отправлю когда цена дойдет до нужной и только тогда исполнение будет.
 Про лимитку вы говорите то же самое что и Kermit, и тут меня немного клинит. Получается что лимитка (BuyAtPrice) висит только в течении одного бара и на следующем уже отменяется??? Т.е. пока я отправляю BuyAtPrice, лимитка существует, как только перестаю - ее нет?
 
 Такое поведение только на локальных тестах, а на RT лимитка живет больше одного бара?
 
 
 
 
 
 
 Отредактировано user5 (Mon Oct 19 2015 02:26 PM)
 |  
| Наверх |  |  |  |  
| 
| 
| #74020 - Mon Oct 19 2015 02:33 PM  Re: Проверка существования ордера?
[Re: user5] |  
|   Carpal Tunnel
 
   Registered:  Thu Sep 27 2012
 Записи: 2860
 | 
да именно так и работает ЛЮБОЙ сигнал. пока бар длится он висит. в РТ лимитка висит сколько висит пока не снимается. 
___________________________
 
 
 |  
| Наверх |  |  |  |  
| 
| 
| #74021 - Mon Oct 19 2015 02:46 PM  Re: Проверка существования ордера?
[Re: ra81] |  
|   newbie
 
 Registered:  Mon Sep 21 2015
 Записи: 35
 | 
ra81, последний коммент бесценный!   . И в завершении, чтобы не расстраивать тех кто будет копипастить. Выходит что код от Kermit локально и на RT даст разное поведение. На RT-получим множество лимитных ордеров ?
 Отредактировано user5 (Mon Oct 19 2015 02:47 PM)
 |  
| Наверх |  |  |  |  
| 
| 
| #74022 - Mon Oct 19 2015 05:41 PM  Re: Проверка существования ордера?
[Re: user5] |  
|   Carpal Tunnel
 
   Registered:  Thu Sep 27 2012
 Записи: 2860
 | 
в обычной схеме вы работаете с сигналами. тслаб не дает сделать два активных сигнала с одним именем. В РТ вы работаете с ордерами и можете хоть как и хоть сколько их наплодить. Тут чисто ваша воля и желание. 
___________________________
 
 
 |  
| Наверх |  |  |  |  
| 
| 
| #74061 - Tue Oct 20 2015 05:58 PM  Re: Проверка существования ордера?
[Re: ra81] |  
|   newbie
 
 Registered:  Mon Sep 21 2015
 Записи: 35
 | 
Извиняюсь, есть еще непонимание базовых вещей. Под RT вы имеете ввиду работу через SecurityRT и ЛЮБОЙ сигнал как при локальных тестах так и при работе с биржей висит пока длится бар?
 И моя фраза 'код от Kermit локально и на RT даст разное поведение' бессмысленна, поскольку с использованием RT (SecurityRT) этот код будет выглядеть иначе? Верно?
 |  
| Наверх |  |  |  |  
 
 |  |