SampleHistoryTesting
Atom Reply
3/29/2011


SampleHistoryTesting - непонятно как работает:(
Скачал RIU9@RTS.zip (Файл с историческими сделками для примера SampleHistoryTesting.) http://www.box.net/stock.../#/stocksharp/1/74701094
Запустил SampleHistoryTesting - выбрал папку с распакованным архивом
В итоге алгоритм на строчку _nextTime += base.TimeFrame; так не разу и не попал:(
И непонятно как получить файлы и директории такого формата для другого инструмента.



Thanks:




123 Answers
<< < 2 3 4 5  >
Dmitriy Klimov

Avatar
Date: 1/3/2012
Reply


Mikhail Sukhov Перейти
Дайте знать, если у нас что-то неправильно работает.



В примере SampleRealTimeTesting тоже не все гладко. Я настроил его на подключение к Quik, задал период 1 минута и в качестве инструмента выбрал RIH2. Для проверки вывел скользящие в Quik, чтобы проверять время появления заявок. После запуска стратегия сразу же вошла в короткую позицию и спустя некоторое время вышла из нее, хотя для этого не было необходимых условий - пересечения скользящих. При этом выход из позиции занял продолжительное время и было сделано более ста! заявок. Прилагаю скриншот: http://screencast.com/t/Q38aF0NbknD
Thanks:

Garic

Avatar
Date: 1/3/2012
Reply


Котирование - это выставление заявок в стакан и двигание (снятие заявки и выставление новой)по мере исполнения условий выбранного котировщика. Что и видно на скриншоте - заявка отменялась пока не исполнилась.
Заявок может быть сколько угодно, хоть тыща пока не пройдёт сделка (это может быть и через минуту и через час) или не остановите котировщик.

Если не надо - не используйте котирование.
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 1/3/2012
Reply


Dmitriy Klimov Перейти
Mikhail Sukhov Перейти
Дайте знать, если у нас что-то неправильно работает.



В примере SampleRealTimeTesting тоже не все гладко.


Я так и не понял, у нас ошибка или так и должно быть? Приведите строчку с логами, где видна ошибочная ситуация.
Thanks:

fau

Avatar
Date: 1/4/2012
Reply


переписал пример под событийную модель (пользовался примерами с форума)
http://stocksharp.codepl.../changeset/changes/13409
просьба проверить :)
Thanks: Alexander

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 1/4/2012
Reply


fau Перейти
переписал пример под событийную модель (пользовался примерами с форума)
https://stocksharp.codepl.../changeset/changes/13409
просьба проверить :)


Ай, маладца!

Пару замечаний-бесплатных советовSmile:

Код
this
  .When(_candleManager.Tokens.ElementAt(0).CandlesStarted())
  .Do(action);


Лучше в стратегию конкретный токен передавать. По идее, теперь в стратегии _candleManager вообще не должен быть.

Код
private·void·action()


Не по стилю C#. И лучше использовать сигнатуру сразу со свечками:

Код
private·void ProcessCandles(IEnumerable<Candle> candles)


Чтобы потом не нужно было искать, что же там пришло:

Код
var·candle = _candleManager.GetLastTimeFrameCandle(Security, _timeFrame);


И последнее. Не CandlesStarted, а CandlesFinished.
Thanks: fau

fau

Avatar
Date: 1/4/2012
Reply


Mikhail Sukhov Перейти

Пару замечаний-бесплатных советовSmile:

поправил, надеюсь что правильно вас понял :)
по поводу Token, в документации написано что это идентификатор группировки. не ясно что это значит, но выходит что всегда один Token на стратегию?
Thanks: JakeGreen

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 1/4/2012
Reply


fau Перейти
Mikhail Sukhov Перейти

Пару замечаний-бесплатных советовSmile:

поправил, надеюсь что правильно вас понял :)
по поводу Token, в документации написано что это идентификатор группировки. не ясно что это значит, но выходит что всегда один Token на стратегию?


Токен - просто признак группировки. Одна и та же серия может использоваться разными стратегиями. И наоборот, стратегия может использовать параллельно сразу несколько серий.

По коду. Небольшие фиксы:

Код
Do(candles => ProcessCandles(candles))


можно заменить просто на

Код
Do(ProcessCandles)


Советую использовать R# для такого.

Код

