Indicators

Notification Publishing copyrighted material is strictly prohibited. If you believe there is copyrighted material in this section you may use the Copyright Infringement Notification form to submit a claim.
How to install
zignale indicator
  1
  0
  60
free  22 Sep 2022
@version=4 Di Mihkel00 Questo script è progettato per il metodo NNFX, quindi è consigliato solo per i grafici giornalieri. Ho provato a implementare alcune regole VP NNFX Questo script ha un SSL / Baseline (è possibile scegliere tra SSL o MA), un SSL secondario per le negoziazioni di continiuation e un terzo SSL per le negoziazioni di uscita. Avvisi aggiunti per le voci baseline, le continuazioni SSL2, le uscite. Baseline ha un'impostazione Keltner Channel per le candele grigie "in zona" Aggiunti diamanti "Candle Size > 1 ATR" dal mio vecchio script con i criteri di essere all'interno dell'intervallo ATR di base. Crediti Strategia causecelebre https://www.tradingview.com/u/causecelebre/ Canale SSL ErwinBeckers https://www.tradingview.com/u/ErwinBeckers/ Medie mobili jiehonglim https://www.tradingview.com/u/jiehonglim/ Le medie mobili generano https://www.tradingview.com/u/everget/ Sceneggiatura di "Molte medie mobili" Fractured https://www.tradingview.com/u/Fractured/ study("SSL Hybrid", overlay=true) show_Baseline = input(title="Show Baseline", type=input.bool, defval=true) show_SSL1 = input(title="Mostra SSL1", type=input.bool, defval=false) show_atr = input(title="Mostra bande ATR", type=input.bool, defval=true) Atr atrlen = input(14, "Periodo ATR") mult = input(1, "ATR Multi", step=0.1) smoothing = input(title="ATR Smoothing", defval="WMA", options=["RMA", "SMA", "EMA", "WMA"])   ma_function(source, atrlen) = > se levigante == "RMA" rma(fonte, atrlen) altro se levigante == "SMA" sma(fonte, atrlen) altro se levigante == "EMA" ema(fonte, atrlen) altro wma(fonte, atrlen) atr_slen = ma_function(tr(true), atrlen) ATR Up/Low Bands upper_band = atr_slen * mult + chiudi lower_band = chiudi - atr_slen * mult   BASELINE / SSL1 / SSL2 / VALORI DI MEDIA MOBILE IN USCITA maType = input(title="SSL1 / Baseline Type", type=input.string, defval="HMA", options=["SMA","EMA","DEMA","TEMA","LSMA","WMA","MF","VAMA","TMA","HMA", "JMA", "Kijun v2", "EDSMA","McGinley"]) len = input(title="SSL1 / Baseline Length", defval=60)   SSL2Type = input(title="SSL2 / Continuation Type", type=input.string, defval="JMA", options=["SMA","EMA","DEMA","TEMA","WMA","MF","VAMA","TMA","HMA", "JMA","McGinley"]) len2 = input(title="SSL 2 Length", defval=5) // SSL3Type = input(title="EXIT Type", type=input.string, defval="HMA", options=["DEMA","TEMA","LSMA","VAMA","TMA","HMA","JMA", "Kijun v2", "McGinley", "MF"]) len3 = input(title="LUNGHEZZA USCITA", defval=15) src = input(title="Source", type=input.source, defval=close)   // tema(src, len) =>     ema1 = ema(src, len)     ema2 = ema(ema1, len)     ema3 = ema(ema2, len)     (3 * ema1) - (3 * ema2) + ema3 kidiv = input(defval=1,maxval=4,  title="Kijun MOD Divider")   jurik_phase = input(title="* Jurik (JMA) Only - Phase", type=input.integer, defval=3) jurik_power = input(title="* Jurik (JMA) Only - Power", type=input.integer, defval=1) volatility_lookback = input(10, title="* Volatility Adjusted (VAMA) Only - Volatility lookback length") Mf beta = input(0.8,minval=0;maxval=1;step=0.1, title="Filtro modulare, solo filtro generale - Beta") feedback = input(false, title="Solo filtro modulare - Feedback") z = input(0.5;title="Modular Filter Only - Feedback Weighting",step=0.1, minval=0, maxval=1) EDSMA · ssfLength = input(title="EDSMA - Super Smoother Filter Length", type=input.integer, minval=1, defval=20) ssfPoles = input(title="EDSMA - Super Smoother Filter Poles", type=input.integer, defval=2, options=[2, 3])   //----   EDSMA · get2PoleSSF(src, lunghezza) = >     PI = 2 * asin(1) arg = sqrt(2) * PI / lunghezza     a1 = exp(-arg)     b1 = 2 * a1 * cos(arg)     c2 = b1     c3 = -pow(a1, 2)     c1 = 1 - c2 - c3     ssf = 0,0     ssf := c1 * src + c2 * nz(ssf[1]) + c3 * nz(ssf[2])   get3PoleSSF(src, lunghezza) = >     PI = 2 * asin(1)   arg = PI / lunghezza     a1 = exp(-arg)     b1 = 2 * a1 * cos(1.738 * arg)     c1 = pow(a1, 2)       coef2 = b1 + c1     coef3 = -(c1 + b1 * c1)     coef4 = pow(c1, 2)     coef1 = 1 - coef2 - coef3 - coef4   ssf = 0,0     ssf := coef1 * src + coef2 * nz(ssf[1]) + coef3 * nz(ssf[2]) + coef4 * nz(ssf[3])   ma(type, src, len) = > risultato float = 0 se tipo=="TMA" risultato := sma(sma(src, ceil(len / 2)), floor(len / 2) + 1)     if type=="MF"         ts=0.,b=0.,c=0.,os=0.         //----         alpha = 2/(len+1)         a = feedback ? z*src + (1-z)*nz(ts[1],src) : src         //----         b := a > alpha*a+(1-alpha)*nz(b[1],a) ? a : alpha*a+(1-alpha)*nz(b[1],a)         c := a < alpha*a+(1-alpha)*nz(c[1],a) ? a : alpha*a+(1-alpha)*nz(c[1],a)         os := a == b ? 1 : a == c ? 0 : os[1]         //----         upper = beta*b+(1-beta)*c         lower = beta*c+(1-beta)*b         ts := os*upper+(1-os)*lower         result := ts     if type=="LSMA"         result := linreg(src, len, 0)     if type=="SMA" // Simple         result := sma(src, len)     if type=="EMA" // Exponential         result := ema(src, len)     if type=="DEMA" // Double Exponential         e = ema(src, len)         result := 2 * e - ema(e, len)     if type=="TEMA" // Triple Exponential         e = ema(src, len)         result := 3 * (e - ema(e, len)) + ema(ema(e, len), len)     if type=="WMA" // Weighted         result := wma(src, len)     if type=="VAMA" // Volatility Adjusted         /// Copyright © 2019 to present, Joris Duyck (JD)         mid=ema(src,len)         dev=src-mid         vol_up=highest(dev,volatility_lookback)         vol_down=lowest(dev,volatility_lookback)         result := mid+avg(vol_up,vol_down)     if type=="HMA" // Hull         result := wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len)))     if type=="JMA" // Jurik         /// Copyright © 2018 Alex Orekhov (everget)         /// Copyright © 2017 Jurik Research and Consulting.         phaseRatio = jurik_phase < -100 ? 0.5 : jurik_phase > 100 ? 2.5 : jurik_phase / 100 + 1.5         beta = 0.45 * (len - 1) / (0.45 * (len - 1) + 2)         alpha = pow(beta, jurik_power)         jma = 0.0         e0 = 0.0         e0 := (1 - alpha) * src + alpha * nz(e0[1])         e1 = 0.0         e1 := (src - e0) * (1 - beta) + beta * nz(e1[1])         e2 = 0.0         e2 := (e0 + phaseRatio * e1 - nz(jma[1])) * pow(1 - alpha, 2) + pow(alpha, 2) * nz(e2[1])         jma := e2 + nz(jma[1])         result := jma     if type=="Kijun v2"         kijun = avg(lowest(len), highest(len))//, (open + close)/2)         conversionLine = avg(lowest(len/kidiv), highest(len/kidiv))         delta = (kijun + conversionLine)/2         result :=delta     if type=="McGinley"         mg = 0.0         mg := na(mg[1]) ? ema(src, len) : mg[1] + (src - mg[1]) / (len * pow(src/mg[1], 4))         result :=mg     if type=="EDSMA"             zeros = src - nz(src[2])         avgZeros = (zeros + zeros[1]) / 2                 // Ehlers Super Smoother Filter         ssf = ssfPoles == 2              ? get2PoleSSF(avgZeros, ssfLength)              : get3PoleSSF(avgZeros, ssfLength)                 // Rescale filter in terms of Standard Deviations         stdev = stdev(ssf, len)         scaledFilter = stdev != 0              ? ssf / stdev              : 0                 alpha = 5 * abs(scaledFilter) / len                 edsma = 0.0         edsma := alpha * src + (1 - alpha) * nz(edsma[1])         result :=  edsma     result     ///SSL 1 and SSL2 emaHigh = ma(maType, high, len) emaLow = ma(maType, low, len)   maHigh = ma(SSL2Type, high, len2) maLow = ma(SSL2Type, low, len2)   ///EXIT ExitHigh = ma(SSL3Type, high, len3) ExitLow = ma(SSL3Type, low, len3)   ///Keltner Baseline Channel BBMC = ma(maType, close, len) useTrueRange = input(true) multy = input(0.2, step=0.05, title="Base Channel Multiplier") Keltma = ma(maType, src, len) range = useTrueRange ? tr : high - low rangema = ema(range, len) upperk =Keltma + rangema * multy lowerk = Keltma - rangema * multy   //Baseline Violation Candle open_pos =  open*1 close_pos = close*1 difference = abs(close_pos-open_pos) atr_violation = difference > atr_slen InRange = upper_band > BBMC and lower_band < BBMC candlesize_violation = atr_violation and InRange plotshape(candlesize_violation, color=color.white, size=size.tiny,style=shape.diamond, location=location.top, transp=0,title="Candle Size > 1xATR")   //SSL1 VALUES Hlv = int(na) Hlv := close > emaHigh ? 1 : close < emaLow ? -1 : Hlv[1] sslDown = Hlv < 0 ? emaHigh : emaLow   //SSL2 VALUES Hlv2 = int(na) Hlv2 := close > maHigh ? 1 : close < maLow ? -1 : Hlv2[1] sslDown2 = Hlv2 < 0 ? maHigh : maLow   //EXIT VALUES Hlv3 = int(na) Hlv3 := close > ExitHigh ? 1 : close < ExitLow ? -1 : Hlv3[1] sslExit = Hlv3 < 0 ? ExitHigh : ExitLow base_cross_Long = crossover(close, sslExit) base_cross_Short = crossover(sslExit, close) codiff = base_cross_Long ? 1 : base_cross_Short ? -1 : na   //COLORS show_color_bar = input(title="Color Bars", type=input.bool, defval=true) color_bar = close > upperk ? #00c3ff : close < lowerk ? #ff0062 : color.gray color_ssl1 = close > sslDown ? #00c3ff : close < sslDown ? #ff0062 : na   //PLOTS plotarrow(codiff, colorup=#00c3ff, colordown=#ff0062,title="Exit Arrows", transp=20, maxheight=20, offset=0) p1 = plot(show_Baseline ? BBMC : na, color=color_bar, linewidth=4,transp=0, title='MA Baseline') DownPlot = plot( show_SSL1 ? sslDown : na, title="SSL1", linewidth=3, color=color_ssl1, transp=10) barcolor(show_color_bar ? color_bar : na) up_channel = plot(show_Baseline ? upperk : na, color=color_bar, title="Baseline Upper Channel") low_channel = plot(show_Baseline ? lowerk : na, color=color_bar, title="Basiline Lower Channel") fill(up_channel, low_channel, color=color_bar, transp=90)   ////SSL2 Continiuation from ATR atr_crit = input(0.9, step=0.1, title="Continuation ATR Criteria") upper_half = atr_slen * atr_crit + close lower_half = close - atr_slen * atr_crit buy_inatr =  lower_half < sslDown2 sell_inatr = upper_half > sslDown2 sell_cont = close < BBMC and close < sslDown2 buy_cont = close > BBMC and close > sslDown2 sell_atr = sell_inatr and sell_cont buy_atr = buy_inatr e buy_cont atr_fill = buy_atr ? color.green : sell_atr ? color.purple : color.white LongPlot = plot(sslDown2, title="SSL2", linewidth=2, color=atr_fill, style=plot.style_circles, transp=0) u = plot(show_atr ? upper_band : na, "+ATR", color=color.white, transp=80) l = plot(show_atr ? lower_band : na, "-ATR", color=color.white, transp=80)   AVVISI alertcondition(crossover(close, sslDown), title='SSL Cross Alert', message='SSL1 has crossed.') alertcondition(crossover(close, sslDown2), title='SSL2 Cross Alert', message='SSL2 has crossed.') alertcondition(sell_atr, title='Vendi continuazione', message='Vendi continuazione.') alertcondition(buy_atr, title='Buy Continuation', message='Buy Continuation.') alertcondition(crossover(close, sslExit), title='Exit Sell', message='Exit Sell Alert.') alertcondition(crossover(sslExit, close), title='Exit Buy', message='Exit Buy Alert.') alertcondition(crossover(close, upperk ), title='Baseline Buy Entry', message='Base Buy Alert.') alertcondition(crossover(lowerk, close ), title='Baseline Sell Entry', message='Base Sell Alert.')
zignale indicator
  2
  0
  43
