![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| compaq |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 20.11.2006 Репутация: нет Всего: нет |
Есть класс
в нём есть два метода, метод Execute() который вызывается когда в value добавлено новое значение и метод GetExternalData() который запрашивает у репозитория другие данные, если они понадобятся в расчётах. При работе в "боевом режиме" (то есть в “реальном времени”) все просто, добавил в value новое значение и вызвал Execute(). А как быть если нужно предварительно эту стратегию оттестировать на исторических данных, то есть значения value уже известны к примеру за 2009 год. И я хочу посмотреть как поведет себя стратегия на этих данных. Это сообщение отредактировал(а) compaq - 21.8.2010, 11:53 |
|||
|
||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
Поправьте меня, если я не прав, но по-моему, то, что формальный аргумент у вас в конструктуре имеет тип интерфейса IList, не гарантирует того, что вы не получите исключение времени выполнения, так как реализация типом интерфейса IList не гарантирует его приведения к типу List<T>.
А насчёт стратегий я вообще ничего не понял:
Этот код для меня просто сакраментальный... Ваш класс получает List<T> каких-то значений? Если дальше вам с ними надо что-то делать, делайте в каком-нибудь методе... Не совсем понятно, что вы имели ввиду! -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| compaq |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 20.11.2006 Репутация: нет Всего: нет |
Да это я просто для примера привёл. Задача в следующем, есть стратегия которая должна работать в двух режимах, без изменения кода, к примеру сделали сборку и используем в двух режимах, исторического тестирования и работы в реальном времени. к примеру класс стратегии представляет из себя что то типа этого.
а код для его тестирование что то типа этого
К примеру в BackTest мы передали стратегию и заполненный value скажем от 1 до 10.
При каждой итерации BackTest берет значение из value и добавляет в strategy.MainValue а потом делает расчёт strategy.Execute(); вопрос вот в чём, если на этой итерации тестирования mainValue равно 5 то как сделать так, что значения optionalValue1 и optionalValue2 получаемые из GetExternalData тоже были бы равны 5. P.S. в репозитории который здесь не представлен данные для всех значений имеются (то есть mainValue, optionalValue1, optionalValue2 заполнены значениями от 1 до 10). А если проще. Нужно синхронизировать значение mainValue и optionalValue что бы к примеру не получилось так что mainValue.Last() равен 5 а optionalValue.Last() равен 6 или 3. |
||||||||
|
|||||||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
На каждой же итерации пробегайте в цикле по массиву чисел из репозитория, находите нужное значение через сравнение и обменивайте его местами с числом, стоящим на i-том месте (на i-той итерации). -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |