Помогите разобраться с Фурье - страница 7

 
eugenk1 писал (а):
ANG3110, извини, почитал все твои посты, впечатление такое. Либо ты что-то серьезно скрываешь (я не осуждаю, деньги вещь интимная), либо у тебя есть идея, ты нуждаешся в помощи, но не хочешь раскрываться до конца (это уже не есть хорошо), либо ты говоришь о временах порядка месяцев. Я сам начинал осваивать всё это именно с идей применить преобразование Фурье. И довольно быстро разочаровался.

Ни то, ни другое, ни третье. Просто у меня вчера и сегодня было желание немного пописать. Я вообще-то особо и не собирался много говорить на эту тему. Меня скорее попросили показать, рассказать, и я пошел навстречу. Я знаю, что я знаю, и чего не знаю на данный момент. Помочь мне может кто-то и мог бы, но во-первых он должен хотя бы понимать о чем я пишу, во-вторых иметь хорошие знания и опыт в этой области, и что самое главное, хорошо относиться, как ко мне, так и к самой сути темы. Более говорить на эту тему, я считаю нет необходимости и скорее всего и не нужно. Что-то скрывать? У меня просто не так много времени, и я не хотел бы его тратить на умничания и пустую наукообразную болтовню, по моему на форумах таких любителей хватает. Я выставлял некоторые свои ранние работы на Пауке и о них были хорошие отзывы. В самом начале ветки посмотрите, кто-то привел один из моих сырых ранних кодов. Так что - как, кто, что, воспринимает и чем он очарован или разочарован, мне не очень интересно, у меня, то что я делаю - в основном работает.
 
eugenk1 писал (а):
YraZ, извини, не пояснишь, что собственно на на картинке изображено ? По поводу того что работает на флете, если честно, я всегда считал, что на нём прекрасно работает совершенно отфонарное (скажем орёл - бай, решка - селл) открытие, при стопе большем чем размах флета. Да, может быть это далеко не оптимально в смысле просадки, но это работает...

Согласен - работает все,
ну разве что в низинке не зайти еще раз в селл а на вершинке в бай
а если мы в серидине то хоть бай хоть сел

на рисунке просто средние основные уровни для себя я выбрал по следующему принципу

1+2 = 3
3 + 2 = 5
5 + 3 = 8
8 + 5 = 13
13 + 8 = 21
21 + 13 = 34
34 + 21 = 55
и т д
.... принцип ФИБО

что вроде этого
между уовянями стоят пунктирные линии - по идее достаточно основных линий
если рассматривать данную сетку во флете по фсем тф , очень хорошо видно волны - развороты визуально - не более того
+ некоторые известные трейдеровские "секреты" по средним типа 8-й EMA когда свечи закрываются выше ниже -8й , свечной анализ + EMA , 3-й EMA
например если свча полностью закрыта за пределами 3-й ема обычно это шикарный вход
а во флете и не только - это обычно входы на шипах


просто сама идея провести синусоиду в будующее очень близка
 
Как можно проэкстраполировать ряд Фурье с помощью функций, которые находятся в библиотеке #_lib_FFT.mq4?
Интересно было бы понаблюдать, что показывает линия в будущее.
Может кто нибудь может модернизировать функции из данной библиотеки, чтобы можно было отображать линию в будущее.
Файлы:
y_lib_fft.mq4  28 kb
 
Frankfurt:

Интересно было бы понаблюдать, что показывает линия в будущее.

Она покажет точь-вточь, тоже самое, что уже нарисовано.
 
Integer писал (а):
Frankfurt:

Интересно было бы понаблюдать, что показывает линия в будущее.

Она покажет точь-вточь, тоже самое, что уже нарисовано.

В случае полного fft повторит уже нарисованное,
а в случае косинусного преобразования, зеркально наоборот от конца.


 

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

Вот код скользящей средней на основе кода написанного клотом, который использовал косинусное БПФ.

//+------------------------------------------------------------------+
//|                                                       FFT_MA.mq4 |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_width1 2
#property indicator_color1 Red
//Imorting library #_lib_FFT.ex4. It must be in the expert directory. 
#import "#_lib_FFT.ex4"
void realfastfouriertransform(double& a[], int tnn, bool inversefft);
#import
//Input parameters
extern int n      =8;   // Sets the number of data points as 2^n.
extern int hmax   =2;   // Max number of harmonics including dc.
//Global variables
int N;                  //N is number of data points.
//Indicator buffer
double FFTMA[];
int init()
{
   N=MathPow(2,n);
   if(hmax>N) hmax=N;
   IndicatorBuffers(1);
   SetIndexBuffer(0,FFTMA);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
   IndicatorShortName("FFTMA");
   return(0);
}
int deinit(){return(0);}

