Гипотеза на базе Фурье - страница 7

 
Urain >>:

Это уже похоже на ТЗ. Это всё (что нужно для счастья)?

Лапак переделывать не стану тк там Обьектно Ориентированый подход на MQL-5 да,

а на 4 только мозги парить проще заново написать.

Вроде на http://alglib.sources.ru/matrixops/ есть все на Си. Соответственно для MQL4 достаточно просто портируется.

 
Reshetov >>:

Если использовать свойства линейной инерционности, то тогда:

Спасибо за подробное описание, но есть вопросы. Прошу канделябром не бить. Во-первых, зачем нужны все 10 тыс. баров? Меня интересует окно некоторого размера, например для БПФ оно будет равным 256. 256 выбрано исходя из того, что наибольший интересующий период для интрадей торговли на М15, где в дне 96 отсчетов, укладывается в 256 (>2*96) и больше не нужно. Ну, пусть будет 1024, чтобы недельные колебания тоже учитывать. Но в любом случае, как уже было правильно замечено, в общем спектре на 10 тыс. баров влияние последних изменений будет сводиться на нет, так что идея относительно небольшого окна вроде бы оправдана. Во-вторых, что касается выделения линейного тренда и его последующего восстановления, то я этой операции не делаю, т.к. считаю ПФ не для исходного ряда, а для приращений цен. На заданном диапазоне баров суммы дельт автоматом прийдут в точку, соответствующую наклону между первым и последним барами. Ваше мнение?

 
Ilnur >>:

Здесь я приводил пример реализации алгоритма обращения матрицы на MQL (взяты из исходных кодов библиотеки LAPACK).

находил, это то и не понятно в том числе.

// Вычисляем LU-разложение матрицы
    dgetf(n,n,a,ipiv,info);

откуда у нас значения info и ipiv? Или функция должна нам вернуть эти значения, а мы лишь передаем параметры, куда возвращать? Далее

// Вычисляем обратную матрицу, заданным LU-разложением
    dgetri(n,a,ipiv,info);

Это мы передали ipiv с рассчитанной LU матрицей, а получили переписанную в тот же массив обращенную матрицу? А, не судя по

// Сохраняем обратную матрицу для отображения
    sM = sM+MatrixPrint(a,n,n);

сохраняем в a[][]...


И вот таких вопросов у меня куча, какой то другой стиль программирования, с трудом его понимаю, вернее вообще не понимаю. К тому же, ответную часть не смог найти. Где эти хитрые функции? А скорость вычислений, а размерность матриц? Фортран то справится, а MQL?

 
grasn >>:

находил, это то и не понятно в том числе.

откуда у нас значения info и ipiv? Или функция должна нам вернуть эти значения, а мы лишь передаем параметры, куда возвращать? Далее

Это мы передали ipiv с рассчитанной LU матрицей, а получили переписанную в тот же массив обращенную матрицу? А, не судя по

сохраняем в a[][]...


И вот таких вопросов у меня куча, какой то другой стиль программирования, с трудом его понимаю, вернее вообще не понимаю. К тому же, ответную часть не смог найти. Где эти хитрые функции? А скорость вычислений, а размерность матриц? Фортран то справится, а MQL?

Не вздумайте комплексовать по этому поводу, коллега.

Вся эта куча мусора под названием LINPACK-LAPACK писалась в 1970-е годы чистыми ФИЗИКАМИ на фортране. Они понятия не имели (да впрочем и не хотели знать) про структурное программирование и прочие "ненужности". Потом эти исходники перевели на Це с помощью дебилизатора F2C, а потом студент-практикант оформил это в тексты.

Хотя формально оно работает, пользоваться им невозможно, так как понять логику взаимодействия модулей всех сих "научных" программ нормальному чедловеку невозможно. Собственно именно поэтому на MatLab-e написавшие его бывшие физики и математики зарабатывают деньги - им хоть можно пользоваться, а не тратить годы на вникание в чужую обкуренную марсианскую логику.

 
grasn >>:

находил, это то и не понятно в том числе.

откуда у нас значения info и ipiv? Или функция должна нам вернуть эти значения, а мы лишь передаем параметры, куда возвращать? Далее

Эти массивы используются для внутренних нужд фортрановских функций, а также для сообщения результата выполнения.

Функция возвращает в них некоторые промежуточные данные для передачи следующей функции. Если использовать

скомпиленную версию библиотеки clapack.dll, то в нем используется аналогичная схема работы.


grasn писал(а) >>

Это мы передали ipiv с рассчитанной LU матрицей, а получили переписанную в тот же массив обращенную матрицу?

Обращенная матрица возвращается в исходной матрице a[][], которую передали в качестве параметра функции.

grasn писал(а) >>

К тому же, ответную часть не смог найти. Где эти хитрые функции? А скорость вычислений, а размерность матриц? Фортран то справится, а MQL?

Не совсем понял вопроса. Эти функции приведены в прикрепленном к посту файле lapack.mqh.

