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 • 02/12/2024 #

    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 • 02/12/2024 #

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

  3. Raspete01 • 02/12/2024 #

    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 avatar avatar
Related users ' posts
Jiacky mma = average[per,1](close) should be mma = average[per,1](close * 1000). Otherwise TDF will...
bolsatrilera Hi Nicolas, I have this version of the True Balance Power ,created by eykpunter on Tradingvi...
bolsatrilera and the code : REM TRUE BALANCE OF POWER // código original de eykpunter para la plataform...
Steven Bahia Hi Nicolas - great indicator - is there a way to place a alert when the Oscillator crosses ...
Nicolas Alerts can't be programmed, you have to set them yourself with the Alert tool of the platfor...
Steven Bahia just to add to this would there be a way to establish a entry price from the Oscillator
juanj And the point of violation is the close of the candle that violates the line by generating a...
juanj For the latest version of the strategy or to follow updates and developments see the thread ...
phanz i backtested it with 10K units of EURUSD 1 hour i get an equity curve that is going one way ...
Wing Not yet but I plan to.
Leo Have a look in this Forum, I got something interesting for you... https://www.prorealcode.co...
Dávid Gyalus Dear Wing, As I am a daytrader, and one of my best friend is a programmer we think your a...
EchnatonX Hallo Im Demomodus bei IG habe ich das Problem, dass oft keine Orders ausgeführt werden kön...
Jan EchnatonX, nice late answer of me: Make the stop loss a percentage of the close, like 100/...
guleny Hello I made some optimization to make it better. But there are 5 transacttion which incr...
stratobast Good afternoon everyone. Thanks Doctrading for your work. I have an issue while using this ...
stratobast My bad guys. I understood what was the problem. The indicator uses highs and lows for the Re...
samwarduk Has anyone tried this on Bitcoin GBP1? The results look amazing but every time mine trie...
Kris75 Hi Bolsatrilera, I love this indicator! Thanks; => did you develop a strategy around...
Doctrading AH ok, I think the ca3 is the same : ca3 = pB[1] < 0.2 and pB < 0.2 Best regards,
chromosome21 Hello everybody, First, thank you so much for all your advices, I'm a begginer in trading a...
bertrandpinoy bonjour j ai un probleme avec ce code modifié, apparement PRT ne veut pas...avez vous une so...
rispardin no entiendo como funciana este indicador, por favor alguien podria explicar como utilizarlo???
AVT No se trata de un solo indicador, pero cada linea muestra otra información, de abajo hacia ...
IV Mcm Your indicator is interesting, I evaluated its relevance with the squeeze to detect the phas...
Kris75 Hi Gabri I launched a very simple strategy based on the 3 bars trailing stop that you cre...
TimDeCat Hi. Has anyone coded a version that you could alter it to say 5 bar trailing stop? ie make ...
Nicolas Please open a new topic in forums so we can code it there, thanks.
finplus bonjour, il y a un problème à la fin du code avec elsif (close 0 then ... ne manque t il pas...
kj1988 Hello Nicolas, thank you for this useful indicator. Could you tell me how I can remove the...
Nicolas remove lines 101 to 103
GraHal Yes sorry, I set up a link to a screen shot on my google drive and then I got locked into th...
gabri Here's the thread https://www.prorealcode.com/topic/multiframe-rsi-of-rsi/
Bernard13 Bonjour Nicolas, Pourriez-vous m'indiquer si cet indicateur fonctionne avec la V11 ? Le di...
HeikinAshi Do you have an update of this indicator since you've created them, or is this still the actu...
mcha Thank you for this work. Do you try to transform/put this indicator on candlesticks and is ...
David Balance thanks for sharing this excellent indicator.  Here are some thoughts.  please ad...
reb Hello Marc your strat seems very intersting, will take a look Reb
897148 What exactly is meant by Total price? Is r1 =28 in your example the no of days for "Total P...
otty82  THX looks good!
century nice one , thank you
arvindrao01 Hey! Does anyone have a pinescript (tradingview) code for this?
imokdesign Hi Everybody, when I look at the strategy I felt the need to implement a Moneymanagement-Sy...
Inertia newlevel then multiplier=multiplier+1 oldlevel=newlevel newlevel=strategyprofit+startequi...
Inertia Hi Bjoern, I was playing around with your code this morning (EUR/USD 5'). Thank you to the...
CavalierDeCesDames Bonjour Nicolas, Thanks for your use full job. I tried this indicator on a shorter timefram...
Nicolas You are welcome. I'm glad you like it.
Bolbo It does not appear over the price indicator on V11. Thanks in advance.
bearbull As per PhilipSchultz question above, has anybody managed to add code for when it turns blue,...
Ybr35 Bonjour Nicolas, lorsque je lance l'indicateur, il m'est indiqué que je dois définir les var...
Nicolas L'idéal est de télécharger le fichier itf joint sur cette page et de l'importer dans la plat...

Top