int start()
{
   double data[];
   ArrayResize(data,N);
   for(int i=0;i<N;i++) data[i]=Close[i];
   realfastfouriertransform(data,N,false);
   if(hmax>0) for(i=hmax;i<N;i++) data[i]=0.0;
   realfastfouriertransform(data,N,true);
   ArrayInitialize(FFTMA,EMPTY_VALUE);
   for(i=0;i<N;i++)FFTMA[i]=data[i];
   return(0);
}
//+------------------------------------------------------------------+

 
При hmax =2; будет простая МА, на заданном периоде, не совсем понятно, зачем тогда городить, полное FFT?
 
ANG3110 писал (а):
При hmax =2; будет простая МА, на заданном периоде, не совсем понятно, зачем тогда городить, полное FFT?

Не, я тоже заметил, полное FFT гораздо стабильнее (меньше перерисовывается).
А вообще думаю нужно фильтр
if(hmax>0) for(i=hmax;i<N;i++) data[i]=0.0;
какой-нибудь вумный придумать. Что бы он выборочно нужные гармоники оставлял, а не нужные обнулял. Тогда может будет како-нибудь смысл и стабильность.

Да еще, в НейрошеллеДейТрейдере там пять или шесть разных фильтров используется в FFTаддоне, жаль формул нету, можно было бы повозиться.
И еще, если ограничивать частоты не только сверху, но и снизу, можно выделять определенную полосу колебаний. Индикатор симпотично смотриться, напоминает стохастик.
 
ANG3110 писал (а):
При hmax =2; будет простая МА, на заданном периоде, не совсем понятно, зачем тогда городить, полное FFT?

Честно говоря, я не агитирую за применение БПФ (полного или косинусного) для построения скользящих средних по той причине что БПФ разбивает ряд цен по частотам 2*pi*k*l/N, то есть частоты заранее известны хотя ряд цен может иметь более сильные гармоники на смежных частотах отличающихся от 2*pi*k*l/N. Идея БПФ основана на подгонке тригонометрического ряда под реальный ряд по методу наименьших квадратов. Так можно подогнать ряд любых ортогональных функций (ортогональных полиномов, в простейшем случае). Преимущество БПФ является то что амплитуды тригонометрических функций являются выборками частотной характеристики процесса с постоянным шагом 2*pi/N. Используя БПФ, можно отбросить высокочастотные гармоники и таким образом построить скользящую среднюю. Но такая фильтрация намного сложнее чем цифровая фильтрация как например в простой скользящей средней или в FIR фильтре. Посмотрите на мои индикаторы скользящей средней на основе FIR фильтра:

'FIR MA'
'AFIRMA'
 
klot писал (а):
ANG3110 писал (а):
При hmax =2; будет простая МА, на заданном периоде, не совсем понятно, зачем тогда городить, полное FFT?

Не, я тоже заметил, полное FFT гораздо стабильнее (меньше перерисовывается).
А вообще думаю нужно фильтр
if(hmax>0) for(i=hmax;i<N;i++) data[i]=0.0;
какой-нибудь вумный придумать. Что бы он выборочно нужные гармоники оставлял, а не нужные обнулял. Тогда может будет како-нибудь смысл и стабильность.

Да еще, в НейрошеллеДейТрейдере там пять или шесть разных фильтров используется в FFTаддоне, жаль формул нету, можно было бы повозиться.
И еще, если ограничивать частоты не только сверху, но и снизу, можно выделять определенную полосу колебаний. Индикатор симпотично смотриться, напоминает стохастик.
Да бог с ним пускай перерисовывается, ценность Фурье, в том что если его настроить соответствующим образом, то он хорошо показывает время, где вероятны разворотные точки. А то что траектория амплитуды не очень совпадает, это не так страшно, как раз наоборот хорошо, можно учитывать скорость изменения фазы. Вот рисунок построенный на 2 дня назад по минимуму СКО.
На нем видно, что основные колебания по времени в последующем, более-менее совпали.

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