Super Trend Fisher Indicator

Super Trend Fisher Indicator

Discover the Super Trend Fisher Indicator: Analysis and Applications in ProRealTime

Introduction

The Super Trend Fisher indicator stands out as an advanced tool that combines several analytical methods to deliver clear and timely signals. This indicator is especially valued for its ability to adapt to different market conditions and its ease of integration into various trading strategies.

Description of the Super Trend Fisher Indicator

The Super Trend Fisher is a complex technical indicator that incorporates elements of the Detrended Price Oscillator, Fisher Transform, and the calculation of the Average True Range (ATR) to dynamically adjust trend levels. Its main goal is to identify the direction of the trend and signal possible reversals, using a methodology that adjusts its parameters in real-time to capture market volatility.

  • Detrended Price Oscillator (DPO): Measures the deviation of the price from its moving average, helping to identify short-term price cycles stripped of long-term trends.
  • Fisher Transform: Converts prices into a Gaussian distribution to produce clearer and timelier signals.
  • Average True Range (ATR): Used to calculate market volatility, the ATR helps adjust the SuperTrend thresholds to be more responsive during volatile market conditions.
  • SuperTrend: Combines direction of the trend and volatility, offering a clear visual summary of the current market situation.

Functioning of the Indicator

The Super Trend Fisher uses a combination of analytical techniques to provide an integrated and deeply contextual view of market behavior. Below is an explanation of how each component of the indicator is calculated:

  • Calculation of the Detrended Price Oscillator: The moving average is subtracted from the closing price, which helps eliminate long-term price variations and focus on short-term fluctuations.
  • Application of the Fisher Transform: This transform alters the distribution of price data to make overbought and oversold areas more identifiable and accessible for technical analysis.
  • Integration of the ATR: The ATR adjusts the limits of the SuperTrend according to market volatility, allowing the indicator to be effective under different market conditions.

Practical Applications

The Super Trend Fisher indicator is exceptionally useful for traders looking to quickly identify market trends and reversal points. Here are some ways to interpret the signals provided by this indicator:

  • Trend Identification: When the indicator moves above the zero level and changes color, it indicates a possible entry into an uptrend. Conversely, a movement below the zero level with a color change suggests a downtrend.
  • Buy and Sell Signals: A buy signal may be considered when the Super Trend Fisher changes from red to green and is above the zero line. Conversely, a sell signal is suggested when it changes from green to red and is located below the zero line.
  • Optimization of Entries and Exits: Combining the Super Trend Fisher with other momentum or volume indicators can help refine entries and exits, thereby improving risk management and the effectiveness of trading strategies.

Setup and Customization

Copy and paste the code provided in the programming section of the editor. Adjust the parameters period, length, len, stFactor, and stPeriod according to your specific needs to tailor the sensitivity and reactivity of the indicator.

  • Application and Analysis: Once the code is adjusted, apply the indicator to the chart. Observe how the indicator interacts with price movements and adjust settings if necessary to optimize signals.

Conclusions