free  22 Sep 2022
@version=4 Di Mihkel00 Questo script è progettato per il metodo NNFX, quindi è consigliato solo per i grafici giornalieri. Ho provato a implementare alcune regole VP NNFX Questo script ha un SSL / Baseline (è possibile scegliere tra SSL o MA), un SSL secondario per le negoziazioni di continiuation e un terzo SSL per le negoziazioni di uscita. Avvisi aggiunti per le voci baseline, le continuazioni SSL2, le uscite. Baseline ha un'impostazione Keltner Channel per le candele grigie "in zona" Aggiunti diamanti "Candle Size > 1 ATR" dal mio vecchio script con i criteri di essere all'interno dell'intervallo ATR di base. Crediti Strategia causecelebre https://www.tradingview.com/u/causecelebre/ Canale SSL ErwinBeckers https://www.tradingview.com/u/ErwinBeckers/ Medie mobili jiehonglim https://www.tradingview.com/u/jiehonglim/ Le medie mobili generano https://www.tradingview.com/u/everget/ Sceneggiatura di "Molte medie mobili" Fractured https://www.tradingview.com/u/Fractured/ study("SSL Hybrid", overlay=true) show_Baseline = input(title="Show Baseline", type=input.bool, defval=true) show_SSL1 = input(title="Mostra SSL1", type=input.bool, defval=false) show_atr = input(title="Mostra bande ATR", type=input.bool, defval=true) Atr atrlen = input(14, "Periodo ATR") mult = input(1, "ATR Multi", step=0.1) smoothing = input(title="ATR Smoothing", defval="WMA", options=["RMA", "SMA", "EMA", "WMA"])   ma_function(source, atrlen) = > se levigante == "RMA" rma(fonte, atrlen) altro se levigante == "SMA" sma(fonte, atrlen) altro se levigante == "EMA" ema(fonte, atrlen) altro wma(fonte, atrlen) atr_slen = ma_function(tr(true), atrlen) ATR Up/Low Bands upper_band = atr_slen * mult + chiudi lower_band = chiudi - atr_slen * mult   BASELINE / SSL1 / SSL2 / VALORI DI MEDIA MOBILE IN USCITA maType = input(title="SSL1 / Baseline Type", type=input.string, defval="HMA", options=["SMA","EMA","DEMA","TEMA","LSMA","WMA","MF","VAMA","TMA","HMA", "JMA", "Kijun v2", "EDSMA","McGinley"]) len = input(title="SSL1 / Baseline Length", defval=60)   SSL2Type = input(title="SSL2 / Continuation Type", type=input.string, defval="JMA", options=["SMA","EMA","DEMA","TEMA","WMA","MF","VAMA","TMA","HMA", "JMA","McGinley"]) len2 = input(title="SSL 2 Length", defval=5) // SSL3Type = input(title="EXIT Type", type=input.string, defval="HMA", options=["DEMA","TEMA","LSMA","VAMA","TMA","HMA","JMA", "Kijun v2", "McGinley", "MF"]) len3 = input(title="LUNGHEZZA USCITA", defval=15) src = input(title="Source", type=input.source, defval=close)   // tema(src, len) =>     ema1 = ema(src, len)     ema2 = ema(ema1, len)     ema3 = ema(ema2, len)     (3 * ema1) - (3 * ema2) + ema3 kidiv = input(defval=1,maxval=4,  title="Kijun MOD Divider")   jurik_phase = input(title="* Jurik (JMA) Only - Phase", type=input.integer, defval=3) jurik_power = input(title="* Jurik (JMA) Only - Power", type=input.integer, defval=1) volatility_lookback = input(10, title="* Volatility Adjusted (VAMA) Only - Volatility lookback length") Mf beta = input(0.8,minval=0;maxval=1;step=0.1, title="Filtro modulare, solo filtro generale - Beta") feedback = input(false, title="Solo filtro modulare - Feedback") z = input(0.5;title="Modular Filter Only - Feedback Weighting",step=0.1, minval=0, maxval=1) EDSMA · ssfLength = input(title="EDSMA - Super Smoother Filter Length", type=input.integer, minval=1, defval=20) ssfPoles = input(title="EDSMA - Super Smoother Filter Poles", type=input.integer, defval=2, options=[2, 3])   //----   EDSMA · get2PoleSSF(src, lunghezza) = >     PI = 2 * asin(1) arg = sqrt(2) * PI / lunghezza     a1 = exp(-arg)     b1 = 2 * a1 * cos(arg)     c2 = b1     c3 = -pow(a1, 2)     c1 = 1 - c2 - c3     ssf = 0,0     ssf := c1 * src + c2 * nz(ssf[1]) + c3 * nz(ssf[2])   get3PoleSSF(src, lunghezza) = >     PI = 2 * asin(1)   arg = PI / lunghezza     a1 = exp(-arg)     b1 = 2 * a1 * cos(1.738 * arg)     c1 = pow(a1, 2)       coef2 = b1 + c1     coef3 = -(c1 + b1 * c1)     coef4 = pow(c1, 2)     coef1 = 1 - coef2 - coef3 - coef4   ssf = 0,0     ssf := coef1 * src + coef2 * nz(ssf[1]) + coef3 * nz(ssf[2]) + coef4 * nz(ssf[3])   ma(type, src, len) = > risultato float = 0 se tipo=="TMA" risultato := sma(sma(src, ceil(len / 2)), floor(len / 2) + 1)     if type=="MF"         ts=0.,b=0.,c=0.,os=0.         //----         alpha = 2/(len+1)         a = feedback ? z*src + (1-z)*nz(ts[1],src) : src         //----         b := a > alpha*a+(1-alpha)*nz(b[1],a) ? a : alpha*a+(1-alpha)*nz(b[1],a)         c := a < alpha*a+(1-alpha)*nz(c[1],a) ? a : alpha*a+(1-alpha)*nz(c[1],a)         os := a == b ? 1 : a == c ? 0 : os[1]         //----         upper = beta*b+(1-beta)*c         lower = beta*c+(1-beta)*b         ts := os*upper+(1-os)*lower         result := ts     if type=="LSMA"         result := linreg(src, len, 0)     if type=="SMA" // Simple         result := sma(src, len)     if type=="EMA" // Exponential         result := ema(src, len)     if type=="DEMA" // Double Exponential         e = ema(src, len)         result := 2 * e - ema(e, len)     if type=="TEMA" // Triple Exponential         e = ema(src, len)         result := 3 * (e - ema(e, len)) + ema(ema(e, len), len)     if type=="WMA" // Weighted         result := wma(src, len)     if type=="VAMA" // Volatility Adjusted         /// Copyright © 2019 to present, Joris Duyck (JD)         mid=ema(src,len)         dev=src-mid         vol_up=highest(dev,volatility_lookback)         vol_down=lowest(dev,volatility_lookback)         result := mid+avg(vol_up,vol_down)     if type=="HMA" // Hull         result := wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len)))     if type=="JMA" // Jurik         /// Copyright © 2018 Alex Orekhov (everget)         /// Copyright © 2017 Jurik Research and Consulting.         phaseRatio = jurik_phase < -100 ? 0.5 : jurik_phase > 100 ? 2.5 : jurik_phase / 100 + 1.5         beta = 0.45 * (len - 1) / (0.45 * (len - 1) + 2)         alpha = pow(beta, jurik_power)         jma = 0.0         e0 = 0.0         e0 := (1 - alpha) * src + alpha * nz(e0[1])         e1 = 0.0         e1 := (src - e0) * (1 - beta) + beta * nz(e1[1])         e2 = 0.0         e2 := (e0 + phaseRatio * e1 - nz(jma[1])) * pow(1 - alpha, 2) + pow(alpha, 2) * nz(e2[1])         jma := e2 + nz(jma[1])         result := jma     if type=="Kijun v2"         kijun = avg(lowest(len), highest(len))//, (open + close)/2)         conversionLine = avg(lowest(len/kidiv), highest(len/kidiv))         delta = (kijun + conversionLine)/2         result :=delta     if type=="McGinley"         mg = 0.0         mg := na(mg[1]) ? ema(src, len) : mg[1] + (src - mg[1]) / (len * pow(src/mg[1], 4))         result :=mg     if type=="EDSMA"             zeros = src - nz(src[2])         avgZeros = (zeros + zeros[1]) / 2                 // Ehlers Super Smoother Filter         ssf = ssfPoles == 2              ? get2PoleSSF(avgZeros, ssfLength)              : get3PoleSSF(avgZeros, ssfLength)                 // Rescale filter in terms of Standard Deviations         stdev = stdev(ssf, len)         scaledFilter = stdev != 0              ? ssf / stdev              : 0                 alpha = 5 * abs(scaledFilter) / len                 edsma = 0.0         edsma := alpha * src + (1 - alpha) * nz(edsma[1])         result :=  edsma     result     ///SSL 1 and SSL2 emaHigh = ma(maType, high, len) emaLow = ma(maType, low, len)   maHigh = ma(SSL2Type, high, len2) maLow = ma(SSL2Type, low, len2)   ///EXIT ExitHigh = ma(SSL3Type, high, len3) ExitLow = ma(SSL3Type, low, len3)   ///Keltner Baseline Channel BBMC = ma(maType, close, len) useTrueRange = input(true) multy = input(0.2, step=0.05, title="Base Channel Multiplier") Keltma = ma(maType, src, len) range = useTrueRange ? tr : high - low rangema = ema(range, len) upperk =Keltma + rangema * multy lowerk = Keltma - rangema * multy   //Baseline Violation Candle open_pos =  open*1 close_pos = close*1 difference = abs(close_pos-open_pos) atr_violation = difference > atr_slen InRange = upper_band > BBMC and lower_band < BBMC candlesize_violation = atr_violation and InRange plotshape(candlesize_violation, color=color.white, size=size.tiny,style=shape.diamond, location=location.top, transp=0,title="Candle Size > 1xATR")   //SSL1 VALUES Hlv = int(na) Hlv := close > emaHigh ? 1 : close < emaLow ? -1 : Hlv[1] sslDown = Hlv < 0 ? emaHigh : emaLow   //SSL2 VALUES Hlv2 = int(na) Hlv2 := close > maHigh ? 1 : close < maLow ? -1 : Hlv2[1] sslDown2 = Hlv2 < 0 ? maHigh : maLow   //EXIT VALUES Hlv3 = int(na) Hlv3 := close > ExitHigh ? 1 : close < ExitLow ? -1 : Hlv3[1] sslExit = Hlv3 < 0 ? ExitHigh : ExitLow base_cross_Long = crossover(close, sslExit) base_cross_Short = crossover(sslExit, close) codiff = base_cross_Long ? 1 : base_cross_Short ? -1 : na   //COLORS show_color_bar = input(title="Color Bars", type=input.bool, defval=true) color_bar = close > upperk ? #00c3ff : close < lowerk ? #ff0062 : color.gray color_ssl1 = close > sslDown ? #00c3ff : close < sslDown ? #ff0062 : na   //PLOTS plotarrow(codiff, colorup=#00c3ff, colordown=#ff0062,title="Exit Arrows", transp=20, maxheight=20, offset=0) p1 = plot(show_Baseline ? BBMC : na, color=color_bar, linewidth=4,transp=0, title='MA Baseline') DownPlot = plot( show_SSL1 ? sslDown : na, title="SSL1", linewidth=3, color=color_ssl1, transp=10) barcolor(show_color_bar ? color_bar : na) up_channel = plot(show_Baseline ? upperk : na, color=color_bar, title="Baseline Upper Channel") low_channel = plot(show_Baseline ? lowerk : na, color=color_bar, title="Basiline Lower Channel") fill(up_channel, low_channel, color=color_bar, transp=90)   ////SSL2 Continiuation from ATR atr_crit = input(0.9, step=0.1, title="Continuation ATR Criteria") upper_half = atr_slen * atr_crit + close lower_half = close - atr_slen * atr_crit buy_inatr =  lower_half < sslDown2 sell_inatr = upper_half > sslDown2 sell_cont = close < BBMC and close < sslDown2 buy_cont = close > BBMC and close > sslDown2 sell_atr = sell_inatr and sell_cont buy_atr = buy_inatr e buy_cont atr_fill = buy_atr ? color.green : sell_atr ? color.purple : color.white LongPlot = plot(sslDown2, title="SSL2", linewidth=2, color=atr_fill, style=plot.style_circles, transp=0) u = plot(show_atr ? upper_band : na, "+ATR", color=color.white, transp=80) l = plot(show_atr ? lower_band : na, "-ATR", color=color.white, transp=80)   AVVISI alertcondition(crossover(close, sslDown), title='SSL Cross Alert', message='SSL1 has crossed.') alertcondition(crossover(close, sslDown2), title='SSL2 Cross Alert', message='SSL2 has crossed.') alertcondition(sell_atr, title='Vendi continuazione', message='Vendi continuazione.') alertcondition(buy_atr, title='Buy Continuation', message='Buy Continuation.') alertcondition(crossover(close, sslExit), title='Exit Sell', message='Exit Sell Alert.') alertcondition(crossover(sslExit, close), title='Exit Buy', message='Exit Buy Alert.') alertcondition(crossover(close, upperk ), title='Baseline Buy Entry', message='Base Buy Alert.') alertcondition(crossover(lowerk, close ), title='Baseline Sell Entry', message='Base Sell Alert.')
VWAP Midas Buttons
  0
  0
  163
