Результаты оптимизации

Автор: Fresto

Результаты оптимизации - Wed Nov 02 2016 12:10 PM

Здравствуйте. Когда я оптимизирую скрипт, сделанный через TSLab API c#, у меня в визуальном редакторе в окне - Результаты оптимизации, появляются какие-то результаты. Но когда там написано в графе Доходность в год 27, я нажимаю 2 раза, ну или через Сохранить и выполнить, то у меня в самих результатах не такой показатель, а меньше там, ну и почти всегда так.. Я нажимаю на какие-то результаты, а на графике и в окне результаты данные другие. Хотя параметры такие же, какие и в строчке в Результатах оптимизации. Что может быть не так?
В скриншотах я выбираю первый результат в Результаты оптимизации, там показывает 18,96 доходности в год, но потом в окне результаты почему-то 2% в год..
Автор: Alim

Re: Результаты оптимизации - Wed Nov 02 2016 12:30 PM

после того как во вкладке - Результаты оптимизации кликаете 2 раза,
проверьте вкладку -Оптимизация, убедитесь что бы данные перенеслись => сох выпол
Автор: Fresto

Re: Результаты оптимизации - Wed Nov 02 2016 12:40 PM

Самое интересное, не знаю, как это происходит, параметры по оптимизации одинаковые. А когда я нажимаю Выполнить, то меняются сделки, 1 из графиков построенных по формуле. И так где-то меняется 5 разных вариантов.. И они повторяются.. Первый раз такое замечаю.. Хотя опять же параметры оптимизации в каждом случае одинаковые.
Автор: Fresto

Re: Результаты оптимизации - Wed Nov 02 2016 12:41 PM

Возможно это именно ошибка из-за того, что я прописал скрипт через c#.

Или еще вероятность, что это из-за того, что включена в данный момент оптимизация. Хотя даже если выключена, всё равно неправильные данные показывает.
Автор: OldMo

Re: Результаты оптимизации - Thu Feb 09 2017 07:29 AM

Originally Posted By: Fresto
Я нажимаю на какие-то результаты, а на графике и в окне результаты данные другие. Хотя параметры такие же, какие и в строчке в Результатах оптимизации. Что может быть не так?

У меня была ровно такая же проблема. Причина - некорректное кэширование данных через GetData. Скорее всего ключ который вы используете не уникален.

З.Ы. Подозреваю, что я несколько припозднился с ответом, но тут так пусто, что это навевает мысли о вечности. А что такое 3 месяца по сравнению с вечностью?
Автор: serg

Re: Результаты оптимизации - Fri Feb 10 2017 02:54 PM

Originally Posted By: OldMo
Originally Posted By: Fresto
Я нажимаю на какие-то результаты, а на графике и в окне результаты данные другие. Хотя параметры такие же, какие и в строчке в Результатах оптимизации. Что может быть не так?

У меня была ровно такая же проблема. Причина - некорректное кэширование данных через GetData. Скорее всего ключ который вы используете не уникален.

З.Ы. Подозреваю, что я несколько припозднился с ответом, но тут так пусто, что это навевает мысли о вечности. А что такое 3 месяца по сравнению с вечностью?


@Скорее всего ключ который вы используете не уникален. @ - поясните - как это не уникален ???..)
Автор: OldMo

Re: Результаты оптимизации - Sun Feb 12 2017 06:41 PM

      IList<double> high = ctx.GetData("Highest", new[] {HighPeriod.ToString()},
          delegate { return Series.Highest(source.HighPrices, HighPeriod); });
как я понимаю работу GetData:
1. в процессе оптимизации перед выполнением расчетов (в данном случае метода Series.Highest) создается некий "ключ" или "индекс" (в данном случае он будет равен HighPeriod.ToString).
2. Если такой индекс до этого не был сохранен в кэш, то выполняются вычисления, их результат сохраняется в кэш и маркируется "индексом".
3. Если индекс в кэше находится, то расчетов не производится и результаты берутся из кэша. Это дает ускорение оптимизации - ради этого все и затевалось.

Для того чтобы это работало корректно, нужно чтобы каждому уникальному расчету соответствовал уникальный "индекс". Например если вы хотите закэшировать результаты работы метода с двумя параметрами (a и b), а в индекс запишете только один параметр (допустим a) то в процессе оптимизации по параметрам a и b для каждого а закэшируется результат с каким то случайным b и в дальнейшем при переборе b вместо расчетов будут подсовываться результаты с одним и тем же b. Это приведет к неправильным цифрам во вкладке "оптимизация". Когда же Вы подставите выбранные параметры и запустите скрипт он отработает корректно и вы увидите реальные результаты.
Автор: konstantinio

Re: Результаты оптимизации - Mon Feb 13 2017 09:47 PM

А не пытаетесь ли вы сохранить данные между пересчётами? В режиме оптимизации эти данные могут пересекаться если неправильно сохранять.
Автор: foktov

Re: Результаты оптимизации - Tue Mar 14 2017 06:46 PM

Действительно, относительно вечности...

Решили проблему?
Автор: Fresto

Re: Результаты оптимизации - Fri Mar 17 2017 11:24 AM

Давно не заходил сюда. Всё получилось, просто я пытался воспроизвести данные в период оптимизации. Возможно в этом и была ошибка.

P.s. писал код корректно, поэтому с уникальностью ключа не должно появляться проблем