ctid4935132
ctid4935132's avatar

Info

Username:ctid4935132
Name:ctid4935132
Member since: 22 Sep 2022

About

None

Signature

None
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.
ZIGNALE OSCILLATOR
  2
  0
  46
free  23 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.         //---- alfa = 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 : alfa*a+(1-alfa)*nz(b[1],a) c := a < alpha*a+(1-alpha)*nz(c[1],a) ? a : alfa*a+(1-alfa)*nz(c[1],a)         os := a == b ? 1 : a == c ? 0 : os[1]         //---- superiore = beta*b+(1-beta)*c inferiore = beta*c+(1-beta)*b         ts := os*upper+(1-os)*lower risultato := ts     if type=="LSMA" risultato := linreg(src, len, 0) if type=="SMA" // Semplice risultato := sma(src, len) if type=="EMA" // Esponenziale risultato := ema(src, len) if type=="DEMA" // Doppio esponenziale         e = ema(src, len) risultato := 2 * e - ema(e, len) if type=="TEMA" // Triplo esponenziale         e = ema(src, len) risultato := 3 * (e - ema(e, len)) + ema(ema(e, len), len) if type=="WMA" // Ponderato risultato := wma(src, len)     if type=="VAMA" // Volatility Adjusted Copyright © dal 2019 ad oggi, Joris Duyck (JD) mid=ema(src;len)         dev=src-mid vol_up=più alto(dev;volatility_lookback) vol_down=più basso(dev;volatility_lookback) risultato := medio+media(vol_up,vol_down) if type=="HMA" // Scafo risultato := wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len)))     if type=="JMA" // Jurik Copyright © 2018 Alex Orekhov (everget) Copyright © 2017 Jurik Ricerca e consulenza.         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 - alfa) * src + alfa * 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]) risultato := jma se tipo=="Kijun v2"         kijun = avg(lowest(len), highest(len))//, (open + close)/2)         conversionLine = avg(lowest(len/kidiv), highest(len/kidiv))         delta = (kijun + conversionLine)/2 risultato :=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)) risultato :=mg se tipo=="EDSMA"     zero = src - nz(src[2]) avgZeros = (zeri + zeri[1]) / 2         Filtro Ehlers Super Smoother         ssf = ssfPoles == 2              ? get2PoleSSF(avgZeros, ssfLength)              : get3PoleSSF(avgZeros, ssfLength)         Filtro di riscalata in termini di deviazioni standard         stdev = stdev(ssf, len)         scaledFilter = stdev != 0              ? ssf / stdev              : 0         alfa = 5 * abs (scaledFilter) / len         edsma = 0,0 edsma := alfa * src + (1 - alfa) * nz(edsma[1]) risultato := edsma risultato     SSL 1 e SSL2 emaHigh = ma(maType, high, len) emaLow = ma(maType, low, len)   maHigh = ma(SSL2Type, high, len2) maLow = ma(SSL2Type, low, len2)   USCITA ExitHigh = ma(SSL3Type, high, len3) ExitLow = ma(SSL3Type, low, len3)   Canale di base Keltner 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 : alto - basso rangema = ema(range, len) upperk = Keltma + rangema * multy lowerk = Keltma - rangema * multy   Candela di violazione della linea di base open_pos = aperto*1 close_pos = chiudi*1 differenza = abs(close_pos-open_pos) atr_violation = differenza > atr_slen InRange = bbMC upper_band > e BBMC lower_band < candlesize_violation = atr_violation e InRange plotshape(candlesize_violation, color=color.white, size=size.tiny,style=shape.diamond, location=location.top, transp=0,title="Candle Size > 1xATR")   VALORI SSL1 Hlv = int(na) Hlv := close > emaHigh ? 1 : chiudi < emaLow ? -1 : Hlv[1] sslDown = Hlv < 0 ? emaHigh : emaLow   VALORI SSL2 Hlv2 = int(na) Hlv2 := close > maHigh ? 1 : chiudi < maLow ? -1 : Hlv2[1] sslDown2 = Hlv2 < 0 ? maHigh : maLow   VALORI DI USCITA Hlv3 = int(na) Hlv3 := vicino > ExitHigh ? 1 : chiudi < 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 = trama(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)   Continiuation SSL2 da ATR atr_crit = input(0.9, step=0.1, title="Criteri ATR di continuazione") upper_half = atr_slen * atr_crit + chiudi lower_half = chiudi - atr_slen * atr_crit buy_inatr =  lower_half < sslDown2 sell_inatr = upper_half > sslDown2 sell_cont = chiudi < BBMC e chiudi < sslDown2 buy_cont = chiudi > BBMC e chiudi > sslDown2 sell_atr = sell_inatr e 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
  0
  0
  25