free  13 Sep 2022
Just a VWAP Midas with 5 Buttons in 1 indicator See also -->> TPO Profile <<-- See also -->> Weis & Wyckoff System <<-- Usage: Create VWAP: Click on button and select the bar for VWAP Remove VWAP: Click the button again when it is activated. VWAP will be updated with each new bar
Heikin MACD
  1
  0
  173
free  12 Sep 2022
Salam, Heikin Ashi with macd    
TPO Profile
  7
  0
  312
free  10 Sep 2022
 It is VISUALLY BASED on the best TPO/Market Profile for MT4 (riv-ay-TPOChart.v102-06 and riv-ay-MarketProfileDWM.v131-2) See also -->> Weis & Wyckoff System <<-- It's probably the second Free/Open-Source Market Profile you'll find for cTrader without having to Pay/Trial or allow full access without knowing what it's doing... The first is Market Profile of EarnForex for cTrader which my notebook doesn't run very well, so I made this TPO Profile, which runs like a charm :) This has almost all the functionality of the riv-ay-TPOChart.v102-06 it was based on, plus a few things I added: Preset Settings: Optimized for most assets (Currencies/Metals/Indices) focusing on Precision/Performance Balance, and of course it's not possible to cover everything, but you can Customize if you need to. Presets from 1m to 3 days (Timeframe) TPO Divided into Colums: Just like in the books. Custom TPO Interval/rowHeight: - Want more accuracy at the cost of more processing or just a custom TPO? You can have both. Low Resource Usage: Despite being made to run on a Celeron 1.50hz, still use common sense when customizing the TPO. Tip: Value Area disabled and LineStyle=Solid givens High Performance Lots of color choices - Default is optimized for black background Set your cTrader Timezone to GMT+3 if you want to sync the cTrader's Period Separator with TPO Session. (GMT+3 is the same timezone of MT4 on most brokers) =================== UPDATE ======================= Added POC Migration Fixed critical issue: An Empty field occurred when a new lowest was formed during the Live Market Session. This fix changed the entire vital structure of code and increased CPU usage while in Live Market, to lessen the impact of this on performance, the TPO will be updated when the price moves half of the defined rowHeight Some minor improvements ===  Want to make a donation? === You can do it on: -->>> Donation Link <<<-- All parameters are self-explanatory. The colors of the white background images are not the default, the colors that come by default are for a black background (First image) To see the images clearly, right click inside the image and open in new tab Letters Style Squares Style Pseudo Histogram Style
