OPEN-SOURCE SCRIPT

Variety RSI of Fast Discrete Cosine Transform [Loxx]

Updated
Variety RSI of Fast Discrete Cosine Transform [Loxx] is an RSI indicator with 7 types of RSI that is calculated on the Fast Discrete Cosine Transform of source. The source inputs are 33 different source types from Loxx's Expanded Source Types.

What is Discrete Cosine Transform?
A discrete cosine transform (DCT) expresses a finite sequence of data points in terms of a sum of cosine functions oscillating at different frequencies. The DCT, first proposed by Nasir Ahmed in 1972, is a widely used transformation technique in signal processing and data compression. It is used in most digital media, including digital images (such as JPEG and HEIF, where small high-frequency components can be discarded), digital video (such as MPEG and H.26x), digital audio (such as Dolby Digital, MP3 and AAC), digital television (such as SDTV, HDTV and VOD), digital radio (such as AAC+ and DAB+), and speech coding (such as AAC-LD, Siren and Opus). DCTs are also important to numerous other applications in science and engineering, such as digital signal processing, telecommunication devices, reducing network bandwidth usage, and spectral methods for the numerical solution of partial differential equations.

Fast Discrete Cosine Transform
The algorithm performs a fast cosine transform of the real function defined by nn samples on the real axis.

Depending on the passed parameters, it can be executed both direct and inverse conversion.

Input parameters:
  • tnn - Number of function values minus one. Should be 1024 degree of two. The algorithm does not check correct value passed.
  • a - array [0 .. nn] of Real 1025 Function values.
  • InverseFCT - the direction of the transformation. True if reverse, False if direct.
  • Output parameters: a - the result of the transformation. For more details, see description on the site. https://www.alglib.net/fasttransforms/fft.php


Included:
  • 7 types of RSI
  • 33 source inputs from Loxx's Expanded Source Types
  • 2 types of signals
  • Alerts
Release Notes
Small error fix
Release Notes
Updated algorithm inputs and restricted length inputs to powers of 2. The reason for this is FFT is an algorithm that computes DFT (Discrete Fourier Transform) in a fast way, generally in 𝑂(𝑁⋅log2(𝑁)) instead of 𝑂(𝑁2). To achieve this the input matrix has to be a power of 2 but many FFT algorithm can handle any size of input since the matrix can be zero-padded. For our purposes here, we stick to powers of 2 to keep this fast and neat. read more about this here: Cooley–Tukey FFT algorithm
Release Notes
Add Output Level variable. This is the index of the array output from the Inverse Fast Cosine Transform. This is experimental only. the higher the number, the smoother the signal. The result of this is to basically increase the lag of the signal. This shouldn't be in trading in at all, but is here for demonstration purposes. For 99% of you, keep this number at 0.
fourierfouriertransformjurikRelative Strength Index (RSI)RSX

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?


Public Telegram Group, t.me/algxtrading_public

VIP Membership Info: patreon.com/algxtrading/membership
Also on:

Disclaimer