Оптимизация
Atom
20.05.2021
Greenn


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




Спасибо:


Sprite

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


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

Спасибо:

Greenn

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


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

Добрый день.

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

[b]План действий в Дизайнере[/b]

[img=123898]Screenshot_5.png[/img]

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

[b]Первый прогон[/b] [img=123899]Screenshot_3.png[/img]

[b]Второй прогон[/b] [img=123901]Screenshot_4.png[/img]

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

Screenshot_5.png 118 KB (836) Screenshot_3.png 140 KB (856) Screenshot_4.png 140 KB (853)
Спасибо:

Sprite

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


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

[quote=Greenn;56235][b]А как вы тестируете свои стратегии? Работаете только через код или используете другие программы?[/b][/quote] Я не использую логику "взять несколько свечей, сосчитать среднее что-то там и посмотреть что будет" (т.е. всякие SMA, EMA и т.п. индикаторы) для принятия торговых решений, т.е. по сути мне нечего "оптимизировать", меняя периоды. А вообще для тестирования я сделал коннектор, по типу встроенного HistoryEmulationConnector, который делает всё что мне надо и как мне надо, в том числе грузит доступные маркет данные из хранилища, сортирует их по дате и гоняет в цикле, именно для того, чтобы быть уверенным что изменение котировки в стакане, тика, транзакции и пр. в момент М будут каждый прогон происходить в одной и той же последовательности.

Спасибо: Greenn

Greenn

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


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

[quote=Greenn;56235][b]А как вы тестируете свои стратегии? Работаете только через код или используете другие программы?[/b][/quote] Я не использую логику "взять несколько свечей, сосчитать среднее что-то там и посмотреть что будет" (т.е. всякие SMA, EMA и т.п. индикаторы) для принятия торговых решений, т.е. по сути мне нечего "оптимизировать", меняя периоды. А вообще для тестирования я сделал коннектор, по типу встроенного HistoryEmulationConnector, который делает всё что мне надо и как мне надо, в том числе грузит доступные маркет данные из хранилища, сортирует их по дате и гоняет в цикле, именно для того, чтобы быть уверенным что изменение котировки в стакане, тика, транзакции и пр. в момент М будут каждый прогон происходить в одной и той же последовательности.[/quote]

Благодарю за ответ.

Спасибо:


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

loading
clippy