candleManager.RegisterTimeFrameCandles(security,·timeFrame);
...
candleManager.Tokens.ElementAt(0)


Чтобы этот самый токен не искать, можно использовать так:

Код

var token = candleManager.RegisterTimeFrameCandles(security,·timeFrame);
...
token


И замечание по больше. В CandlesFinished за раз может передастся сразу несколько свечек (если робот запустил экспорт не с начала торгов). Так что в ProcessCandles лучше цикл организовать, а не первый элемент вытаскивать.
Thanks: fau

fau

Avatar
Date: 1/4/2012
Reply


Mikhail Sukhov Перейти

По коду. Небольшие фиксы:

спасибо, поправил
Thanks:

JackSparrow

Avatar
Date: 1/5/2012
Reply


fau Перейти
Mikhail Sukhov Перейти

По коду. Небольшие фиксы:

спасибо, поправил


Могу сказать что у меня скорость прогонки теста увеличилась
Thanks:

Alexander

Avatar
Date: 1/8/2012
Reply


fau Перейти
переписал пример под событийную модель (пользовался примерами с форума)
https://stocksharp.codepl.../changeset/changes/13409
просьба проверить :)


супер! можно пойти дальше и переписать все используемые в примерах SmaStrategy.
Осилите? :)
Thanks:

fau

Avatar
Date: 1/8/2012
Reply


Alexander Mukhanchikov Перейти

супер! можно пойти дальше и переписать все используемые в примерах SmaStrategy.
Осилите? :)

перепишу примеры в папках Testing, Smart (если получится продлить тестовый период) - остальные не с руки
Thanks:

Alexander

Avatar
Date: 1/8/2012
Reply


fau Перейти
Alexander Mukhanchikov Перейти

супер! можно пойти дальше и переписать все используемые в примерах SmaStrategy.
Осилите? :)

перепишу примеры в папках Testing, Smart (если получится продлить тестовый период) - остальные не с руки


Могу ошибаться, но вроде там аналогичные изменения везде нужны
Thanks:

fau

Avatar
Date: 1/9/2012
Reply


Alexander Mukhanchikov Перейти
Могу ошибаться, но вроде там аналогичные изменения везде нужны

хорошо, если аналогичные, тогда все исправлю
Thanks:

JackSparrow

Avatar
Date: 1/20/2012
Reply


Добавляю в SampleHistoryTesting просмотр логов через MonitorWindow. Окно монитора открывается нормально работает.
Если стратегию запустить через котирование то получаю exeption если работать через маркет то исключения нет.
Все описанное есть на прилагаемом скрине, скрин снят в режиме котирования
Thanks:

Alexander

Avatar
Date: 1/20/2012
Reply


JackSparrow Перейти
Добавляю в SampleHistoryTesting просмотр логов через MonitorWindow. Окно монитора открывается нормально работает.
Если стратегию запустить через котирование то получаю exeption если работать через маркет то исключения нет.
Все описанное есть на прилагаемом скрине, скрин снят в режиме котирования


Версия S# последняя? Если нет - пробуйте с ней
Thanks:

JackSparrow

Avatar
Date: 1/20/2012
Reply


Alexander Mukhanchikov

Версия S# последняя? Если нет - пробуйте с ней


Получилось как на картинке.
Thanks:

Alexander

Avatar
Date: 1/20/2012
Reply


JackSparrow Перейти
Alexander Mukhanchikov

Версия S# последняя? Если нет - пробуйте с ней


Получилось как на картинке.



Я имел в виду 4.0.16, а не из dev ветки :)
Если на 4.0.16 ломается - можно минимальный пример, на котором воспроизводится?
Thanks:

JackSparrow

Avatar
Date: 1/20/2012
Reply


Alexander Mukhanchikov Перейти
JackSparrow Перейти
Alexander Mukhanchikov

Версия S# последняя? Если нет - пробуйте с ней


Получилось как на картинке.



Я имел в виду 4.0.16, а не из dev ветки :)
Если на 4.0.16 ломается - можно минимальный пример, на котором воспроизводится?


Вылетела и эта, взятая с box(a), прилагаю mainwindow.cs.
Там ничего особенного нет, просто вставляю ComentaryWindow как это описано в доках.

ЗЫ нагляднее трабл ловить на коротких мувингах.
Thanks:

JackSparrow

Avatar
Date: 1/21/2012
Reply


