Fourier extrapolation of price – indicator MetaTrader 5

A multi-harmonic (or multi-tone) trigonometric model of a price series x[i], i=1..n, is given by:

x[i] = m + Sum( a[h]*Cos(w[h]*i) + b[h]*Sin(w[h]*i), h=1..H )

where:

  • x[i] – past price at i-th bar, total n past prices;
  • m – bias;
  • a[h] and b[h] – scaling coefficients of harmonics;
  • w[h] – frequency of a harmonic;
  • h – harmonic number;
  • H – total number of fitted harmonics.

Fitting this model means finding m, a[h], b[h], and w[h] that make the modeled values to be close to real values. Finding the harmonic frequencies w[h] is the most difficult part of fitting a trigonometric model. In the case of a Fourier series, these frequencies are set at 2*pi*h/n. But, the Fourier series extrapolation means simply repeating the n past prices into the future.

This indicator uses the Quinn-Fernandes algorithm to find the harmonic frequencies. It fits harmonics of the trigonometric series one by one until the specified total number of harmonics H is reached. After fitting a new harmonic, the coded algorithm computes the residue between the updated model and the real values and fits a new harmonic to the residue.

Alternative:  Adaptive Moving Average - AMA - with filter, histogram version - indicator MetaTrader 5

The indicator has the following input parameters:

  • Npast – number of past bars, to which trigonometric series is fitted;
  • Nfut – number of predicted future bars;
  • Nharm – total number of harmonics in model;
  • FreqTOL – tolerance of frequency calculations.

The indicator plots two curves: the blue curve indicates modeled past values and the red curve indicates the modeled future values.

Fourier extrapolation of price

📈 ROBOTFX MetaTrader Expert Advisors and Indicators to maximize profits and minimize the risks