Оптимизация
Atom Ответить
20.05.2021


Добрый день.
Подскажите пожалуйста, почему оптимизация каждый раз выдает разные результаты?
Как вы сами проводите оптимизацию? Дизайнер или что-то свое?
Спасибо Laugh



Спасибо:




4 Ответов
sprite

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


Вставлю свои 5 коп. Я не знаю что такое оптимизация, но если данные одинаковые, то и результаты одинаковых вычислений по этим данным должны быть одинаковыми. Вы точно используете одни и те же данные для тестирования, например грузите данные Level2, а не генерируете стакан?
Спасибо:

Greenn

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


sprite Go to
Вставлю свои 5 коп. Я не знаю что такое оптимизация, но если данные одинаковые, то и результаты одинаковых вычислений по этим данным должны быть одинаковыми. Вы точно используете одни и те же данные для тестирования, например грузите данные Level2, а не генерируете стакан?


Добрый день.

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

План действий в Дизайнере

Screenshot_5.png

Оптимизация. Ранжируем по коэф. восстановления

Первый прогон
Screenshot_3.png

Второй прогон
Screenshot_4.png

Получаются разные результаты
(Данные о стаканах, Level1, тиках, свечках присутствуют)
Генерируются ли стаканы - это нигде не узнать (я не нашел такого пункта в настройках )

Screenshot_5.png 118 KB (7) Screenshot_3.png 140 KB (8) Screenshot_4.png 140 KB (8)
Автор топика
Спасибо:

sprite

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


Greenn Go to
Данные о стаканах, Level1, тиках, свечках присутствуют

Я не знаю что там и как делает S# Designer, но, если в стратегии используются данные Level1 или Level2, а этих данных нет в хранилище (файлы level1.bin, quotes.bin) то, насколько я понимаю, стокшарп будет генерировать эти данные из тиков/свечек каждый прогон. Это я и имел ввиду под возможной причиной того, что у вас получаются разные результаты при одинаковых настройках. Если дело не в этом, то мои 5 копеек были не в тему.

Greenn Go to
А как вы тестируете свои стратегии? Работаете только через код или используете другие программы?

Я не использую логику "взять несколько свечей, сосчитать среднее что-то там и посмотреть что будет" (т.е. всякие SMA, EMA и т.п. индикаторы) для принятия торговых решений, т.е. по сути мне нечего "оптимизировать", меняя периоды. А вообще для тестирования я сделал коннектор, по типу встроенного HistoryEmulationConnector, который делает всё что мне надо и как мне надо, в том числе грузит доступные маркет данные из хранилища, сортирует их по дате и гоняет в цикле, именно для того, чтобы быть уверенным что изменение котировки в стакане, тика, транзакции и пр. в момент М будут каждый прогон происходить в одной и той же последовательности.
Спасибо: Greenn

Greenn

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


sprite Go to
Greenn Go to
Данные о стаканах, Level1, тиках, свечках присутствуют

Я не знаю что там и как делает S# Designer, но, если в стратегии используются данные Level1 или Level2, а этих данных нет в хранилище (файлы level1.bin, quotes.bin) то, насколько я понимаю, стокшарп будет генерировать эти данные из тиков/свечек каждый прогон. Это я и имел ввиду под возможной причиной того, что у вас получаются разные результаты при одинаковых настройках. Если дело не в этом, то мои 5 копеек были не в тему.

Greenn Go to
А как вы тестируете свои стратегии? Работаете только через код или используете другие программы?

Я не использую логику "взять несколько свечей, сосчитать среднее что-то там и посмотреть что будет" (т.е. всякие SMA, EMA и т.п. индикаторы) для принятия торговых решений, т.е. по сути мне нечего "оптимизировать", меняя периоды. А вообще для тестирования я сделал коннектор, по типу встроенного HistoryEmulationConnector, который делает всё что мне надо и как мне надо, в том числе грузит доступные маркет данные из хранилища, сортирует их по дате и гоняет в цикле, именно для того, чтобы быть уверенным что изменение котировки в стакане, тика, транзакции и пр. в момент М будут каждый прогон происходить в одной и той же последовательности.


Благодарю за ответ.
Автор топика
Спасибо:


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

loading
clippy