I don't think version 5.2 can do what you described (as far as i can tell), Are you working on version 5.3?
Just a little contribution to the great work being done with Goertzel, maybe you all may find useful. Its basically the same as version 5.2 but its using HPF no lambda (no library file)
It looks like we are on the same track combining CS with non-CS version for picking up (synchronizing) tops and bottoms
At any rate. I have created a little excel sheet that helped me sort the cycles before your modification to G Browser 5.1 and when I use that sheet and enter the data shown in both testcycle_1 and testcycle_2 top cycles I find that they are not ordered in strongest to weakest cycles. This maybe due to how we define cycle strength, but I used the formula i provided earlier (amplitude/period) to sort the cycles (strongest to weakest, or largest number to smallest number). Below is a screen shot of what the order should look like according to my math. I also color coded the strength for better visual assessment. Examination of the excel sheet output quickly depicts how the order of the cycles in both testcycle_1 and testcycle_2 is not in order of strongest to weakest (assuming my math is correct) when CS is enabled. Do you agree?
Please note that I used a factor of 10000 applied to the results of the formula to avoid scientific notation of the output so the formula is (amplitude/period)*10000
CS already gives the amplitude/period under "amplitude",and it is already ordered stronger to weaker ....just take the cycle with periodicity=3 in the non CS browser take its amplitude and divide it by 3...It will be exactly the same you see under "amplitude" for that cycle in the CS browser,amplitude for that cycle non CS is 0.0334,hence in the upper CS browser ,you will see the Cycle strength=0.0334/3=0.0111....You can take any of the other 11 cycles whose periodicity and phase agree between CS and non CS, in testcycles_1 pic(the second one where 12 cycles agreed), and you will confirm this is so ,always.What you get in CS is amplitude per bar,and it is already ordered stronger to weaker.
So,basically,in CS mode the "amplitude" column already gives you amplitude/period or as you named it,Cycle Strength.
Additionally,and to prevent further potential confusion,always use CS with non squared amps,if you use squared amps with CS you may be squaring both numbers above and below 1,then dividing them by their relative periods,and the ranking will be wrong.
Regarding your 5.3 comment,if you reread my message you may realize that I was asking for the moderators to do it,if they thought it was worthy of their time.
As always, I am humbled by your feedback and stand corrected. I figured the misunderstanding on my part was due to mathematical overlook.
Your tip for amps squared is greatly appreciated.
As in regards to my earlier comment about version 5.3, I reread your post and now I understand it better, thanks for the clarification, although I do second your notion of incorporating recent highs or lows as starting points. This will help to determine phase and amplitude variance and how future projections should be adjusted.
However, I also want to direct attention to the importance of incorporate some type of statistical analysis to measure cycle relevance to current time frame and recent history being analyzed. As you may note, the cycle output produces multiple cycles and all are necessarily relevant or persistent to be considered for trading. I have attached to this post several articles that shed light onto Bartels test (as well as other methods that may be useful in improving cycle detection). I am not in position to evaluate them since I do not have the necessarily background to decipher complex mathematical functions, but am hoping one of the great minds in this forum can evaluate the articles relevancy and hopefully we can produce some type of test that will narrow down the list of cycles to the top best performing cycles that we can use for trading.
AdaptNCycleGDFT.pdf - 4shared.com - document sharing - download
Bartels.zip - 4shared.com - online file sharing and storage - download
ECE461Proj.pdf - 4shared.com - document sharing - download
MesaVsGDFT.zip - 4shared.com - online file sharing and storage - download
Sliding DFT.pdf - 4shared.com - document sharing - download
Thanks Mr. Tool.
I have confirmed that performance wise there is no difference between the original HP in version 5.2 and the no DLL version in 5.2.1 and thus I have implemented a slight adjustment in version 5.2.1 where now if CS is selected, Amplitude is replaced by C.Strength.
Please find version 5.2.2 attached.
Don't know if this one deserves the "3" in the version, but called it that way
First of all a couple of words of explanation : in this one the dll version of Hodrick Prescott filter is used again. The reason for reverting it is that Hodrick Prescott filter recalculation is not limited to "Period" bars and since dll version is faster in doing the recalculation of the whole thing, it does not hurt to cut down PC resources usage whenever it is possible (this is the only reason for reverting the usage to dll version of HP filter).
From the above description other necessary change in code is obvious : when HP filter is used, all the "SampleSize" bars of HP filter must be re-read (since they could have change way back) and it is done now (which solves the problem of false calculations and of a "repainting" due to lack of the actual HP filter data). Most obvious manifestation of this change is in constant amplitude and / or phase changed data display even when the chosen bar to calculate is already closed - it is the nature of HP filter and it should be like that if HP filter detrending is used.
And last change is that in the display amplitudes are displayed with more precision in cases when they are very small (like in cases when HP filter detrending is used) and now it is in a more readable form (there will be no more confusion with a lot of zeroes in a list which mean nothing to us, since, they are actually not zeros as it is visible now)
Hi Mr Mladen,
is it possible to have a parameter to modify the size of the symbol and price of your DailyData indicator, it's somewhat lost when using big screens.
I am experiencing a challenge calling any of the G Browser 5.0 and higher indies in an expert. I tried all indexes for buffers and still no luck. Any tips on how to best call for indies that have the MTF feature as programmed by MLaden?
for example, If I wanted to test H4 waves using H1 chart and call the H4 cycles, first, which index should I use and how should the parameters be set? I tried Period_H4 in the iCustom function with blank MTF setting for indicator input, and tried 0 for iCustom function and H4 for indicator input and still no luck no matter what I do.
... Any tips on how to best call for indies that have the MTF feature as programmed by MLaden?...
You're sure to get a better and more complete answer from someone else, but in the meantime, in an effort to save time,...
I think the problem is related to 'Objects'
If you'll comment out all Object creation and references, you should be able to call with iCustom()
I thought I saw a post by Mladen that addressed that, but I could not find it when I looked.
I posted a Goertzel5.mq4 that I was able to call from an EA.
Perhaps a useful and general solution would be to add an extern on the next version that makes it callable?
In the indicator itself there is already a valid call to itself. When the indicator switches to mtf mode it calls itself to calculate values. The line (in version 5.3) goes like this :
goertzel = iCustom(NULL,timeFrame,indicatorFileName,"","calculateValue",Price,BarToCalculate,StartAtCycle,UseTopCycles,UseCosineForWaves,UseAdditionForSteps,UseSquaredAmp,
The above applies to version 5.3 only. If a call to other version is needed, there is a very similar line in every version that can be used as a kind of a model for a call. In the above iCustom() call timeFrame should be replaced with 0 for current time frame, indicatorFileName should be replaced with actual indicator name ("Goertzel browser 5.3" for example) and PredictionVisible and ListOfCyclesVisible should be set to or replaced by false in order to prevent any objects creation when the indicator should only calculate values