Magic Trend Indicator

Magic Trend Indicator

Magic Trend Indicator may help identifying the correct trend direction.
It is plotted on the price chart, like any moving average, though it is faster, more accurate
and reliable than other trend following indicators.

The calculation of indicator is based on ATR, current price direction and some more complex
logic.

Magic Trend Indicator changes its color based on the direction of the trend, so if the line
is green then the trend is up and if it is red then the trend is down.
The value of Magic Trend indicator can be used as trend reversal trigger on closing basis.
If you are on long position and on any bar price closes below the indicator value then the
indicator turns red from the next bar to indicate the reversal of trend, so the trader can
exit his long position and take short position at the same time.
The opposite rules apply to the short positions.

A buy signal is also triggered when the closing price crosses above the Magic Trend line and
a short signal is triggered when the closing price crosses below the Magic Trend line.

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. naluis • 09/14/2021 #

    what is the function of temp1? it is not taken into account in the calculation

  2. murre87 • 09/14/2021 #

    How can i use this in a strategy?

  3. robertogozzi • 09/14/2021 #

    It is well described above.
    To use it you can use CALL as with any other indicator.
    This is the instruction:
    myMagicTrend = CALL “Magic Trend”[20, 14, 1, 5]
    Parameters (you can change them as best suits you):
    20 is the CCI periods
    14 is the ATR periods
    1 is the ATR multiplier (can be a decimal number)
    5 is the periods of a Simple Moving Average.

  4. murre87 • 09/14/2021 #

    I Created a thread for this
    https://www.prorealcode.com/topic/magic-trend-strategy/

  5. murre87 • 09/14/2021 #

    Wich timeframe and index are used in your picture?

  6. Johann • 09/14/2021 #

    Hi Roberto, Thank you for the work but how do you get the indicator to change color from green to red and vice versa? Mine is one color only with no option to change it in the configuration window?

    • Lavallette • 09/14/2021 #

      Color and other drawing indicator settings can be changed easily if you select “Properties”.

    • robertogozzi • 09/14/2021 #

      If MagicTrend > MagicTrend[1] then it’s green, red otherwise.

  7. Lavallette • 09/14/2021 #

    Hello Roberto.
    Thanks for this interesting indicator.

    I wanted to try use it in an automatic system in 2 different ways.

    First depending on its state do not enter long or short. Example if green, do not short and if red do not enter long
    Second trigger signal when the color change from green to red or red to green.

    I must admit I failed in both ways.
    Could you please advice?
    Cheers.

  8. robertogozzi • 09/14/2021 #

    If MagicTrend > MagicTrend[1] then it’s green, red otherwise.

    • Lavallette • 09/14/2021 #

      Thank Roberto.
      I thought about that also but I would like to get only one signal. Only when the color change from green to red or red to green.
      If I do
      MagicTrend > MagicTrend[1]
      I will get several signals not only when the color change.

  9. robertogozzi • 09/14/2021 #

    (see below)

  10. robertogozzi • 09/14/2021 #

    If MagicTrend <> MagicTrend[1] then it’s Green or Red

    • raffa58 • 09/14/2021 #

      Buonasera Roberto, ho provato ad usare questo indicatore inserendo l’istruzione di cui sopra ” If MagicTrend > MagicTrend[1] then it’s green, red otherwise” ma ricevo un errore di sintassi . cosa sbaglio ? grazie

  11. Leo_da_Pisa • 09/14/2021 #

    A really nice indicator. Can easily be used as a strategy. I’ve tried a few trend indicators here but this one works perfectly for me.

    Thank you for sharing, Roberto.

  12. Thomas • 09/14/2021 #

    Hi. I would like to color the background green or red if the “Magic Trend Custom” is green or red. Unfortunately I can’t get this to work correctly. I tried the following:

    myMagicTrend = CALL “Magic Trend custom”[20, 14, 1, 5]

    //If myMagicTrend => myMagicTrend[1] THEN
    //BACKGROUNDCOLOR(204,255,204,alpha)
    //ELSIF myMagicTrend =< myMagicTrend[1] THEN
    //BACKGROUNDCOLOR(255,204,204,alpha)
    //ENDIF

    If myMagicTrend <> myMagicTrend[1] THEN
    BACKGROUNDCOLOR(204,255,204,alpha)
    ELSE
    BACKGROUNDCOLOR(255,204,204,alpha)
    ENDIF

    Return

    Can anyone help me? Many thanks

    • robertogozzi • 09/14/2021 #

      You forgot to set the variable ALPHA to any value between 0 and 255 (0=invisible, 255=fully visible). place this line at the beginning (or at any point prior to where it is used):
      alpha = 150

    • Thomas • 09/14/2021 #

      Hello Roberto. I have set ALPHA as a variable. But even if I fill it in manually, the background doesn’t match the magic trand indicator.
      I p

    • Thomas • 09/14/2021 #
    • robertogozzi • 09/14/2021 #

      It’s because you are NOT checking when it’s green or red, but when it’s different from the previous bar.
      This will do:
      myMagicTrend = CALL “Magic Trend custom”[20, 14, 1, 5]
      alpha = 150
      Green = myMagicTrend > myMagicTrend[1]
      Red = myMagicTrend < myMagicTrend[1]
      If Green THEN
      r = 204
      g = 255
      b = 204
      ELSIF Red THEN
      r = 255
      g = 204
      b = 204
      ENDIF
      BACKGROUNDCOLOR(r,g,b,alpha)
      Return

  13. Thomas • 09/14/2021 #

    Ahhh, I think it rang now. MANY THANKS. I shouldn’t have used “Background” in the query:
    Instead of:
    If myMagicTrend => myMagicTrend[1] THEN
    BACKGROUNDCOLOR(204,255,204,alpha)
    ELSIF ………….

    Right way:
    IF myMagicTrend > myMagicTrend[1] THEN
    r = 204
    g = 255
    b = 204
    ELSIF myMagicTrend < myMagicTrend[1] THEN
    r = 255
    g = 204
    b = 204
    ENDIF

    Sto usando il tuo codice ora.
    Stupido, io. Grazie molte.

    Tonto, yo.
    😉

  14. johann8 • 09/14/2021 #

    I want to see vertical lines instead of background. Green line long and red line short.
    Can someone help me?
    see image.

    Thanks 🙂

    • Nicolas • 09/14/2021 #

      use DRAWVLINE in replacement of BACKGROUNDCOLOR.

  15. johann8 • 09/14/2021 #

    Simply “DRAWVLINE” through “BACKGROUNDCOLOR” doesn’t work.
    I have no idea about it.

    • robertogozzi • 09/14/2021 #

      You can find details about the instructions at https://www.prorealcode.com/prorealtime-documentation/.
      Anyway, this is the code:
      myMagicTrend = CALL “Magic Trend custom”[20, 14, 1, 5]
      alpha = 105
      b = 0
      Green = myMagicTrend > myMagicTrend[1]
      Red = myMagicTrend < myMagicTrend[1]
      If Green THEN
      r = 0
      g = 255
      ELSIF Red THEN
      r = 255
      g = 0
      ENDIF
      DrawVline(BarIndex) coloured(r,g,b,alpha)
      Return

  16. johann8 • 09/14/2021 #

    Thanks Roberto,

    even with the instructions i didn’t get any further.
    What I want is just a vertical one line for long (red) and one line for short (green). Not permanent.

  17. johann8 • 09/14/2021 #

    https://www.prorealcode.com/wp-content/uploads/2016/02/DRAWVLINE-example.png

    • robertogozzi • 09/14/2021 #
    • robertogozzi • 09/14/2021 #

      There you go:

      myMagicTrend = CALL “Magic Trend custom”[20, 14, 1, 5]
      alpha = 105
      b = 0
      Green = myMagicTrend > myMagicTrend[1]
      Red = myMagicTrend < myMagicTrend[1]
      If Green THEN
      r = 0
      g = 255
      Last = 1
      ELSIF Red THEN
      r = 255
      g = 0
      Last = 2
      ENDIF
      IF Last <> Last[1] THEN
      DrawVline(BarIndex) coloured(r,g,b,alpha) STYLE(Line,5) //width 1-5
      ENDIF
      Return

  18. johann8 • 09/14/2021 #

    exactly 🙂

    Thank you all for the help!

  19. max_92 • 09/14/2021 #

    Ciao Roberto, ho scaricato l’indicatore e come ti avevano già scritto sopra anch’io vedo la linea di un solo colore. Non sono esperto di programmazione, per fare il colore verde e rosso come nella tua foto come devo fare. Devo inserire un’altro pezzo di codice? Nel caso quale e in che posizione? Grazie

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar

+8 more likes

Related users ' posts
MaoRai54 dear Ivan, it seems to be very interesting but please clarify what are all the lines I see i...
Iván Hi! you have the answer in the last line of code... MacdMiddle as "histo" style(histogra...
kats Le Top , a utiliser avec le nuage violet et alerte TN pour plus de précision.
roccafragius Hello Ivan, very good job! May I ask you to translate teh script from TradingView named Tre...
Iván Hi! yes. You can ask for it here: https://www.prorealcode.com/free-code-conversion/
roccafragius Thank you so much Ivan! I created this request in english Translate from TradingView Indicat...
Regisnew très bel indicateur merci
Jean2139 Bonjour Yvan, Merci pour ton indicateur que je trouve très intéressant. Je suppose que tu ...
Suffi Hier eine kleine Korrektur: //-----Inputs-----------------------------------------// MALengt...
kats Bonjour, J'ai une question etes vous trader? Je m'explique , j'ai téléchargé tous les indi...
Faisalx Hola Ivan. Thanks for your great job. I would appreciate if you have look at my request http...
roccafragius Thank you for all these useful information!! Very great job Ivan! THank you so much
geroniman Merci Ivan, super travail. On peut toujours compter sur toi pour apporter des innovations su...
Stenozar Ciao mi restituisce errore line 1; forse è perchè utilizzo la versione 11 ? in questo caso d...
Stenozar Ciao IVAN , mi da errore per la riga 49 "print tema low"; puoi suggerirmi la modifica da met...
Iván Avete provato a scaricare il file .itf?
Iván Allora crei un nuovo post. Lo aspetterò.
Stenozar Ciao Ivan, ho inserito il post con la richiesta di traduzione. Se puoi vedere, grazie!
Iván perfect!
kats BONSOIR c bon merci j ai trouve ce weekend merci de votre reponse cdlt
the_giorgio Hi, nice work I would like to understand something about prorealtime code. With your ...
Iván Hello. When you use the drawcandle() instruction then in the configuration window you add ...
Gaspare Ciao Ivan si puo' inserire una strategia su questo indicatore per ottimizzare le variabil...
Iván
7 months ago
Iván Si lo descargas e importas en tu PRT verás que se han creado las variables para luego config...
WhyAskOZ Hi, Ivan As always you are doing great coding. The code works on my PRT, however the issu...
Iván You can delete in the last line (return) the configuration for color. Delete coloured(xx,xx,...
Bernard13 (Je réécris mon commentaire -français- en français car certains mots ne correspondaient pas ...
Iván 1000 indicateurs !!! brutaux
Lean Me parece muy buen indicador, y se complementa muy bien en mi sistema, ¿podrías crear un scr...
Iván Gracias! Para el screener sólo tienes que copiar el indicador y poner como condición de búsq...
Lean Muchas gracias Iván, ya lo he podido crear.
Doddge Hola Iván, ¿sería posible crear un screener que indique cuándo las velas coloreadas del indi...
RTR Ivan thank you for the pro-screener. I a trying to understand how to write the signals from ...
Iván Hi, Lines 62 and 63. These lines define buy and sell conditions.
Iván Hi You should delete from the indicator code all drawing functions and all variables not us...
Iván I've created a screener to show [longcondition or shortcondition]
Chrisinobi Hallo Ivan, Danke das ist Perfekt !! Kannst du bitte in der Screener-Bibliothek die itf. hoc...
MaoRai54 Thanks, now it's OK. in your first code at line 15-16 it's missing.
Madrosat Hello Ivan Did you try a strategy with this indicator
Iván Hi. No I didn't. This is a code translation requested by an user a few days ago.
Iván
9 months ago
cjr30 Simplemente modifica las lineas 19 y 21 por las siguientes: drawtext("▲",barindex,low-0.1*a...
groelandes Gracias!!
WhyAskOZ i copied the code into strategy and it gives error on line 21 and 23. it says " Line 1: ...
Iván
9 months ago
Madrosat Hello Ivan You have interesting topics on indicators , smart supertrend, optimised trend t...
Iván Hi! thanks. All of these codes are translations requested in the forum. I've on mind to back...
Raspete01 Buenos días Iván, estoy intentando llevar el código eliminando los colores y pasando un Back...
Iván
9 months ago
winnie37 Hi Ivan, if i want to use it, and call the oscillator value (in grey, green or red), how to...
Iván The oscillator is smoothtype. In inputs there is de lag to configure the output

Top