Индикаторы: Экстраполяция цен методом Фурье - страница 3

 
ANG3110:

Период привязать бы ко времени, чтобы пересчитывался бы, при переключении таймфрейма. А то не совсем ясная картина и действительно противоречивая.

Например в часах T = hr * 60.0 / Period().

И подгонку ряда лучше проводить в резонанс по уже прошедшим данным, типа быстро просканировать и выбрать вариант по минимуму СКО или максимуму корелляции, тогда прогноз более вероятно будет совпадать с реальной картиной.

Спасибо за советы. Что-то подобное пробовал, только минимум СКО диктовался на последних барах. 
 
gpwr:
Спасибо за советы. Что-то подобное пробовал, только минимум СКО диктовался на последних барах. 

Вообще-то с траекторией, чтобы уж ее точно изобразить совпадающей с последующими данными, - это очень не просто. Обычно более хороший результат дает 3-5 гармоник, больше уже врет сильно. И достаточно добиться на предыдущих данных, чтобы текущий период более-менее совпадал бы с разворотными точками, хотя бы грубо. Тогда и продолжение с большей вероятностью совпадает. И изымать гармоники как показывает опыт для лучшей подгонки под предыдущие данные не стоит, а то прошлая картина будет красивой, а последующая совершенно не совпадающей.

Ну и еще очень сильно зависит относительно чего раскладывается на гармоники. Я пробовал разные способы - и регресиию в виде трендовой составляющей и всевозможные мувинги с поиском совпадений по предыдущим данным и от пяти наиболее совпадающих кривых суммировал с весовыми коэффициентами их продолжения в тех же пропорциях, и сумму экстраполировал. Грубо вообщем-то получалось. Но торговать по таким предсказаниям очень опасно - все-таки очень велика ошибка.

 

кому интересно как использовать фурье посмотрите вот эту ветку https://www.mql5.com/ru/forum/127331 там есть  исходники на маткаде и как что там делать с пояснениями (я выкладывал). Я всем рекомендую сначала научиться прогнозировать что либо простое, типа функции там выложенной, а потом уже переходить к прогнозированию рынка, тогда Вы будете понимать, что для чего и почему Вы делаете...

 

Здравствуйте, gpwr,

Подскажите, пожалуйста, какой код я могу использовать для извлечения прошлых и будущих значений из этого индикатора. Скажем, 5 будущих показаний и 5 прошлых показаний с текущего бара. Я пробовал использовать Create indicator и пытаться получить значения из массивов ... не повезло. То, что я получаю, не совпадает по значению и направлению с тем, что показано на графике. Я пробовал это на разных таймфреймах, включая дневной, 4 часа, 30 минут и 5 минут.

Ваша помощь будет высоко оценена.

Эмми

 
Prival:

кому интересно как использовать фурье посмотрите вот эту ветку https://www.mql5.com/ru/forum/127331 там есть  исходники на маткаде и как что там делать с пояснениями (я выкладывал). Я всем рекомендую сначала научиться прогнозировать что либо простое, типа функции там выложенной, а потом уже переходить к прогнозированию рынка, тогда Вы будете понимать, что для чего и почему Вы делаете...

Да, Сергей, такое "горе от ума" очень часто происходит. Но на это есть определенные причины. Для того чтобы что-то исседовать, нужно все это запрограммировать. А программирование часто забирает очень много сил и умственной энергии, так что для исследований и понимания процессов уже ничего не остается. Когда уже сделаны удобные для исследования программы, тогда уже можно найти более глубокое состояние и постараться исследовать интересующий вопрос.

Закон спекуляции покупай подешевле, продавай подороже и косинусно-синусоидальные функции как нельзя лучше под это подходят. Но вписать их в резонанс и во всевозможные искривления как по амплитуде, так и по частоте, очень сложная задача. Одному человеку наверное с этим в достаточной степени и не справиться.

Хотя у меня были наброски эксперта, который автоподстраивал всего одну синусоиду по максимуму корелляции, и на каком-то участке рынка сделал ок. 20-ти сделок подряд по 30-100 пунктов, и ни одной убыточной. А потом картина изменилась и нужны были дополнительные меры слежения. Но трудоемко это все. Я тогда так устал, что потом несколько дней был как выжатый лимон. На таком количестве интеллектуальной энергии наверное могли бы много времени прожить целая куча клубов культуристов, или если это заказывать программисту, то думаю стоимость была бы несколько тысяч и то вряд ли бы сделал что-то нормальное.

 
Что если попробовать прогнозировать не саму цену, а, скажем, поведение таких индикаторов, как Stohastic_x8 (уменьшив количество с 8 до 3-4) или WPR-multi? Почему-то мне кажется, что прогнозы СИГНАЛОВ по этим индикаторам (схождение-расхождение линий) могли бы быть гораздо  результативнее, особенно при совпадении на нескольких таймфреймах одновременно.
 
