Sergey Masyura
|
Date: 6/12/2011
artemox:
sergey.masyura,
как победить ошибку "Невозможно загрузить файл или сборку "Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" или один из зависимых от них компонентов. Не удается найти указанный файл." возникающую например при вызове sma.Value.AssertEqual((decimal)data.Average()); ?
Не у одного меня такая ерунда :(
Как вариант файлы из аттача распоковать в c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\
По идее все это ставится в VS 2010 Ultimate.
|
|
|
|
|
|
|
esper
|
Date: 6/12/2011
|
|
|
|
|
artemox:
Появилась идея сделать класс TestTestExecuter.
Но тогда необходимо создать базовый класс с методами Add(Candle), Add(decimal), Value, IsFormed.
Понятно, что не все индикаторы укладываются в один Value, но большинство индюков будут приобщены к одному интерфейсу.
Здравая идея, думаю в визуализаторе это тоже пригодится
Maxim:
Лучше конечно определится со способо тестирования.
На данный момент где-то данные просто генерятся внутри теста,
где-то используются массивы, где-то используются внешние данные из файла.
Считаю, что лучше не генерировать данные внутри теста, а использовать внешние данные.
И, повторюсь, лучше унифицировать этот способ.
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 меня удивили по хорошему, особенно раздел финансы (приложил к сообщению). Я так прикинул, что большинство индюков имею одинаковый вид отрисовки. А значит и работа будет значительно меньше, чем я предполагал в самом начале.
Надо подумать над индикаторами, у которых несколько значений, как вариант, пусть каждый индикатор умеет рисовать себя сам.
|
|
|
|
Thanks:
|
|
|
|
|
|
maze9a
|
Date: 6/12/2011
|
|
|
|
Thanks:
|
|
|
|
|
|
esper
|
Date: 6/12/2011
|
|
|
|
Thanks:
|
|
|
|
|
|
Евгений
|
Date: 6/12/2011
artemox:
На самом деле, сейчас индюки пишутся на раз два. Например DPO с тестом нарисовал за 20 минут, + отладка 40 минут :)
Вот только нужен ли этот DPO кому-нибудь? :)
Эх... Не успел вылить... Напишу тогда, что делаю: Fractals, Ichimoku, Parabolic SAR, что ведет за собой реализацию Acceleration Oscillator, Awesome Oscillator и Median Price.
|
|
|
|
Thanks:
|
|
|
|
|
|
Sergey Masyura
|
Date: 6/12/2011
artemox:
Появилась идея сделать класс TestTestExecuter.
sergey.masyura:
На такие тесты можно просто ставить аттрибут [Ignore], тогда они будут пропускаться при выполнении.
Хорошо, учтем. Смотрю на частые Coding style fixes, есть документ, где представлен Coding style?
В шапке топика написано - "Стиль кодирование указывается через R#. Настройки в репозитарии."
Настройки можно включить через плагин http://rsm.codeplex.com/
|
|
|
|
Thanks:
|
|
|
|
|
|
Maxim
|
Date: 6/12/2011
Евгений:
artemox:
На самом деле, сейчас индюки пишутся на раз два. Например DPO с тестом нарисовал за 20 минут, + отладка 40 минут :)
Вот только нужен ли этот DPO кому-нибудь? :)
Эх... Не успел вылить... Напишу тогда, что делаю: Fractals, Ichimoku, Parabolic SAR, что ведет за собой реализацию Acceleration Oscillator, Awesome Oscillator и Median Price.
Печально.
Предложение.
Можно придерживаться следующего правила, что бы не делать индикатор, который уже делают.
Как только выбрали индикатор для реализации, обновляете проект до последней версии.
Проверяете есть ли уже данный индикатор в проекте.
Если нет, создаете пустой класс с этим индикатором.
Комитите этот файл в репозиторий, что бы все видели, что этот индикатор уже в производстве.
Ну и как он сделан, комитить уже готовый файл с индикатором.
|
|
|
|
Thanks:
|
|
|
|
|
|
esper
|
Date: 6/12/2011
esper:
artemox:
Появилась идея сделать класс TestTestExecuter.
sergey.masyura:
На такие тесты можно просто ставить аттрибут [Ignore], тогда они будут пропускаться при выполнении.
Хорошо, учтем. Смотрю на частые Coding style fixes, есть документ, где представлен Coding style?
В шапке топика написано - "Стиль кодирование указывается через R#. Настройки в репозитарии."
Настройки можно включить через плагин http://rsm.codeplex.com/
Не у всех есть решарпер или возможность его поставить
|
|
|
|
Thanks:
|
|
|
|
|
|
Maxim
|
Date: 6/12/2011
А как в S# задается параметр метода или конструктора, если этот параметр «проценты»?
Сорок пять процентов — 45 или 0.45?
|
|
|
|
Thanks:
|
|
|
|
|
|
InsiderHSE
|
Date: 6/12/2011
Maxim:
А как в S# задается параметр метода или конструктора, если этот параметр «проценты»?
Сорок пять процентов — 45 или 0.45?
new Unit()
Думаю лучше принимать в качестве параметра Юнит, и если нужно чтобы были именно проценты, то проверять тип в конструкторе и выбрасывать эксепшен если это не так.
|
|
|
|
Thanks:
|
|
|
|
|