• Тинькофф Банк-лучшие банковские продукты еще выгоднее
    Выбирайте продукт от банка Тинькофф
  • Уважаемые форумчане, друзья и посетители!
    Поступило предложение ( ссылка на обсуждение ) на сбор средств поддержания форума в рабочем состоянии с 1 июня ( оплата хостинга, бэкап ежедневный на другой хостинг и тд), отчетность будет предоставляться ежемесячно. Пока на ЮMoney ( яндекс деньги), доступно картой перевод, далее добавлю другие способы. Сумму перевода указывайте на ваш выбор исходя из своих возможностей.
    Форум продолжает свою работу благодаря Вашим пожертвованиям.

Иконка ресурса

NinjaTrader Alglib_NT7 2015-11-14

Нет прав для скачивания

Привал

Well-Known Member
NinjaTrader
Пользователь Привал разместил новый ресурс:

Alglib_NT7 - БПФ, спектр, ФНЧ

Пример использования математической библиотеки http://www.alglib.net/
В библиотеке содержится много различных алгоритмов облегчающих анализ данных (то чем мы тут и занимаемся) вот некоторые из них http://www.alglib.net/translator/man/manual.csharp.html
  • dataanalysis.cs - алгоритмы интеллектуального анализа данных (data mining)
  • diffequations.cs – решатели дифференциальных уравнений
  • fasttransforms.cs – преобразование Фурье (FFT) и сопутствующие алгоритмы...

Узнать больше об этом ресурсе...
 
Пробовал из этой библиотеки использовать метод нахождение коэффициентов линейной регресси. Расчитывает неправильно. В итоге перешел на другую библиотеку.
 
А если этот фильтр использовать на объемы - тогда мы можем увидеть периоды заливки большими игроками.

Вообщем, чем принципиально отличается этот фильтр от МА? Там тоже, по-сути ФНЧ.

Вот если бы в отдельном окне выводить спектр сигнала за малый период и на объемы. Тогда можно было бы видеть роботов. Возможно, не всех, но какой-то класс. Фурье как бы нужен для того, чтобы выделить периодические сигналы по амплитудам их.
 
Последнее редактирование:
Пробовал из этой библиотеки использовать метод нахождение коэффициентов линейной регресси. Расчитывает неправильно. В итоге перешел на другую библиотеку.
Странно. Библиотеке уже много лет. И тестировалась многими. Такую ошибку должны были обнаружить. Спасибо за сообщение, если буду использовать, обязательно перепроверю
 
Библиотека в норме, снова воспользовался ей, только другим методом при построении линейной регрессии и результаты совпали с другими библиотеками до тысячных.

У меня к вам вопрос, каким методом из этой библиотеки воспользоваться, чтобы аппроксимировать показания индикатора синусоидой типа y = a+ b*sinx(x*c-d) ?
Я попробывал использовать http://alglib.sources.ru/translator/man/manual.csharp.html#example_lsfit_d_nlf но результаты получаются такими, что синусоида имеет вид простой средней линии (желтая на графике). В ручном режиме подбор коэффициентов получается достаточно хорошо (график справа), значит уравнение выбрано правильно.
В чем может быть ошибка? Может градиент не правильно считает? Но я тоже не представляю как взять производную из этой функции.
 

Вложения

  • sin.jpg
    sin.jpg
    47,4 КБ · Просмотры: 66
Последнее редактирование:
Я не очень хорошо знаю эту библиотеку. Сам её только изучаю. Но если бы я пробовал что то аппроксимировать, в первую очередь брал бы кубический сплайн. Он там должен быть, поищите. Я такой функцией не пробовал аппроксимировать.
sinx() это функция sin(x)/x ?
 
sinx() это опечатка, просто sin(...)
Апроксимация нужна заданной функцией, а сплайном так не получится.
 
sinx() это опечатка, просто sin(...)
Апроксимация нужна заданной функцией, а сплайном так не получится.
Хорошая опечатка, а подумал что хочешь какое то свое вейвлет преобразование сделать. sin(x)/x очень похож на мексиканскую шляпу + обладает по мойму всеми необходимыми свойствами.
Если заданной функцией, то да сплайны не пойдут. Я не работал с такой функцией, она для меня какая то странная (может из-за того что ни разу не встречал).
 
Функция достаточно распространенная. Четыре коэффициента отвечают за сдвиг по вертикали, горизонтали, амплитуды и шага.

Для получения правильных коэффициентов уравнения регрессии в этой библиотеке необходимо достаточно точно задать первые приближения коэффициентов чтобы соблюдался масштаб и порядок. Т.е. если к примеру коэф равны 0.1 и 100, а в качестве начальных задать 1 и 1, то алгоритм не сможет их рассчитать.
 
Функция достаточно распространенная. Четыре коэффициента отвечают за сдвиг по вертикали, горизонтали, амплитуды и шага.

Для получения правильных коэффициентов уравнения регрессии в этой библиотеке необходимо достаточно точно задать первые приближения коэффициентов чтобы соблюдался масштаб и порядок. Т.е. если к примеру коэф равны 0.1 и 100, а в качестве начальных задать 1 и 1, то алгоритм не сможет их рассчитать.
Если это y = a+ b*sin(x*c-d), то да известная функция. И как с ней работать я показал при описании
a - сдвиг по вертикали = постоянная составляющая спектра (будет находится на нулевой частоте)
b - амплитуда синусойды, тоже будет хорошо видна на спектре ( я на маткаде показал как это выглядит при описании индикатора)
x - это время
с =
4d1b7b74aba3cfabd624e898d86b4602.png
— угловая частота равная
2df92ca6a1acf690541e68e4ce9f5550.png
.
-d - это фаза сигнала. Для его оценки нужно построить фазо-частотный спектр., тоже используем БПФ.

вот модель этого сигнала и его спектр.
спектр.jpg
 
Задействовал все доступные опции для аппроксимации функции: ввел градиент, матрицу Гессе, поставил ограничения на параметры и выставил их масштаб. Теперь работает идеально, даже в случае допущения значительной ошибки в задании начальных приближений параметров функции. Не хватает только многопоточности коммерческой версии. Хотя вполне возможно в исходнике заменить все циклы for(...) на Parallel.For(...) и будет многопоточность, но это уже на Ninjatrader 8.
 
хотел спросить-а как вы относитесь к BloodHound..?
 
Назад
Верх Низ