free  23 Sep 2022
//@version=4 //By Glaz, Modified // study("QQE MOD") RSI_Period = input(6, title='RSI Length') SF = input(5, title='RSI Smoothing') QQE = input(3, title='Fast QQE Factor') ThreshHold = input(3, title="Thresh-hold") //   src = input(close, title="RSI Source") //   // Wilders_Period = RSI_Period * 2 - 1   Rsi = rsi(src, RSI_Period) RsiMa = ema(Rsi, SF) AtrRsi = abs(RsiMa[1] - RsiMa) MaAtrRsi = ema(AtrRsi, Wilders_Period) dar = ema(MaAtrRsi, Wilders_Period) * QQE   longband = 0.0 shortband = 0.0 trend = 0   DeltaFastAtrRsi = dar RSIndex = RsiMa newshortband = RSIndex + DeltaFastAtrRsi newlongband = RSIndex - DeltaFastAtrRsi longband := RSIndex[1] > longband[1] and RSIndex > longband[1] ?    max(longband[1], newlongband) : newlongband shortband := RSIndex[1] < shortband[1] and RSIndex < shortband[1] ?    min(shortband[1], newshortband) : newshortband cross_1 = cross(longband[1], RSIndex) trend := cross(RSIndex, shortband[1]) ? 1 : cross_1 ? -1 : nz(trend[1], 1) FastAtrRsiTL = trend == 1 ? longband : shortband ////////////////////   length = input(50, minval=1, title="Bollinger Length") mult = input(0.35, minval=0.001, maxval=5, step=0.1, title="BB Multiplier") basis = sma(FastAtrRsiTL - 50, length) dev = mult * stdev(FastAtrRsiTL - 50, length) upper = basis + dev lower = basis - dev color_bar = RsiMa - 50 > upper ? #00c3ff : RsiMa - 50 < lower ? #ff0062 : color.gray   // // Zero cross QQEzlong = 0 QQEzlong := nz(QQEzlong[1]) QQEzshort = 0 QQEzshort := nz(QQEzshort[1]) QQEzlong := RSIndex >= 50 ? QQEzlong + 1 : 0 QQEzshort := RSIndex < 50 ? QQEzshort + 1 : 0 //     Zero = hline(0, color=color.white, linestyle=hline.style_dotted, linewidth=1)   ////////////////////////////////////////////////////////////////   RSI_Period2 = input(6, title='RSI Length') SF2 = input(5, title='RSI Smoothing') QQE2 = input(1.61, title='Fast QQE2 Factor') ThreshHold2 = input(3, title="Thresh-hold")   src2 = input(close, title="RSI Source") //   // Wilders_Period2 = RSI_Period2 * 2 - 1   Rsi2 = rsi(src2, RSI_Period2) RsiMa2 = ema(Rsi2, SF2) AtrRsi2 = abs(RsiMa2[1] - RsiMa2) MaAtrRsi2 = ema(AtrRsi2, Wilders_Period2) dar2 = ema(MaAtrRsi2, Wilders_Period2) * QQE2 longband2 = 0.0 shortband2 = 0.0 trend2 = 0   DeltaFastAtrRsi2 = dar2 RSIndex2 = RsiMa2 newshortband2 = RSIndex2 + DeltaFastAtrRsi2 newlongband2 = RSIndex2 - DeltaFastAtrRsi2 longband2 := RSIndex2[1] > longband2[1] and RSIndex2 > longband2[1] ?    max(longband2[1], newlongband2) : newlongband2 shortband2 := RSIndex2[1] < shortband2[1] and RSIndex2 < shortband2[1] ?    min(shortband2[1], newshortband2) : newshortband2 cross_2 = cross(longband2[1], RSIndex2) trend2 := cross(RSIndex2, shortband2[1]) ? 1 : cross_2 ? -1 : nz(trend2[1], 1) FastAtrRsi2TL = trend2 == 1 ? longband2 : shortband2   // // Zero cross QQE2zlong = 0 QQE2zlong := nz(QQE2zlong[1]) QQE2zshort = 0 QQE2zshort := nz(QQE2zshort[1]) QQE2zlong := RSIndex2 >= 50 ? QQE2zlong + 1 : 0 QQE2zshort := RSIndex2 < 50 ? QQE2zshort + 1 : 0 //     hcolor2 = RsiMa2 - 50 > ThreshHold2 ? color.silver :    RsiMa2 - 50 < 0 - ThreshHold2 ? color.silver : na plot(FastAtrRsi2TL - 50, title='QQE Line', color=color.white, transp=0, linewidth=2) plot(RsiMa2 - 50, color=hcolor2, transp=50, title='Histo2', style=plot.style_columns)   Greenbar1 = RsiMa2 - 50 > ThreshHold2 Greenbar2 = RsiMa - 50 > superiore   Redbar1 = RsiMa2 - 50 < 0 - ThreshHold2 Redbar2 = RsiMa - 50 < inferiore trama(Greenbar1 e Greenbar2 == 1 ? RsiMa2 - 50 : na, title="QQE Up", style=plot.style_columns, color=#00c3ff, transp=0) trama(Redbar1 e Redbar2 == 1 ? RsiMa2 - 50 : na, title="QQE Down", style=plot.style_columns, color=#ff0062, transp=0)  
hhhhpp
  0
  0
  28
