artemox Появилась идея сделать класс TestTestExecuter.
Но тогда необходимо создать базовый класс с методами Add(Candle), Add(decimal), Value, IsFormed.
Понятно, что не все индикаторы укладываются в один Value, но большинство индюков будут приобщены к одному интерфейсу.
Здравая идея, думаю в визуализаторе это тоже пригодится
Maxim
1) Лучше конечно определится со способо тестирования.
На данный момент где-то данные просто генерятся внутри теста,
где-то используются массивы, где-то используются внешние данные из файла.
Считаю, что лучше не генерировать данные внутри теста, а использовать внешние данные.
И, повторюсь, лучше унифицировать этот способ.
MomentumTest мне нравится. Только надо ввсети погрешность — плюс-минус дельта величину,
когда мы будем считать, что значение верно.
поддерживаю
Maxim
2) Возможно, тесты стоит сделать одному человеку.
В этом случае будет все более унифицировано.
Методом копипаст не очень трудно сделать тесты для каждого индикатора из MomentumTest.
при написания теста часто выявляются ошибки, а искать их проще тому, кто писал индикатор
Maxim
Оффтоп:
а) В список правил стоит добавить пункт-напоминание, что бы все делали проверку на деление на ноль где это возможно.
б) Что насчет потокобезопасности? Стоит ли ее реализовывать в индикаторах или нет?
а)согласен
б)мне кажется, не стоит усложнять индикаторы, есть ли такие ситуации, где это было бы оправдано?
artemox На самом деле, сейчас индюки пишутся на раз два. Например DPO с тестом нарисовал за 20 минут, + отладка 40 минут :)
Вот только нужен ли этот DPO кому-нибудь? :)
Лишним не будет[smile] Так понимаю, что наиболее используемые индикаторы уже сделали? Может добьем тесты и Михаил соберет первую бету?
Maxim artemox
Да правильно, но HHV и LLV это имена из амиброкера, т.к. Highest и Lowest там имеют другое предназначение
Может в таблицу алтернативные имена добавить?
В этом случае можно составить экселик, где будут три столбика "Как у нас называется", "Как в амиброкере", "Как в лабе".
Поддерживаю, заодно обновим что сделано, а что нет:)
sergey.masyura На такие тесты можно просто ставить аттрибут [Ignore], тогда они будут пропускаться при выполнении.
Хорошо, учтем. Смотрю на частые Coding style fixes, есть документ, где представлен Coding style?
Mikhail Sukhov
Это точно. Вот думаю, а не залить ли сырцы Ecng.Trading.Xaml да и сделать на основе CandleChart рисовалку всех этих индюков. Примеры Chart из .NET меня удивили по хорошему, особенно раздел финансы (приложил к сообщению). Я так прикинул, что большинство индюков имею одинаковый вид отрисовки. А значит и работа будет значительно меньше, чем я предполагал в самом начале.
Надо подумать над индикаторами, у которых несколько значений, как вариант, пусть каждый индикатор умеет рисовать себя сам.