Smart Supertrend

Smart Supertrend

Here I leave an adaptation of the supertrend indicator.
We have the cloud, which shows us the price trend according to color.
On the other hand we have the adapted version of the supertrend, which can be used as a trailstop or confirmation.

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. Madrosat • 148 days ago #

    Hello Ivan
    You have interesting topics on indicators , smart supertrend, optimised trend tracker, end ema9-21 , but did you have some exemples of wining strategy with this indicators.
    Congratulations

  2. Iván • 148 days ago #

    Hi! thanks. All of these codes are translations requested in the forum. I’ve on mind to backtest all of them.

  3. Raspete01 • 105 days ago #

    Buenos días Iván, estoy intentando llevar el código eliminando los colores y pasando un Backtest para sacar estadística de funcionamiento real.
    Marqué orden de compra y venta en el siguiente punto, por favor, está correcto ?
    Muchas gracias
    src = open
    prd = 2 //PP period
    factor = 3//Atr factor
    Pd = 12//Atr period
    len = 12//Cloud length
    Adxlen = 24//Adx length
    th = 24//Adx treshold
    showsignals = 0//boolean
    colorcandle = 0//boolean
    /////////////////////////Indicators///////////////////////////////
    ////////CLOUD
    pi=2*asin(1)
    er = abs(src-src[len])/summation[len](abs(src-src[1]))

    fastlimit = er
    slowlimit = er*0.1

    if barindex<6 then
    mesaperiod = 0
    smooth = 0
    detrender = 0
    I1 = 0
    I2 = 0
    Q1 = 0
    jI = 0
    Q2 = 0
    phase = 0
    else
    mesaperiodmult = 0.075*mesaperiod[1] + 0.54
    smooth = (4*src + 3*src[1]+2*src[2]+src[3])/10
    detrender = (0.0962*smooth + 0.5769*smooth[2] – 0.5769*smooth[4]-0.0962*smooth[6])*mesaPeriodMult
    I1= detrender[3]
    Q1 =(0.0962*detrender + 0.5769*detrender[2] – 0.5769*detrender[4]-0.0962*detrender[6])*mesaPeriodMult
    jI= (0.0962*I1 + 0.5769*I1[2] – 0.5769*I1[4]-0.0962*I1[6])*mesaPeriodMult
    jQ = (0.0962*Q1 + 0.5769*Q1[2] – 0.5769*Q1[4]-0.0962*Q1[6])*mesaPeriodMult
    I2 = I1 – jQ
    Q2 = Q1 + jI
    I2 = 0.2*I2 + 0.8*I2[1]
    Q2 = 0.2*Q2 + 0.8*Q2[1]
    Re = I2*I2[1] + Q2*Q2[1]
    Im = I2*Q2[1] – Q2*I2[1]
    Re = 0.2*Re + 0.8*Re[1]
    Im = 0.2*Im + 0.8*Im[1]
    if Re 0 and Im 0 then
    mesaperiod=2 * pi/atan(Im/Re)
    endif
    if mesaperiod>1.5*mesaperiod[1] then
    mesaperiod=1.5*mesaperiod[1]
    endif
    if mesaperiod<0.67*mesaperiod[1] then
    mesaperiod=0.67*mesaperiod[1]
    endif
    if mesaperiod 50 then
    mesaperiod = 50
    endif
    mesaperiod = 0.2*mesaperiod+0.8*mesaperiod[1]
    if I1 0 then
    phase=(180/pi)*atan(Q1/I1)
    endif
    deltaphase = phase[1]-phase
    if deltaphase < 1 then
    deltaphase = 1
    endif
    alpha = fastlimit/deltaphase
    if alpha < slowlimit then
    alpha = slowlimit
    endif
    endif

    a = alpha
    b = alpha/2

    if barindex kama[1]
    Scloud = kama mdi and myadx > th //long trend
    sadx = pdi th //short trend

    /////////PRICE POSITION
    ////////pivothigh
    ph1 = high < high[prd]
    ph2 = highest[prd](high) highest[prd](high)[prd+1]

    if ph1 and ph2 and ph3 then
    pivotH = high[prd]

    else
    pivotH = pivotH

    endif
    ////////pivotlow
    pl1 = low > low[prd]
    pl2 = lowest[prd](low) > low[prd]
    pl3 = low[prd] < lowest[prd](low)[prd+1]

    if pl1 and pl2 and pl3 then
    pivotL = low[prd]

    else
    pivotL = pivotL

    endif
    ////////Trailing
    if barindex = 0 then
    center = 0
    lastpp = 0
    Tup=0
    Tdown=0
    Trend=0
    else
    if pivotH pivotH[1] then
    lastpp = pivotH
    center = (center*2+lastpp)/3
    BUY 10000 CASH AT MARKET NextBarOpen
    elsif pivotL pivotL[1] then
    lastpp = pivotL
    center = (center*2+lastpp)/3
    sell at market NextBarOpen
    else
    lastpp = lastpp[1]
    center = center[1]
    endif

    atr = averagetruerange[pd](close)
    Up = center-(factor*atr)
    Dn = center+(factor*atr)

    if close[1]>Tup[1] then
    Tup = max(Up,Tup[1])
    else
    Tup = Up
    endif

    if close[1] Tdown[1] then
    Trend = 1
    elsif close < Tup[1] then
    Trend = -1
    else
    Trend = Trend[1]
    endif
    if trend = 1 then
    Trailings1 = Tup
    else
    Trailings1 = Tdown
    endif
    endif
    //////////SIGNALS
    if showsignals then
    bsignal = Trend=1 and Trend[1]=-1
    ssignal = Trend=-1 and Trend[1]=1
    if bsignal and not Scloud then
    firstlong = Trailings1

    else
    firstlong = undefined

    endif
    if ssignal and not Lcloud then
    firstshort = Trailings1

    else
    firstshort = undefined

    endif

    secondlong = Lcloud and Ladx and trend=1
    secondshort = Scloud and Sadx and trend=-1

    long = secondlong and firstlong
    short = secondshort and firstshort

    once longshort = 0
    longlast = long and (longshort[1]=0 or longshort[1]=-1)
    shortlast = short and (longshort[1]=0 or longshort[1]=1)

    if longlast = 1 then
    longshort = 1
    elsif longshort = 1 then
    longshort = -1
    else
    longshort = longshort[1]
    endif

    lastlongcond = long and longlast
    lastshortcond = short and shortlast

    if (bsignal and not scloud) or (lastlongcond) then
    longplot = Trailings1

    //drawarrowup(barindex,low-0.10*atr)
    else
    longplot = undefined
    endif

    if (ssignal and not lcloud) or (lastshortcond) then
    shortplot = trailings1

    //drawarrowdown(barindex,high+0.10*atr)
    else
    shortplot = undefined
    endif

    if ssignal and lcloud then
    longstop = trailings1

    //drawtext("✘",barindex,high+0.10*atr)coloured(0,250,0)
    else
    longstop = undefined
    endif

    if bsignal and scloud then
    shortstop = trailings1

    //drawtext("✘",barindex,low-0.10*atr)coloured(250,0,0)
    else
    shortstop = undefined

    endif

    endif

    ///////////COLOR CANDLES
    if colorcandle then
    if Lcloud then
    rbar=0
    gbar=210
    bbar=0
    elsif Scloud then
    rbar=255
    gbar=0
    bbar=0
    endif

    ENDIF
    //return mama as "Cloud A" coloured(rcloud,gcloud,bcloud), fama as "Cloud B" coloured(rcloud,gcloud,bcloud), Trailings1 as "PP line" coloured(rcloud,gcloud,bcloud)
    //return a*src as "a*src",(1-a) as "1-a"

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
Faisalx ChatGPT Hola Iván. Gracias por tu excelente trabajo. Te agradecería si pudieras echarle un...
Iván ok, perfecto! me pongo con ello
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, Pensez vous pouvoir répondre à ma question posée ci dessus? Ce serait vraiment tr...
Iván Bonjour L'ensemble de l'indicateur est alimenté à partir de la ligne 9 avec la définition d...
kats BONSOIR c bon merci j ai trouve ce weekend merci de votre reponse cdlt
Gaspare Ciao Ivan si puo' inserire una strategia su questo indicatore per ottimizzare le variabil...
Iván
3 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,...
P. Marlowe Quite an impressive work, Iván. Extremely useful and accurate. Congratulations. Keep it up¡
lkiklkik i love it !!! thanks.
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
4 months ago
Iván I personally like it in daily timeframe
oliTR Many thanks Ivan, I copy/paste your code to try it but could only get a constant stable unif...
Iván Hi, I've copied the code above and it works... what asset are you trying? $indices array ...
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
5 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
5 months ago
ARLEQUIN49 Hello Ivan, Would it be possible to convert the code of this QQE MOD indicator which accomp...
ARLEQUIN49 here is the code: //@version=4 //By Glaz, Modified // study("QQE MOD") RSI_Period = i...
Iván Hi, Yes I can translate it but please, create a new topic for it.
Fgats quelques explications en Français ici : Some explanations in French here : https://www.p...
Nicolas Merci pour cette contribution, j'apprécie ! :)
Fgats Merci Nicolas pour ces encouragements et merci aussi pour le commentaire en Anglais accompa...
Nicolas Oui on peut même jusqu'au 1 seconde.
InTrouble Entendu, merci. Mais pas en tick, c'est bien çà?
pdrh Bonjour WE ARE SOCIETY,Vous optimisez toujours votre Algo chaque
Alai-n I really like it when you develop ideas around price movement! I am much less a fan of all t...

Top