RSI on Chart
  2
  0
  234
by mfejza
free  04 Sep 2022
Show RSI indicator on chart (in Pips)
by mfejza
free  19 Sep 2022
This custom indicator is a combination of TrendValue (https://ctrader.com/algos/indicators/show/3070) indicator and RVI (Relative Vigor Index) The TrendValue indicator are used to identify trading zones for long and short trades (green and red dots) the RVI indicator is used to identify the trade StopLoss based in low and high indicator values (+0.2; -0.2)
Engulfing Candles
  8
  5
  247
free  09 Sep 2022
An engulfing candle pattern consists of two candles, with the current 'engulfing' the previous one. In other words, the body of the current candle is larger than the previous, such that the body of the previous candle would fit inside the current one. This pattern can indicate a sudden increase in pressure from one side of the market onto the other, especially at the end of the trend, and can be used as a confluence for a trend reversal. This indicator draws arrows onto the chart to show when engulfing candles occur, with each arrow coloured appropriately.  Improvements are needed on the positioning of the arrows. Initially, this was all okay on all the pairs I tested, however, due to not re-loading the indicator, it was not re-drawing as expected. I'm sure I'll fix this at some point. Credit goes to ctid306377 for their original Candlestick Patterns DEMO indicator - code snippets were adapted from this indicator. However, the full Candlestick Patterns indicator is more comprehensive and offers all candlestick patterns plus additional information and text options, and is available for purchase from ctid306377 (have a look at the indicator page if you're interested). Usage in cBots: • To use with cBots, declare the EngulfingCandles indicator in your class body (class scope, outside of a method body): private EngulfingCandles _engulfingCandles { get; set; } • Then instantiate inside your OnStart() method: _engulfingCandles = Indicators.GetIndicator<EngulfingCandles>(); • Finally, to reference the last engulfing candle, either in your OnTick() or OnBar() method, access the DataSeries 'PatternData' using the appropriate method calls, e.g. PatternData.LastValue or PatternData.Last(0), for instance: var bull = PatternData.Last(0) == 1 ? true : false; Changelog: - 31/08/2022: Added option to store (keep) last engulfing result in PatternData. Use this if your strategy relies on looking up the last engulfing result (not necessarily on last bar close). - 09/09/2022: Changed 'Bull' to 1 and 'Bear' to 0 inside the Enum. Chartshot: AUDCAD, M1  
paid  28 Aug 2022
Customizable on the go workspace for everyday trading. It makes chart interactions a bit more comfortable, efficient and good looking. - Automated Fibonacci Builder | Tracer | Alerts - Economic Calendar Voice Alerts - Stats | Positions Break-Even | Profit Loss - Scale - Quick Entries with Automatic Volume Calculator - cTrader - Telegram Alerts Bot - and so on, it's a long story My English is not so good, but I've recorded a video overview + a bit more details at my site www.coderias.com/p/ctrader-power-toys.html     Source code is not public. You can download this tool from my website only :  Coderias.com  There is no other way to save copyrights.   ***   Please do not write comments\questions here - I will not see it. U can use chat at my site or contact me directly via Telegram t.me/CoderiasCom   ***   Have a nice day, and hello from Ukraine, Lviv. Якщо ти з України, или русскоязычный, но не Zомби - >  t.me/CoderiasCom        
free  10 Sep 2022
[Renko] Weis & Wyckoff System showcases the concepts of David H. Weis and Richard Wyckoff on Renko Chart See also -->> TPO Profile <<-- Explanation of system components To see the images clearly, right click inside the image and open in new tab It's just a way of visualizing the Waves and Volume numerically, it's not an original idea. You can find this way of visualization first at (David Weis on Wyckoff | Support/Resistance | and Waves, most recent Weis on Wyckoff Renko Charts - Linda Raschke) This uses the code concepts of (Numbers-Renko 数字練行足 in PineScript), Cheers to the akutsusho!. I improved it and brought it to cTrader/C#... and it's Free also open-source. I added many other features based on the original design and my personal taste, like: Make your favorite design template yourself: 14 design/info parameters with a total of 32 sub-options Non-Repaint and Repaint Weis Waves Option: You can choose whether to see the Current Trend Wave value. Dynamic TimeLapse: Time Waves showed the difference in milliseconds, seconds, minutes, hours, days! And Many Others... To better understand what you're seeing, search for books written by David H. Weis, Richard Wyckoff or their equivalents; (like "Trades about to happen" by David Weis) You need to download .algo file because it have just 1800 lines of code... For Better Performance, recompile it on cTrader with .NET 6.0 instead .NET 4.x ==================================================           Transcribed & Improved for cTrader/C#                               by srlcarlg    Original Code Concepts in TradingView/Pinescript                            by akutsusho ================================================== Design Examples To see the images clearly, right click inside the image and open in new tab ===  Want to make a donation? === You can do it on: -->>> Donation Link <<<-- ===  UPDATE === 23/08/2022 - Now you can see Renko's Current Time during his Formation when the price is updated Redundant code removed from "Custom Load From" which generated error in previous version of cTrader (v4.0 or 4.1), the functionality still works. === References: === I couldn't have done this so quickly if it weren't for the contribution to the cTrader Community by these People/Indicators: Wyckoff Component: I had done it before (Volume for Renko/Range and Renko Wicks) Weis Waves Component: (Swing Gann by TraderExperto) helped a lot in the structure to calculation Waves (ZigZag by mike.ourednik) shortened the Waves Vital Code Visit the TraderExperto Community: https://t.me/ComunidadeCtrader  <<-- Grupo CTrader em Português   ====================================== Parameters ====================================== ----- [Renko] Weis & Wyckoff System ----- ● Load From: {Today, Yesterday, 1 Week, 2 Week, Monthly} ● Custom (dd/mm/yyyy): Custom Date if Load From(Custom)      Load From is the Date to load Previous Historical Ticks Data, all data will be stored in memory and will be used in any Renko timeframe selected in the chosen Symbol.      if Custom (dd/mm/yyyy) runs with wrong value, it will use the existing data available in the chart..      The initial size allocated in memory will depend on how far from the current date "Load From" was set, as well as the past number of ticks updates, of couse. ● Show Wicks: The name explains itself ● Wicks Thickness: The name explains itself ----- Numerical Renko Bars ----- ● Show Numbers: {Both, Volume, Time}       The data to show in a Renko Bar ● Numbers Color: {Volume, Time, CustomColor}       The data to Color the Numbers in a Renko Bar ● CustomColor: Custom Color if Numbers Color(Custom) ● Numbers Both Sequence: {Default, Invert} ● Numbers Bar Position: {Inside, Outside}       Numbers Inside or Outside Bar ● Show Only Large Numbers: The name explains itself ● Volume Digits View: {All, 3_Digits, 4_Digits}       Designed for Forex currencies, this will remove the last number from the total number until the digits are <= x ----- Renko Bars Color ----- ● Bars Color: {Volume, Time}       The data to color a Renko Bar ● Fill Renko Bars?: The name explains itself ● Keep Bull/Bear Outline?: The name explains itself ----- Waves Information ----- ● Show Waves: {No, Both, Volume, Effort vs Result}       The data to show in a Wave ● Show Other Waves: {No, Both, Price, Time}       The Another Data to Show in a Wave ● Show Comparisons Marks: {No, Both, Left, Right}        Comparison marks follows the equation         Left = current Wave > Previous Wave of Same Direction then ⮝ else ⮟ (Invert the arrows to Bear Wave)        Right = current Wave > Previous Wave then ???? else ???? (Invert the arrows to Bear Wave) ● Show Current Wave: {No, itsRepaint}        No = Information will be displayed 1 Bars after End of Wave        itsRepaint = Information will be shown every New Bar        ATTENTION: Currently, itsRepaint mode breaks the logic of Comparisons Marks, so use it preferably without CM ● Bull Wave Color: The name explains itself ● Bear Wave Color: The name explains itself ----- Waves Ratio ----- ● Effort vs Result Ratio: 1.5 ● Large Weis Waves Ratio: 1.5 ● Large WW/EvsR Color: The name explains itself       The 'Ratio' is for large WW/EvsR and follows this equation:       ((Sum of 4 previous Waves and current Wave) / 5 * Ratio) < current Wave then LargeColor ----- MA for Numbers/Bar Colors ----- ● MA Filter Type: EMA ● MA Filter Period: 5         MA Filter for Large Numbers ----- Trend Line Settings----- ● Show TrendLines?: The name explains itself ● NoTrend Line Color: The name explains itself ● BullTrend Line Color: The name explains itself ● BearTrend Line Color: The name explains itself Anyway, cTrader needs more powerful and free custom indicators to be used by more people than other trading platforms. 
Zoom With Mouse Wheel
  7
  0
  290
free  17 Aug 2022
  Zoom with Mouse Wheel for Ctrader  This tool helps you zoom in / out  on the chart with the mouse wheel be successful and profitable .   Copyright reserved for RTG trading group , 2022 , 
Spread Info v 2.0
  8
  0
  280
free  10 Aug 2022
Spread Info ·Actualización 1.2: Se añade el Broker con el que trabajamos y se cambia de sitio el spread para que se vea más estético. ·Actualización 2.0: Se añade la opción de que el texto cambie de color cuando el spread sea mayor que el valor indicado. Este indicador nos muestra información sobre el gráfico en el que nos encontramos, su timeframe, spread y broker. Podemos hacer que el texto cambie su color en modo de alerta para saber facilmente, cuando el spread es mayor de lo que nos gustaría. -PARAMETROS- ·Ver: "Si" para ver los datos en el gráfico, "No" para no verlo. ·Aviso: "Si" para verlo con la opción de cambio de color, "No" para verlo sin aviso. ·Color: Color del texto. ·Color aviso: Color del texto en el caso de que el spread sea mayor que el limite marcado (limite spread). ·Limite spread: A partir de este número, el texto se pondrá del color seleccionado en "Color aviso". ·Zona horizontal: Lugar en el gráfico en el que aparecerá el texto en el eje x. ·Zona vertical: Lugar en el gráfico en el que aparecerá el texto en el eje y. Que más te gustaría que aportara este indicador? Déjalo en los comentarios para tenerlo en cuenta cuando lo actualice! Si le gusta mi trabajo y esfuerzo, considere hacer una amable donación a través de PayPal para ayudarme a crecer y mejorar: DONA