How to detect and measure cycles
The pivotal point of the approach described here is a method that can accurately determine which cycle is currently active with regard to the length, amplitude, and duration of the last high and low of a data series.
To borrow from the language of engineering, frequency analysis is used to measure cycles. As simple users, however, we should not be deterred by these "technical" terms. Frequency is nothing other than "oscillations (cycles) per time frame". In technicalmathematical analysis, the measurement of frequency is therefore repeatedly described. Timefrequency analysis identifies the point in time at which various signal frequencies are present, usually by calculating a spectrum at regular time intervals.
The application of frequency analysis to financial data is in principle nothing new and has already been described in numerous articles. However, current methods often come up against barriers in terms of application in financial markets. This is attributable to the specific features of the financial markets. Financial markets are influenced by numerous overlapping waves, whose strength and phases vary over time and are consequently not constant. The data are also overlaid by significant oneoff events (noise) and quasilinear trends. The classical methods of frequency analysis are not designed for the special characteristics of financial markets. Hence, the established methods are largely unable to provide reliable results as far as practical trading signals are concerned.
However, this section is designed for practical application in trading and forecasting and is not intended to be a scientific publication on new algorithms. Against this background, I would like, on the one hand, to abstain from the academic debate about the advantages and disadvantages of individual methods and, on the other, to avoid repeating what has already been said in other publications.
By combining special DFT methods (including the Goertzel algorithm), validation by means of statistical measurement methods (including the Bartels Test) and approaches to preprocessing (detrending), this framework provides a reliable method for measuring cycles in financial time series datasets.
The proposed method provides the spectrum of frequency analysis for every asset, dataset and every possible time frame. The following results are thereby provided:
 Presenting a visual spectrum of the wave analysis of a length of 5  400 bars;
 Determining the peaks in the spectrum analysis  i.e., the relevant and significant cycles;
 Filtering of the values derived from the frequency analysis through statistical validation, i.e., identifying the cycles that are actually "active";
 Determining the precise phase and amplitude of every active cycle;
 Output of the data in a form comprehensible to traders, i.e.,

 the phase in the form of the date of the last low point
 the amplitude in the form of the current pricescale, and
 the length of the wave in the form of the number of bars on the chart;
 Determining the "strength" of a cycle by establishing the price movement per bar ("cycle strength").
In classical cycle analysis, the waves with the largest amplitude are usually described as dominant. However, the relative influence of a cycle per time unit  i.e., per bar on the chart  is of much greater interest. Therefore, the socalled cycle strength is ultimately introduced here and used as a measurement value for the cycle with the greatest influence per price bar. The value with the highest cycle strength will be used again later as representing the "Dominant Cycle".
These results and the mathematical method alone would fill an entire book on their own. As this publication is designed for practical purposes and aims to advance the method’s successful application in cycle analysis, this book is structured in the following main chapters:
 Cycles Explained  To introduce basic parameters and knowledge
 Applications and Examples  To illustrate the analytical algorithm
 Scanner Framework  To explain how the algorithm is designed
 Real World Examples  To see how it works in live situations