artemox
|
Date: 6/10/2011
Сори, это моя ошибка. Формат заточен под РИ.
ds = StrFormat(
"%.0f"+
",%.0f"+
",%.0f"+
",%.0f"+
Вот здесь вместо нуля укажите количество знаков после запятой в вашем инструменте.
Думаю так будет универсально:
function SaveValues(filename, values)
{
fh = fopen( filename, "w");
if( fh )
{
StartBar = Max(0, BarCount-200);
for (i = StartBar; i < BarCount; i++)
{
ds = StrFormat(
"%.4f"+
",%.4f"+
",%.4f"+
",%.4f"+
",%.0f"+
",%.6f"+
"\n",
O, H, L, C, V, values);
fputs( ds, fh );
}
fclose( fh );
}
}
|
|
|
|
Thanks:
|
|
|
|
|
|
Maxim
|
Date: 6/11/2011
|
|
|
|
|
esper:
2. Давайте по возможности писать не только индикаторы, но и тесты к ним, индикаторов сейчас куча, а какие реально работают - не ясно, т.к. тестов всего несколько. Сомневаюсь, что нам нужна куча неработающих индикаторов и предлагаю считать, что индикатор написан только тогда, когда он покрыт тестами.
Лучше конечно определится со способо тестирования.
На данный момент где-то данные просто генерятся внутри теста,
где-то используются массивы, где-то используются внешние данные из файла.
Считаю, что лучше не генерировать данные внутри теста, а использовать внешние данные.
И, повторюсь, лучше унифицировать этот способ.
MomentumTest мне нравится. Только надо ввсети погрешность — плюс-минус дельта величину,
когда мы будем считать, что значение верно.
Возможно, тесты стоит сделать одному человеку.
В этом случае будет все более унифицировано.
Методом копипаст не очень трудно сделать тесты для каждого индикатора из MomentumTest.
Я не могу делать юнит тесты, так как у меня нет возможности создавать файлы.
Не пользуюсь я сторонними программами.
Оффтоп:
а) В список правил стоит добавить пункт-напоминание, что бы все делали проверку на деление на ноль где это возможно.
б) Что насчет потокобезопасности? Стоит ли ее реализовывать в индикаторах или нет?
|
|
|
|
Thanks:
|
|
|
|
|
|
Maxim
|
Date: 6/11/2011
artemox:
Maxim:
UPD
Неверно написал последнее предложение.
Так как я делаю этот индикатор, то я за него в ответе.
Если Михаил скажет, что надо переделать с использованием CMO класса, то я переделаю.
Если не скажет, то пределывать ничего не буду.
Maxim, давайте все-таки переиспользовать другие индикаторы. ООП как никак.
К примеру сравните WilliamsR и StochasticK, теоретически расчеты очень похожы, а разница в реализации колосальная.
Ок. Не обратил внимание на существование LLV и HHV.
|
|
|
|
Thanks:
|
|
|
|
|
|
esper
|
Date: 6/11/2011
artemox:
Думаю так будет универсально:
function SaveValues(filename, values)
{
fh = fopen( filename, "w");
if( fh )
{
StartBar = Max(0, BarCount-200);
for (i = StartBar; i < BarCount; i++)
{
ds = StrFormat(
"%.4f"+
",%.4f"+
",%.4f"+
",%.4f"+
",%.0f"+
",%.6f"+
"\n",
O, H, L, C, V, values);
fputs( ds, fh );
}
fclose( fh );
}
}
Спасибо, теперь все нормально.
|
|
|
|
Thanks:
|
|
|
|
|
|
Mikhail Sukhov
|
Date: 6/11/2011
artemox:
sergey.masyura:
Всем спасибо за огромный вклад в проект!
Давно хотелось что-то сделать для проекта, но не было таких задач, которыми можно заниматься эпизодически.
Так что будем постепенно покрывать весь набор индикаторов, обгоняя всех и вся :)
40 индюков! Это уже больше чем у ТСЛаб. Такими темпами из до лидеров ТА рынка добежим до осени.
|
|
|
|
Thanks:
|
|
|
|
|
|
esper
|
Date: 6/11/2011
Mikhail Sukhov:
40 индюков! Это уже больше чем у ТСЛаб. Такими темпами из до лидеров ТА рынка добежим до осени.
Пора начинать думать над разработкой визуализатора[smile]
|
|
|
|
Thanks:
|
|
|
|
|
|
Maxim
|
Date: 6/11/2011
|
|
|
|
Thanks:
|
|
|
|
|
|
artemox
|
Date: 6/11/2011
Mikhail Sukhov:
40 индюков! Это уже больше чем у ТСЛаб. Такими темпами из до лидеров ТА рынка добежим до осени.
[scared] 8 маек!
На самом деле, сейчас индюки пишутся на раз два. Например DPO с тестом нарисовал за 20 минут, + отладка 40 минут :)
Вот только нужен ли этот DPO кому-нибудь? :)
|
|
|
|
Thanks:
|
|
|
|
|
|
artemox
|
Date: 6/11/2011
Maxim:
Предложение.
Что бы не было путаницы, называть индикаторы согласно тому, как их называют здесь:
http://www2.wealth-lab.com/WL5Wiki/AllPages.aspx?Cat=Standard%20Indicators
Насколько я понял:
StochK = StochasticK
Highest = HHV
Lowest = LLV
Првильно? Может переименовать?
Нужно ли делать отдельныне BBandLower и BBandUpper, если уже сделан BollingerBands общий?
Да правильно, но HHV и LLV это имена из амиброкера, т.к. Highest и Lowest там имеют другое предназначение
Может в таблицу алтернативные имена добавить?
StochK переименовал
|
|
|
|
Thanks:
|
|
|
|
|
|
Maxim
|
Date: 6/11/2011
artemox:
Да правильно, но HHV и LLV это имена из амиброкера, т.к. Highest и Lowest там имеют другое предназначение
Может в таблицу алтернативные имена добавить?
В этом случае можно составить экселик, где будут три столбика "Как у нас называется", "Как в амиброкере", "Как в лабе".
|
|
|
|
Thanks:
|
|
|
|
|