Prival:

Нет не потерялся. Только есть там один огромный камень, об него все разбивается. Вы как электронщик меня поймете. Постараюсь последовательно это изложить.

1. Если допустить, что цена непрерывна (аналоговый сигнал), она не зависит от того поступают ли к нам котировки или нет. Допустим это суббота или воскресенье, спрос на евро или доллар никуда не делся…

2. Тогда поступающие к нам котировки это есть не что иное как работа АЦП. Причем АЦП в худшем его проявлении.

3. Вспомните работу АЦП, есть шумы квантования и шумы дискретизации. Допустим у Сергиенко А.Б. Цифровая обработка сигналов 2002 г. Эффектам которые проявляються при квантовании посвящена  целая глава №7, вот например, многие считают что шума нет. А на самом деле

Он есть, раз есть - его надо обрабатывать. Если бы были только шумы квантования. Это было бы великолепно, но есть еще одно, то от которого любой электронщик бежит как черт от ладана, это..

4. Шумы дискретизации, и они есть, тики к нам приходят не с точностью работы кварцевого генератора, следовательно частота дискретизации является случайной величиной. Попробуйте спрогнозировать простую синусоиду, которая оцифрована с переменным дельта тэ… А теперь просто подумайте, бары нам дают иллюзию константы дельта тэ, которой на самом деле нет. А ведь 95% всех алгоритмов, считают, что дельта тэ константа, иначе все сыпеться, как карточный домик...

Многие практикующие трейдеры, не опускаются ниже периода М5, они интуитивно  чувствуют, что там ошибка – относительная ошибка дискретизации (относительно начала - конец бара) становиться большой, чем выше тайм фрейм,  тем меньше эта ошибка оказывает влияние. Я как то рассчитывал, если не применять специальных мер, то нижний предел, где то в районе 3-х минут, дальше шумы сильно возрастают…

Я вижу единственный выход, тики, аппроксимация, и нарезание уже с нужным дельта тэ,  но без истории тиков, построить надежный автомат, практически нереально…малейший сбой, и снова сиди копи тики, пока не накопишь для принятия решения… а время уже упущено, тебя уже раздели…или раздевают…

Сам Фурье прекрасный инструмент для построения адаптивных фильтров, но нужно очень хорошо понимать, что там, как и почему происходит, даже это https://www.mql5.com/ru/code/120 не просто так придумали,  это цифра, это ЦОС, целая область знаний, навыков и умений. Не будь её,  ни компов, ни сотовых, ни телевизоров не было бы

З.Ы. как то длинно все получилось, но в 2-х словах не опишешь. Может я и неправ. Я тут только что Ниробе написал https://www.mql5.com/ru/forum/120788/page380 а теперь для себя повторю.

Мыслю — следовательно существую. Во все времена "мыслить" неизбежно означало "инакомыслить", сомневаться, делать выбор. Удачи вам в «инакомыслии».

 


Вот я все мозги сломал уже, на счет выделенного:

Почему же дельта тэ не константа? Если мы берем за тик цену открытия бара, то до открытия следующего бара время константа - 60 сек (если M1), при такой низкой частоте на сколько я понимаю, не сильно влияет когда на сервере был зафиксирован тик, через 60 сек, 60.2 или 59.8 сек, во всяком случае отклонение по времени в 1-2% не значительно, и собирание тиков существенно не повысит точности.

Время не будет константой если мы берем за тик цены мин/макс, т.к. не знаем когда цена была достигнута.

[Удален]  
mrProF:

Вот я все мозги сломал уже, на счет выделенного:

Почему же дельта тэ не константа? Если мы берем за тик цену открытия бара, то до открытия следующего бара время константа - 60 сек (если M1), при такой низкой частоте на сколько я понимаю, не сильно влияет когда на сервере был зафиксирован тик, через 60 сек, 60.2 или 59.8 сек, во всяком случае отклонение по времени в 1-2% не значительно, и собирание тиков существенно не повысит точности.

Время не будет константой если мы берем за тик цены мин/макс, т.к. не знаем когда цена была достигнута.

Речь то шла о реальных тиках...
 
Interesting:
Речь то шла о реальных тиках...
Цена открытия бара это реальный тик, такая цена действительно была такой на данный момент времени.
Речь шла о лживости показаний свечей ниже М3.
 

Что-то в этом есть.