The Super Trend Fisher indicator offers a robust combination of technical analysis and adaptability, making it a valuable tool for any trader. Its ability to integrate multiple analytical techniques into a single indicator allows for a richer and more nuanced interpretation of the markets. As with any trading tool, it is recommended to combine the Super Trend Fisher with proper risk management and a coherent trading strategy.

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

  1. Stenozar • 314 days ago #

    Scusa Ivan, ho trovato un’altra versione di supertrend, Kalmana Hull Supertrand, che mi pare interessante ma non mi fa creare un nuovo topic, non so per quale motivo. Provo a incollare il codice qui, se tu potessi tradurlo. Grazie
    /////////////////////////////////////////////////////////////// © BackQuant ///////////////////////////////////////////////////////////////
    // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
    // © BackQuant

    //@version=5
    indicator(
    title = “Kalman Hull Supertrend [BackQuant]”,
    shorttitle = “Kalman Hull ST [BackQuant]”,
    overlay=true,
    precision = 2,
    format = format.price,
    timeframe = “”,
    timeframe_gaps = true
    )

    // Define User Inputs
    series float pricesource = input.source(close, “Kalman Price Source”, group = “Calculation”)
    simple float measurementNoise = input.float(3.0, title=”Measurement Noise”, group = “Calculation”, tooltip = “Lookback Period/ Calculation Length”, step = 1.0)
    simple float processNoise = input.float(0.01, title=”Process Noise”, step = 0.01, group = “Calculation”)

    simple int atrPeriod = input.int(12, “ATR Period”, group = “Supertrend”, inline = “ST”)
    simple float factor = input.float(1.7, “Factor”, group = “Supertrend”, inline = “ST”, step = 0.01)

    simple bool showkalman = input.bool(true, “Show Supertrend on chart?”, group = “UI Settings”)
    simple bool paintCandles = input.bool(true, “Paint candles according to Trend?”, group = “UI Settings”)
    simple bool showlongshort = input.bool(true, “Show Long and Short Signals { + }”, group = “UI Settings”)

    color longColor = input.color(#33ff00, “Long Color”, group = “UI Settings”, inline = “Col”)
    color shortColor = input.color(#ff0000, “Short Color”, group = “UI Settings”, inline = “Col”)
    /////////////////////////////////////////////////////////////// © BackQuant ///////////////////////////////////////////////////////////////
    // Kalman Price Filter Function
    N = 5
    var float[] stateEstimate = array.new_float(N, na)
    var float[] errorCovariance = array.new_float(N, 100.0)
    f_init(series float pricesource) =>
    if na(array.get(stateEstimate, 0))
    for i = 0 to N-1
    array.set(stateEstimate, i, pricesource)
    array.set(errorCovariance, i, 1.0)

    f_kalman(series float pricesource, float measurementNoise) =>
    // Prediction Step
    predictedStateEstimate = array.new_float(N)
    predictedErrorCovariance = array.new_float(N)
    for i = 0 to N-1
    array.set(predictedStateEstimate, i, array.get(stateEstimate, i)) // Simplified prediction
    array.set(predictedErrorCovariance, i, array.get(errorCovariance, i) + processNoise)

    kalmanGain = array.new_float(N)
    for i = 0 to N-1
    kg = array.get(predictedErrorCovariance, i) / (array.get(predictedErrorCovariance, i) + measurementNoise)
    array.set(kalmanGain, i, kg)
    array.set(stateEstimate, i, array.get(predictedStateEstimate, i) + kg * (pricesource – array.get(predictedStateEstimate, i)))
    array.set(errorCovariance, i, (1 – kg) * array.get(predictedErrorCovariance, i))

    array.get(stateEstimate, 0)

    f_init(pricesource)
    kalmanFilteredPrice = f_kalman(pricesource, measurementNoise)
    /////////////////////////////////////////////////////////////// © BackQuant ///////////////////////////////////////////////////////////////
    // Hull Moving Average Function with Kalman instead of Weighted Moving Average
    KHMA(_src, _length) =>
    f_kalman(2 * f_kalman(_src, _length / 2) – f_kalman(_src, _length), math.round(math.sqrt(_length)))
    // Return
    kalmanHMA = KHMA(pricesource, measurementNoise)
    /////////////////////////////////////////////////////////////// © BackQuant ///////////////////////////////////////////////////////////////
    // Supertrend Function
    supertrend(factor, atrPeriod, src) =>
    atr = ta.atr(atrPeriod)
    upperBand = src + factor * atr
    lowerBand = src – factor * atr
    prevLowerBand = nz(lowerBand[1])
    prevUpperBand = nz(upperBand[1])

    lowerBand := lowerBand > prevLowerBand or close[1] < prevLowerBand ? lowerBand : prevLowerBand
    upperBand := upperBand prevUpperBand ? upperBand : prevUpperBand
    int direction = na
    float superTrend = na
    prevSuperTrend = superTrend[1]
    if na(atr[1])
    direction := 1
    else if prevSuperTrend == prevUpperBand
    direction := close > upperBand ? -1 : 1
    else
    direction := close < lowerBand ? 1 : -1
    superTrend := direction == -1 ? lowerBand : upperBand
    [superTrend, direction]

    // Call Function with Inputs
    [superTrend, direction] = supertrend(factor, atrPeriod, kalmanHMA)
    /////////////////////////////////////////////////////////////// © BackQuant ///////////////////////////////////////////////////////////////
    // Conditional Trend
    SupertrendLong = ta.crossunder(direction, 0)
    SupertrendShort = ta.crossover(direction, 0)
    var Trend = 0
    if SupertrendLong and not SupertrendShort
    Trend := 1

    if SupertrendShort
    Trend := -1

    // Colouring
    var barColour = #ffffff
    if Trend == 1
    barColour := longColor
    if Trend == -1
    barColour := shortColor

    // Plotting
    plot(
    showkalman ? superTrend : na,
    "Kalman Hull ST",
    color = color.new(barColour, 40),
    linewidth = 4
    )

    barcolor(paintCandles ? barColour : na)

    // Long and Short Signals ()
    plotshape(
    showlongshort ? SupertrendLong : na,
    offset=0,
    title="Long",
    text="",
    style=shape.triangleup,
    location=location.belowbar,
    color=barColour,
    textcolor=barColour,
    size = size.tiny
    )
    plotshape(
    showlongshort ? SupertrendShort: na,
    offset=0,
    title="Short",
    text="",
    style=shape.triangledown,
    location=location.abovebar,
    color=barColour,
    textcolor=barColour,
    size = size.tiny
    )

    // Alert Conditions
    alertcondition(SupertrendLong, title="Kalman Hull ST Long", message="Kalman Hull ST Long {{exchange}}:{{ticker}}")
    alertcondition(SupertrendShort, title="Kalman Hull ST Short", message="Kalman Hull ST Short {{exchange}}:{{ticker}}")

    • Iván • 313 days ago #

      Ciao
      Certo, posso analizzare il codice per tradurlo, ma devi lanciare la richiesta da qui:
      https://www.prorealcode.com/free-code-conversion/

  2. Stenozar • 311 days ago #

    Ciao Ivan, ho provato ma non mi lascia caricare il post, non so per quale strano motivo…

    • Iván • 311 days ago #

      Allora crei un nuovo post. Lo aspetterò.

    • Stenozar • 307 days ago #

      Ciao Ivan, ho inserito il post con la richiesta di traduzione. Se puoi vedere, grazie!

    • Iván • 305 days ago #

      perfect!

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
juanj
6 years ago
juanj I have actually completely redesigned this indicator with loads of improvements, so will res...
juanj @Holy Grail, glad you like it. Would you perhaps mind sharing your results here: https://www...
CaptainCaveman I am reluctant to say this buy I was a member of Dr Elder trading group for a while . The fa...
micquan The design is too complex and the performance is low.
Maik2404 wie kann ich den Code bekommen Paul?
jens_kittner Works with US Crude at 1h as well!
Jean-Claude REGIS Je préconise de regarder les graphiques H1 et M15 pour visualiser la tendance de fond et d'...
capgros Bonjour @Nicolas, Thanks a lot for this tool, it is very useful for me. I would like to s...
Hans63 Would you add the possibility to color also the Heikin Ashi and bar chart?
Nicolas That's possible, please open a new topic in the indicator forum explaining what you need exa...
ottimo Thank you Nicolas, great indicator, N. 1
tikigai Merci Nicolas! First Happy new Year 2020. Very good indicator BUT (yes the french "oui, m...
Nicolas Whats prorealtime version? Did you try in version prior to v11? indicator's call and loop ca...
Nicolas
6 years ago
BSTrend
v10.3
BSTrend
10
Indicators
Florian Legeard C’est à dire sur le prix et non sur le temps ? Merci
Rohit82189 bstrend repaints
Nicolas No, it doesn't repaint.
Marcos Alvarez Dominguez Hello Nicolas, is it possible to stablish a bullish screener for this indicator when the cen...
Nicolas Please open a topic in the screener section to ask for this specific query.
zaher123 Hello, the indicator doesn't show up anything on the screen, any suggestions please?
Juan Salas Hi FULVIO09, Nice piece of work. It seems to work very well. Does only work for INDEXES??...
Johann Hi @FULVI09, I understand the instructions however I'm not too sure how to determine the "p...
Player8520 Hello, It doesn't work with me either. However, I changed AA to 180 on line 15, added th...
cfta Hi Fulvio, many thanks for sharing this clever indicator, much appreciated. As Pepsmile ment...
cfta Sorry adding the PRT to code didn't work in the above comment so I guess we will have to set...
juanj Something appears to be wrong with this formula as graphing t shows t to almost never be wit...
Nicolas Apply it on the price chart. The indicator plot just one single line. There are two in the...
jamesoc Hi Nicolas, do you happen to know if there is an indicator that can be applied to charts, to...
gustavobp Buenos dias Nicolas, al agregar tu indicador no me reconoce la variable Price ni en la linea...
Nicolas
7 years ago
Maxime Baudin Interesting, Thank you! :)
franck-david Bonjour Nicolas , actuellement je me forme grace a vos videos tres tres bien expliques mer...
Nicolas Merci. ça n'est pas le lieu pour poser ce genre de question :) Merci d'utiliser le forum Pro...
Bebbo Grazie del prezioso contributo Nicolas, scusa la mia inesperienza, sono alle prime armi e s...
Nicolas To avoid recalculation, you should use the one from this post.
Bebbo Ok Grazie Nicolas.
TraderFelix
7 years ago
Bebbo Thank you for your contribution. I have tested your system on some instruments and I like i...
bertrandpinoy bonjour j ai tente l installation mais PRT m indique que ce code ne peut etre utilisé qu en ...
Nicolas en effet, il faut utiliser l'éditeur de code ProBacktest, il ne s'agit pas d'un indicateur m...
bharatjai Script 'Adaptive ATR' has been saved line 24: no viable alternative at input 'lr' Gettin...
Nicolas download the itf file and import it into your platform.
Francis3332 Bonjour à tous, J'aime beaucoup cet indicateur et j'aimerais pouvoir l'utiliser sur la dern...
Vonasi Discussion on this indicator/filter can be found here: https://www.prorealcode.com/topic/121...
Domenec Claro Juanjo de todas maneras en deinversoratrader.com tienes estsos osciladores evolucionad...
Dron Hola Domenec, en la descripción hablas del indicador velas de colores, no lo encuentro en la...
Domenec Hola Dron mira en el blog deinversoratrader.com en formacion indicadores ahi hay varios grat...
AGTrader Interesante, muy visual Doc. Felicidades!!!
Andraxx simplemente impresionante Dom...te sigo en youtube. Me ha gustado tu canal. Gracias por comp...
Geronima Ortiz I watched the video three times, but I can not put the npips parameter as a variable. I do...
Geronima Ortiz I think the video is for an old version of prorealtime, the images do not correspond at all ...
Nicolas indicator1 = CALL “PRC_StopReversal”[npips, 1] and define npips in the optimization window ...

Top