Ferramentas do usuário

Ferramentas do site


tradingview:indicadores:donchian_channel

Donchian Channel

// © SchillerApp
//@version=4
study(title="Canal de Donchian", shorttitle="ScApp_DC", overlay=true)
 
//// Passo 1. Configurações do Script
 
// Configurações do Canal
dcPeriodo = input(title="Período", type=input.integer, defval=20, minval=2, group="Configurações do Canal")
 
// Configurações Visuais
mostrarCentral = input(title="Mostrar Linha Central?", type=input.bool, defval=false, group="Configurações do Canal")
corFundoCanalS = input(title="Preenchimento Canal Superior", type=input.color, defval=color.green, group="Config do Canal")
corFundoCanalI = input(title="Preenchimento Canal Inferior", type=input.color, defval=color.red, group="Config do Canal")
 
// Configurações de Rompimento
filtroRompimento = input(title="Filtro de Rompimento (Ticks)", type=input.integer, defval=0, minval=0, group="Config de Rompimento") * syminfo.mintick
mostrarRompimento = input(title="Mostrar Rompimento?", type=input.bool, defval=true, group="Config de Rompimento")
 
//// Passo 2. Calcular os valores do Indicador
 
linhaSup = highest(high, dcPeriodo)[1]
linhaInf  = lowest(low, dcPeriodo)[1]
linhaCen = (linhaSup + linhaInf) / 2
 
//// Passo 3. Determinar os sinais de rompimento
 
// Verificar se o preço cruzou acima ou abaixo das extremidades do Canal
rompSup = barstate.isconfirmed and crossover(close, linhaSup + filtroRompimento)
rompInf = barstate.isconfirmed and crossunder(close, linhaInf - filtroRompimento)
 
//// Passo 4. Resultado do Indicador
 
// Plotar Canal de Donchian
ls = plot(series=linhaSup, color=color.green, title="DoCh LS") // Linha Superior
li = plot(series=linhaInf, color=color.red, title="DoCh LI") // Linha Inferior
lc = plot(series=linhaCen, color=mostrarCentral ? color.orange : na, title="DoCh LC") // Linha Inferior
 
// Preencher o fundo do canal de Donchian
fill(plot1=ls, plot2=lc, color=corFundoCanalS)
fill(plot1=lc, plot2=li, color=corFundoCanalI)
 
// Destacar os rompimentos
highlightColour = not mostrarRompimento ? na : rompSup ? color.green : rompInf ? color.red : na
 
bgcolor(highlightColour)
 
// Passo 5. Criar Alertas
 
if rompSup or rompInf
    banda = rompSup ? "Superior" : "Inferior"
    alert("Cruzamento da Banda " + banda + " do Canal de Donchian") // Padrão : freq=once_per_bar
 
 
corLinhaCentral = input(title="Cor Linha Central", type=input.color, defval=color.orange, group="Configurações do Canal")
 
plotchar(rompSup, "Rompimento Superior", "▲", location.abovebar, color.lime, size=size.tiny)
plotchar(rompInf, "Rompimento Inferior", "▼", location.belowbar, color.red, size=size.tiny)
 
destacCor = na
if not mostrarRompimento
    destacCor := na
else
    if rompSup
        destacCor := color.green
    else if rompInf
        destacCor := color.red
    else
        destacCor:= na


tradingview/indicadores/donchian_channel.txt · Última modificação: 05/04/2023 08:25 por 127.0.0.1