free  23 Sep 2022
using cAlgo.API; using cAlgo.API.Indicators;   namespace cAlgo.Indicators {     [Levels(0)]     [Indicator(AccessRights = AccessRights.None)]     public class ElliotOscillator : Indicator     {         private SimpleMovingAverage _fastSma;         private SimpleMovingAverage _slowSma;         private SimpleMovingAverage _sma100;         private SimpleMovingAverage _sma200;         private SimpleMovingAverage _sma20;           private double _d;         private bool _upTrend;         private bool _neutral;         private IndicatorDataSeries _elliot;             [Parameter]         public DataSeries Source { get; set; }           [Parameter("FastPeriod", DefaultValue = 5)]         public int FastPeriod { get; set; }                   [Parameter("SlowPeriod", DefaultValue = 34)]         public int SlowPeriod { get; set; }           [Output("UpTrend", Color = Colors.Green, PlotType = PlotType.Histogram, Thickness = 2)]         public IndicatorDataSeries UpTrend { get; set; }         [Output("DownTrend", Color = Colors.Red, PlotType = PlotType.Histogram, Thickness = 2)]         public IndicatorDataSeries DownTrend { get; set; }         [Output("Neutral", Color = Colors.Gray, PlotType = PlotType.Histogram, Thickness = 2)]         public IndicatorDataSeries Neutral { get; set; }                   [Output("Line", Color = Colors.Red)]         public IndicatorDataSeries Line { get; set; }           protected override void Initialize()         {             _fastSma = Indicators.SimpleMovingAverage(Source, FastPeriod);             _slowSma = Indicators.SimpleMovingAverage(Source, SlowPeriod);             _sma100 = Indicators.SimpleMovingAverage(Source, 100);             _sma200 = Indicators.SimpleMovingAverage(Source, 200);             _sma20 = Indicators.SimpleMovingAverage(Source, 20);             _elliot = CreateDataSeries();           }         public override void Calculate(int index)         {             if (index < 3)                 return;               _elliot[index] = _fastSma.Result[index] - _slowSma.Result[index];             Line[index] = _fastSma.Result[index - 3] - _slowSma.Result[index - 3];               if (_sma100.Result.LastValue > _sma200.Result.LastValue                 && _sma20.Result.LastValue >_sma100.Result.LastValue)             {                 UpTrend[index] = _elliot[index];                 DownTrend[index] = double.NaN;                 Neutral[index] = double.NaN;             }             else if (_sma100.Result.LastValue < _sma200.Result.LastValue                 && _sma20.Result.LastValue < _sma100.Result.LastValue)             {                 DownTrend[index] = _elliot[index];                 UpTrend[index] = double.NaN;                 Neutral[index] = double.NaN;             }             else             {                 Neutral[index] = _elliot[index];                 UpTrend[index] = double.NaN;                 DownTrend[index] = double.NaN;             }         }     } }
hhhhpp
  0
  0
  21
free  23 Sep 2022
using cAlgo.API; using cAlgo.API.Indicators;   namespace cAlgo.Indicators {     [Levels(0)]     [Indicator(AccessRights = AccessRights.None)]     public class ElliotOscillator : Indicator     {         private SimpleMovingAverage _fastSma;         private SimpleMovingAverage _slowSma;         private SimpleMovingAverage _sma100;         private SimpleMovingAverage _sma200;         private SimpleMovingAverage _sma20;           private double _d;         private bool _upTrend;         private bool _neutral;         private IndicatorDataSeries _elliot;             [Parameter]         public DataSeries Source { get; set; }           [Parameter("FastPeriod", DefaultValue = 5)]         public int FastPeriod { get; set; }                   [Parameter("SlowPeriod", DefaultValue = 34)]         public int SlowPeriod { get; set; }           [Output("UpTrend", Color = Colors.Green, PlotType = PlotType.Histogram, Thickness = 2)]         public IndicatorDataSeries UpTrend { get; set; }         [Output("DownTrend", Color = Colors.Red, PlotType = PlotType.Histogram, Thickness = 2)]         public IndicatorDataSeries DownTrend { get; set; }         [Output("Neutral", Color = Colors.Gray, PlotType = PlotType.Histogram, Thickness = 2)]         public IndicatorDataSeries Neutral { get; set; }                   [Output("Line", Color = Colors.Red)]         public IndicatorDataSeries Line { get; set; }           protected override void Initialize()         {             _fastSma = Indicators.SimpleMovingAverage(Source, FastPeriod);             _slowSma = Indicators.SimpleMovingAverage(Source, SlowPeriod);             _sma100 = Indicators.SimpleMovingAverage(Source, 100);             _sma200 = Indicators.SimpleMovingAverage(Source, 200);             _sma20 = Indicators.SimpleMovingAverage(Source, 20);             _elliot = CreateDataSeries();           }         public override void Calculate(int index)         {             if (index < 3)                 return;               _elliot[index] = _fastSma.Result[index] - _slowSma.Result[index];             Line[index] = _fastSma.Result[index - 3] - _slowSma.Result[index - 3];               if (_sma100.Result.LastValue > _sma200.Result.LastValue                 && _sma20.Result.LastValue >_sma100.Result.LastValue)             {                 UpTrend[index] = _elliot[index];                 DownTrend[index] = double.NaN;                 Neutral[index] = double.NaN;             }             else if (_sma100.Result.LastValue < _sma200.Result.LastValue                 && _sma20.Result.LastValue < _sma100.Result.LastValue)             {                 DownTrend[index] = _elliot[index];                 UpTrend[index] = double.NaN;                 Neutral[index] = double.NaN;             }             else             {                 Neutral[index] = _elliot[index];                 UpTrend[index] = double.NaN;                 DownTrend[index] = double.NaN;             }         }     } }
zignale indicator
  1
  0
  37
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
  1
  0
  24
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.')
Warning! Executing cBots downloaded from this section may result in loss of funds. Use them at your own risk.

No uploaded.