Indicators: Fourier extrapolation of price - page 6

 
СанСаныч Фоменко:

For such posts about 10 years ago I was personally praised here on all corners.

DSP is a fundamental theory that has a wide practice and a corresponding number of very specific and profound specialists on the forum. Some time ago Vadim Junko disappeared, who, as I think, with the help of Fourier managed to achieve results on the real. But he had much more than an indicator....

The whole problem is that DSP together with Fourier has nothing to do with the market, none at all.

This is based on the fact that on the market only NONSTATIONARY random processes, moreover non-stationary and uncertain processes, i.e. non-stationary processes, in the control loops of which there is a person who at some moments behaves like a molecule in Brownian motion, and then, suddenly, all in a row and in step.

If we want to make useful models, we should always keep in mind non-stationarity and the tools used should either directly solve non-stationarity problems (ARIMA, ARCH) or indirectly in the form of classification models that look for patterns during training.

I have only one question: will I live to see the time when there will be a critical number of forumites who will start trying on tools from the caret shell to trade ideas day after day?

It is clear that such people will never turn to matlabs, matcads and so on, which are alien tools for the market.

SanSanych, why the hit? )) I clearly wrote Fourier does not work on Forex, because the signal is non-periodic and non-deterministic.

I only told about my experiments of 9 years ago ).

And about all the wisdom like caret - I do fine without it, look at my signal in my profile. Practice is stronger than theories ))

 
Alexey Volchanskiy:

SanSanych, why the hit-and-run? )) I clearly wrote Fourier does not work on Forex, because the signal is non-periodic and non-deterministic.

I only told about my experiments of 9 years ago ).

And about all the wisdom like caret - I do fine without it, look at my signal in my profile. Practice is stronger than theories ))

God forbid, what an attack! I apologise for giving you such an impression.

PS.

And about "Practice is stronger than theories" I cannot agree. The hypothesis of an efficient market is alive and well, despite regular crashes on the stock exchanges. Even Nobili are not trained by practice, lose hundreds of millions of their own money and continue to bend their own way.

 
Vladimir:

That was very clear. Thank you. About the variation of the sampling step dt. Do you think it is random or has any predictable character? If the variation of dt is predictable, we can write a Fourier series into it. We get two nested Fourier series: the first for the prices themselves and the second for the time step dt. In this case we get something similar to a frequency (or phase) modulated signal:

harmonic h(t) = mh + ah*cos(wh*t) + bh*sin(wh*t)

time t = mt + at*cos(wt*t) + bt*sin(wt*t)

total h(t) = mh + a*cos(wh*(mt+at*cos(wt*t)+bt*sin(wt*t)) + ...

There is a whole direction in Fourier analysis called nonuniform fourier transform.

Hello!

Is it possible to make the old forecast not be erased when redrawing?

 
Alexey Volchanskiy:

I, as a former electronic engineer, at the beginning of my acquaintance with Forex, also thought that now I will run Fourier on Matlab, isolate the main harmonics and beat everyone up )) It didn't work, Fourier doesn't work on Forex, because the signal is non-periodic and non-deterministic. I tried it for a long time, I tried it on bars and tick data, all to no avail.

The author has done a lot of work, and I am very grateful for it, but the result was not there (I mean the Fourier approach), and still is not there.

To be sure, just run the indicator in the tester at maximum speed and see how the prediction curve behaves. It twists its tail up and down, which is to be expected.

I ran it with default parameters, is everything correct?

I have an indicator, it also predicts using Fourier transform, only bars. Sometimes it hits a point in a point.
I think the problem here is with the data sampling rate curve, because I tried to make other candlesticks and managed to achieve a higher quality of prediction. I think that if you pick up the frequency correctly (recover from market processes), you will be able to apply Fourier very accurately.
After all, if a sound file is sampled with a random frequency, then you will not be able to convert it back to sound. I think it is the same here
 
Alexey Volchanskiy: I clearly wrote Fourier does not work on Forex, because the signal is non-periodic and non-deterministic

There is clearly periodicity - look at D1. It's just that the period changes over time. The old conservative Fourier formulas are powerless

 
If you approach Fourier thoughtfully, it's better than Eliot and Seo
 

Hello,

I am looking for an indicator that finds the 3 main frequencies of a price after the Fourier transformation. Apparently there are some for the MT4 but not for the MT5. Can I modify this indicator so that it spits out the frequencies individually?

 
benedikt.jones:

Hello,

I am looking for an indicator that finds the 3 main frequencies of a price after the Fourier transformation. Apparently there are some for the MT4 but not for the MT5. Can I modify this indicator so that it spits out the frequencies individually?

You will never or very rarely get an answer here, and certainly not from the article authors :-)


Rather post them directly in the forum with reference to this article


Greetings

 
Go through this thread: https://www.mql5.com/en/forum/178842
Fast Fourier Transform - Cycle Extraction
Fast Fourier Transform - Cycle Extraction
  • 2008.11.20
  • www.mql5.com
I've run accross this FFT cycle indicator in the past couple of weeks. It is very interesting to say the least...
 

Hi Vladimir!


Tks for the indicator! I have problems to get modelled future values from this indicator... Can you help me...

...

DFourier_Handle.Insert(iCustom(SymbolName(i,true),PERIOD_D1,"fourier_extrapolator_of_price.ex5",220,50,20,0.00001),i);

if(DFourier_Handle.At(i)==INVALID_HANDLE)

{

//--- no handle obtained, print the error message into the log file, complete handling the error

Print("Failed to get the indicator handle");

return(-1);

}

//--- add the indicator to the price chart

ChartIndicatorAdd(ChartID(),0,DFourier_Handle.At(i));

(...)

rates=CopyBuffer(DFourier_Handle.At(i),0,0,75,DFutureFourier);

if(rates<=0)

{

Print("3.1 Error copying price data ",GetLastError(),"Active: ",SymbolName(i,true));

}

Print(SymbolName(i,true),"FutureFourier[10]=",DFutureFourier[10]);

rates=CopyBuffer(DFourier_Handle.At(i),1,0,300,DPastFourier);

if(rates<=0)

{

Print("3.1 Error copying price data ",GetLastError(),"Active: ",SymbolName(i,true));

}

Print(SymbolName(i,true),"PastFourier[10]=",DPastFourier[10]);