Fast Fourier Transform - Cycle Extraction - page 67

 
irena:
Hi

This indicator uses from digital filter(low pass) by sinc function .

that it use from half of spectrum (past data) and coefficient of low-pass digital filter.

Thanks for sharing, but the problem with digital filters is that they lag too much in my opinion.

Look at today's action. Had i been waiting for the filter to validate trend my entry would had been way way too late.

Files:
 

Absolutly no repainting

Hi pip

The parameter(wn) is 0<wn<1 default(wn)=0.1 it is cut-off normalized frequency.

this function has ABSOLUTLY NO REPAINT

As it uses ONLY from past data and coefficient of half of the FIR digital filter spectrum.(Sinc function)

if wn~=0 it makes lag but for wn>0.1 it has very low lag.

try it once!!!

my english is poor (pardon me)

 
irena:
Hi pip

The parameter(wn) is 0<wn<1 default(wn)=0.1 it is cut-off normalized frequency.

this function has ABSOLUTLY NO REPAINT

As it uses ONLY from past data and coefficient of half of the FIR digital filter spectrum.(Sinc function)

if wn~=0 it makes lag but for wn>0.1 it has very low lag.

try it once!!!

my english is poor (pardon me)

Hi Irena,

Thanks for the input. I played a bit with the wn parameter but the fact still remains that it still lags. By the way, the fact that it is non repainting doesn't really give it an edge what so ever. As a matter of fact, Spectre indi and G Browser do so much better in picking up cycles (in my opinions) than digital filers due to their re calculation process. I think of it as dynamic cycle detection, which is more in tune with market behavior.

With that said however, in my humble opinion and my trading style, both digital filters and cycle indis are at par when it comes to giving trade signals. They are both unreliable. But, Spetre indi and G browser do have an advantage in estimating trend over digital filters due to their fast response.

Compare the 3 indi's and you will see what i mean. Note that the digital filter is set at wn=0.1, while specter is set to relevant cycle 3 and G browser is set at the top first cycle (both starting at 151 bars back)

You will notice that both cycle indi's did a much better job picking up the reversal in real time. I was in front of the screen when they painted the bottom and helped me with my entry.

Please also note that i do not trade cycles exclusively, in other words, I did not get my signal from the cycle indi but it helped confirm everything else (both indi's were in sync for an up move way earlier than the digital filter).

I am sure others will disagree and that is 100% cool by me. All that matters is what works for you.

Cheers,

Pip

Files:
 
irena:
Hi

This indicator uses from digital filter(low pass) by sinc function .

that it use from half of spectrum (past data) and coefficient of low-pass digital filter.

I think it will be interesting to see a Slope version of it.

 

irena

Nice work

Only one thing that you have to pay attention to (the part that I had a problem with when used sync in some smoothing ways) : sync has one unpleasant property for different calculation lengths when used in that way. It is not closed in 0 for chosen length, and, for different calculation lengths (depending on chosen length) you can get what I call a "jumping effect". What it means is that, for example you are going to get one value for length nn and unexpected value for length nn+1 and yet another unexpected value for length nn+2 (it depends on the direction of the "tail") since the weights are going to push it either up or down on the chart.

Here is just the set of weights calculated by sync() function that might show a bit more clear what am I talking about :

irena:
Hi

This indicator uses from digital filter(low pass) by sinc function .

that it use from half of spectrum (past data) and coefficient of low-pass digital filter.
Files:
sync.gif  33 kb
 
irena:
Hi pip

The parameter(wn) is 0<wn<1 default(wn)=0.1 it is cut-off normalized frequency.

this function has ABSOLUTLY NO REPAINT

As it uses ONLY from past data and coefficient of half of the FIR digital filter spectrum.(Sinc function)

if wn~=0 it makes lag but for wn>0.1 it has very low lag.

try it once!!!

my english is poor (pardon me)

Irena,

Please do not take my feedback to belittle your work in anyway. My feedback relates only to my perspective of things and how i trade and has no bearing on your work whatsoever. As Mladen has kindly shown, I am no match to give any type of academic evaluation of the work. I am sure you work was well thought through and will be beneficial to others.

Cheers,

Pip

 

The problem is that in bandpass filters (FIR filters) the window has to be of certain "size" if it is to be used in the asymmetric way, otherwise if one uses just one half, the asymmetricity hits in the head. For example : length nn will be above the price, length nn+1 will be bellow the price and length nn+2 will be again above the price all depending on the length of the sample (and the prices that is "caught" by the "tail") rather then the price itself. I am oversimplifying here, but if one uses shorter "limit" and varies it by small steps (1 is perfect), it will be obvious very quickly what is actually happening with asymmetric sync() coefficients.

Here is one example of a FIR filter with a "normal" (symmetrical) kernel that uses sync() (Lanczos in this case) for smoothing and in the lower sub-window is the representation of coefficients.

Files:
sync_1.gif  47 kb
 

...

interesting MA in the picture:)...

 
Pip:
Hi Mearyeaurng,

To be able to apply more than one instant of the indicator you need to give each one a unique name. To do so simply change the number for the "AddToObjName" variable for each instant. For example, instant one would be assigned "1", while instant two would be assigned "2", and so on.

Cheers,

Pip

Hi,

Thanks you so very much for your help.

Kind regards,

M.

 

Pip,

Can you point me to a post where you talk about figuring out cycle lengths?

Thank you!

Someoneinjapan