JackSparrow Перейти
Alexander Mukhanchikov Перейти
JackSparrow Перейти
Alexander Mukhanchikov

Версия S# последняя? Если нет - пробуйте с ней


Получилось как на картинке.



Я имел в виду 4.0.16, а не из dev ветки :)
Если на 4.0.16 ломается - можно минимальный пример, на котором воспроизводится?


Вылетела и эта, взятая с box(a), прилагаю mainwindow.cs.
Там ничего особенного нет, просто вставляю ComentaryWindow как это описано в доках.

ЗЫ нагляднее трабл ловить на коротких мувингах.


Я сразу необратил внимание вовсе.
На Box.net лежит не событийная модель, так что вопрос снимается, совершенно нет смысла его обсуждать.
Thanks:

Alexander

Avatar
Date: 1/21/2012
Reply


JackSparrow Перейти
JackSparrow Перейти
Alexander Mukhanchikov Перейти
JackSparrow Перейти
Alexander Mukhanchikov

Версия S# последняя? Если нет - пробуйте с ней


Получилось как на картинке.



Я имел в виду 4.0.16, а не из dev ветки :)
Если на 4.0.16 ломается - можно минимальный пример, на котором воспроизводится?


Вылетела и эта, взятая с box(a), прилагаю mainwindow.cs.
Там ничего особенного нет, просто вставляю ComentaryWindow как это описано в доках.

ЗЫ нагляднее трабл ловить на коротких мувингах.


Я сразу необратил внимание вовсе.
На Box.net лежит не событийная модель, так что вопрос снимается, совершенно нет смысла его обсуждать.


Теперь я не понимаю.
Какая разница в ошибке с MonitorWindow какая модель используется - событийная или нет?
Thanks:

Alexander

Avatar
Date: 1/21/2012
Reply


Будет фикс с Monitor Window
Thanks:

JackSparrow

Avatar
Date: 1/22/2012
Reply


Alexander Mukhanchikov Перейти

Теперь я не понимаю.
Какая разница в ошибке с MonitorWindow какая модель используется - событийная или нет?


Объективно видимо никакой, но я только вникаю в продукт и не могу квалифицированно сказать в чем причина, все мои высказывания это либо догадки либо констатации вторичных фактов, тем более что монитор виндоу для меня черный ящик.
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 1/22/2012
Reply


JackSparrow Перейти
Alexander Mukhanchikov Перейти

Теперь я не понимаю.
Какая разница в ошибке с MonitorWindow какая модель используется - событийная или нет?


Объективно видимо никакой, но я только вникаю в продукт и не могу квалифицированно сказать в чем причина, все мои высказывания это либо догадки либо констатации вторичных фактов, тем более что монитор виндоу для меня черный ящик.


Посмотрите в dev ветке. Залил фиксы, должно работать. По транку чуть позднее.

MonitorWindow и для нас черный ящик, так как ошибки сыпятся внутри WPF дерева.
Thanks:

JackSparrow

Avatar
Date: 1/23/2012
Reply


Mikhail Sukhov Перейти
JackSparrow Перейти
Alexander Mukhanchikov Перейти

Теперь я не понимаю.
Какая разница в ошибке с MonitorWindow какая модель используется - событийная или нет?


Объективно видимо никакой, но я только вникаю в продукт и не могу квалифицированно сказать в чем причина, все мои высказывания это либо догадки либо констатации вторичных фактов, тем более что монитор виндоу для меня черный ящик.


Посмотрите в dev ветке. Залил фиксы, должно работать. По транку чуть позднее.

MonitorWindow и для нас черный ящик, так как ошибки сыпятся внутри WPF дерева.


Спасибо!

Я проверил, с фиксами ошибка с монитором не повторилась.

Но хочу отметить что быстродействие замедлилось очень радикально. Если в 4.0.16 я прогоняю тест за 5 минут, то пример из dev я выключаю через час прогона.
И еще натолкнулся на то что он иногда остается висеть в процессах
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 1/23/2012
Reply


JackSparrow Перейти
Но хочу отметить что быстродействие замедлилось очень радикально. Если в 4.0.16 я прогоняю тест за 5 минут, то пример из dev я выключаю через час прогона.


Это время именно на чистом примере, без всяких MonitorWindow?
Thanks:
<< < 2 3 4 5  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy