//@version=4 study("VI") //Déclaration des variables var ETmax=0.0 var PTotETMoving=20 PeriodET = input(20, title="Ecart type",minval=0) PeriodTotET = input(200, title="Période de recherche",minval=0) PeriodEMA=input(4, title="Période EMA",minval=0, type=input.integer) BMax= input(0.8, title="Borne Maximum",minval=0, type=input.float) BMin= input(0.2, title="Borne Minimum",minval=0, type=input.float) // Calcul des Ecart type et Ecart type max sur une période croissante jusqu'à PeriodTotET puis constante ET = stdev(close, PeriodET) ETmaxpostTotET=highest(stdev(close, PeriodET), PeriodTotET) if (PTotETMovingPeriodET) PTotETMoving:= PTotETMoving+1 if ETmaxPeriodET+PeriodTotET) ETmax:=ETmaxpostTotET Volat=(ET/ETmax) // Calcul moyenne mobile expo MMExp=ema(Volat,PeriodEMA) // Traçage des courbes Courbe=plot(Volat, color=color.orange) plot(MMExp, color=color.blue) // Traçage des Bornes de Survolatilité et de sous volatilité bornehaute=plot(BMax,color=color.gray,transp=20) bornebasse=plot(BMin,color=color.gray,transp=20) //Coloriage espace courbe/sur-sousvolat fill(Courbe,bornebasse,color=( VolatBMax ? color.red : na),transp=50)