Скорость вычислений я не тестировал, а для своих нужд использовал скомпиленную версию библиотеки - мне так было проще.

Ощутимых задержек при работе этих функций я не заметил, правда, размерность моих матриц не превосходила [10 10].

 

to AlexEro

Не вздумайте комплексовать по этому поводу, коллега.


я стараюсь держаться. Важно надуваю щеки. :о)))


to Ilnur

Обращенная матрица возвращается в исходной матрице a[][], которую передали в качестве параметра функции.

да, я это сообразил, чуть ниже :о)

Не совсем понял вопроса. Эти функции приведены в прикрепленном к посту файле lapack.mqh.

Вот, что значит рассеянность, этого то я не заметил, блин, извиняюсь. ок, попробую второй раз но уже с разбега, (но в тайне надеюсь на Urain :о). Ворчание то мое легко объясняется - в некотором смысле не очень удобно (подчеркиваю, что это не претензия, ни в коем случае, а то еще поймут не правильно), т.е. это не библиотека в полном понимании этого термина, а человеку не опытному затруднительно пользоваться. Я понимаю, что ее никто до этого уровня не доводил из-за ненадобностью. Жаль конечно.

 
grasn >>:

Ворчание то мое легко объясняется - в некотором смысле не очень удобно (подчеркиваю, что это не претензия, ни в коем случае, а то еще поймут не правильно), т.е. это не библиотека в полном понимании этого термина, а человеку не опытному затруднительно пользоваться. Я понимаю, что ее никто до этого уровня не доводил из-за ненадобностью. Жаль конечно.

Согласен интерфейс библиотеки не дружественный. Но, когда мне были нужны функции для работы с матрицами,

в частности операция обращения, лучшего на тот момент я не нашел. Поэтому пришлось пользоваться ею.

 
YUBA >>:

1. Рынок - не замкнутая система. Любая экстраполяция возможна при отсутствии внешних воздействий.

[...]

3. А какова длительность переходного процесса у рынка, отклика на воздействие? Вы знаете? И как же тогда считать? 1-й отрезок - одни воздействия, 2-й совершенно другие, а мы их тут типа складываем. :)

Т.е. Пргнозировать что либо можно только на участке между воздействиями и не далее.

1. Ага, совсем не замкнутая. И описывается она, вероятно, некой непростой такой дифуркой типа нелинейного параметрического осциллятора (осциллятор - конечно, в смысле теорфизики) - для одного инструмента. Энергия в систему сообщается через изменение параметров дифурки (скачкообразное). Дальше - переходный процесс, до нового скачка параметров.


3. Более того, сами воздействия должны устанавливать новые константы этих переходных процессов, которые могут даже определять характер этих переходных процессов (затухающая или незатухающая синусоида либо вещественная экспонента).


P.S. Всем коллегам, живущим на малообитаемом острове, привет. Примерно об этом и будет речь дальше.

 
Mathemat >>:

1. Ага, совсем не замкнутая. И описывается она, вероятно, некой непростой такой дифуркой типа нелинейного параметрического осциллятора (осциллятор - конечно, в смысле теорфизики) - для одного инструмента. Энергия в систему сообщается через изменение параметров дифурки (скачкообразное). Дальше - переходный процесс, до нового скачка параметров.


3. Более того, сами воздействия должны устанавливать новые константы этих переходных процессов, которые могут даже определять характер этих переходных процессов (затухающая или незатухающая синусоида либо вещественная экспонента).


P.S. Всем коллегам, живущим на малообитаемом острове, привет. Примерно об этом и будет речь дальше.

Ага, еще плюс шумы, уровень которых сравним, а м.б. порой и выше уровня сигнала. И я так подозреваю, что-то типа 1/f, либо 1/f^2. :)

 
VladislavVG писал(а) >>

Тогда еще добавлю - есть кому читать ;) .

Что еще нужно указать - что ПФ может применяться там, где процесс может быть представлен диф. уром параболического типа ( второго порядка при наличии только четных производных). Поскольку ряд Фурье есть общее решение этого диф ура в тригонометрическом виде (есть еще в комплексном). Дифуры такого типа описывают потенциальные системы (колебательные контуры без обмена с внешней средой) - то есть такие, в которых диссипацией (рассеянием энергии) можно пренебречь и при этом получить решение с хорошей долей приближения. Радиотехника\радиолокация имеют дело в основном с такими системами. Совершенно по другому обстоит дело, если обменом пренебречь нельзя - тогда появляются члены с нечетными производными ( первого порядка - гистерезис, например). Для большинства типов таких задач решения в аналитическом виде не существует. И ряд Фурье больше не является решением в общей форме - вот что важно. А теперь вопрос - Вы точно уверены, что денежная масса, "выбрасываемая" на Форекс и двигающая цену постоянна в течение дня, торговой сесии ? Если да - тогда смело используйте Фурье.

...

Память у меня конечно уже не та, но кто то не так давно (на соседнем форуме, в ветке начатой неунывающим Alex-ом), вычислял потенциальную энергию на форексе. :о)

Причина обращения: