Pisani Bands

 
Boa noite, pessoal! Alguém sabe como podemos usar esse indicador no meta trader 5? 
 
BrunoAzevedoPacheco: Boa noite, pessoal! Alguém sabe como podemos usar esse indicador no meta trader 5? 

A título de curiosidade, pois não conheço, fui pesquisar e só encontrei alguma informação (ver mais abaixo), mas nada para MetaTrader.

Durante a semana, se tiver algum tempo livre, irei codificar uma versão para MetaTrader e colocar no CodeBae.

Para o TRYD:

//SCRIPT para desenhar a Pisani Bands no TRYD//
//Pisani Bands são bandas com base na volatilidade do ativo//
//Autor: Mario Pisani//
//Codificação: Rogerio Lopes Jr (@rogeriol.jr)//
//Data: 2020-11-09//

def tipo_media = 0;  //0 - Simples ( Aritmetica )
def periodo_media = 20; // Valor do periodo das medias
def media = newLines();
def media1, media2, media3 = newLineData();
def result = newLineData(); 
def fechamento = close(); 
def size = fechamento.size(); 

// Calculo da volatilidade historica
for ( def i = 1; i < size; i++ ) { 
    double atual = fechamento.value( i ); 
    double anterior = fechamento.value( i - 1 ); 
    double div = atual / anterior; 
    def logNatural = Math.log( div ); 
    result.add( logNatural ); 
} 
def raiz = ( Math.sqrt( 252 ) ); 

def vh = ( STDDEV( result, 22 ) * raiz ) * periodo_media / 100; 

// Media 1 - Media superior da banda
media1 = (MA(fechamento, periodo_media, tipo_media) + (MA(fechamento, periodo_media, tipo_media) * vh));
media1.setColor(0, 204, 204) //Cor da linha no formato RGB

// Media 2 - Media central da banda
media2 = MA(fechamento, periodo_media, tipo_media);
media2.setColor(155, 250, 250) //Cor da linha no formato RGB

// Media 3 - Media inferior da banda
media3 = (MA(fechamento, periodo_media, tipo_media) - (MA(fechamento, periodo_media, tipo_media) * vh));
media3.setColor(0, 204, 204) //Cor da linha no formato RGB

media.add(media1);
media.add(media2);
media.add(media3);

r = media;
Para o TradingView:
//@version=4
study(title="Bandas Pisani", shorttitle="BP", overlay=true, resolution="")
len_SMA = input(20, minval=1, title="Length") //Default SMA
len_VH = input(20,minval=0.1,title="% da VH") // Default Historical Volatility (VH)
annual = 252
vh = len_VH/100 * stdev(log(close / close[1]), 22) * sqrt (252) //VH math
src = input(close, title="Source")
offset = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)
out = sma(src, len_SMA) // SMA Math
bpUp = out + (out * vh) //Upper band
bpDown = out - (out * vh) //Lower band
plot(out, color=color.blue, title="MA", offset=offset) //Plot SMA
p1 = plot(bpUp, "bpUp", color=color.teal, offset = offset) //Plot Upper band
p2 = plot(bpDown, "bpDown", color=color.teal, offset = offset) //Plot Lower band
fill(p1, p2, title = "Background", color=#198787, transp=95) //Filling the bands
Para o Profit:
input
  Period(20);
  PorcentagemVH(20);
  PeriodoVH(20);
begin
   Plot(Media(Period,close));
   Plot2(Media(Period,close)+Media(Period,close)*HistVolatility(PeriodoVH,0)/100*PorcentagemVH/100);
   Plot3(Media(Period,close)-Media(Period,close)*HistVolatility(PeriodoVH,0)/100*PorcentagemVH/100);  
end;
 
Fernando Carreiro #:

A título de curiosidade, pois não conheço, fui pesquisar e só encontrei alguma informação (ver mais abaixo), mas nada para MetaTrader.

Durante a semana, se tiver algum tempo livre, irei codificar uma versão para MetaTrader e colocar no CodeBae.

Para o TRYD:

Para o TradingView:
Para o Profit:
Muito obrigado, Fernando!! Pois é, eu encontrei pra outras plataformas, mas não para o mt5. E eu não entendo nada de códigos..rs