SampleHistoryTesting
Atom Ответить
29.03.2011


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



Спасибо:




123 Ответов
<< < 2 3 4 5  >
Dmitriy Klimov

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


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



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

Garic

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


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

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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 03.01.2012
Ответить


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



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


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

fau

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


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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 04.01.2012
Ответить


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.
Спасибо: fau

fau

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


Mikhail Sukhov Перейти

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

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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 04.01.2012
Ответить


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 лучше цикл организовать, а не первый элемент вытаскивать.
Спасибо: fau

fau

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


Mikhail Sukhov Перейти

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

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

JackSparrow

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


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

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

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


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

Alexander

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


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


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

fau

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


Alexander Mukhanchikov Перейти

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

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

Alexander

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


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

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

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


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

fau

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


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

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

JackSparrow

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


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

Alexander

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


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


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

JackSparrow

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


Alexander Mukhanchikov

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


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

Alexander

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


JackSparrow Перейти
Alexander Mukhanchikov

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


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



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

JackSparrow

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


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

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


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



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


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

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

JackSparrow

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


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

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


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



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


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

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


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

Alexander

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


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

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


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



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


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

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


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


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

Alexander

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


Будет фикс с Monitor Window
Спасибо:

JackSparrow

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


Alexander Mukhanchikov Перейти

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


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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 22.01.2012
Ответить


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

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


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


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

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

JackSparrow

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


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

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


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


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

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


Спасибо!

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

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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 23.01.2012
Ответить


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


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

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

loading
clippy