Pls help re Barsince Barcount? - count number of green bars for say the past nine bars (minute bars)

Please use code tags if inserting code, see here

_SECTION_BEGIN("Desviaciones estándar");

// INDICADOR DESVIACIONES HISTOGRAMA
// OSCAR G. CAGIGAS
// 20 SEPTIEMBRE 2019

/*Indicador de Jeff Augen
En "The volatility edge in options trading" Jeff Augen propone un indicador que consiste en pintar en el número de desviaciones estándar que se ha movido
un mercado de un cierre al siguiente. Este indicador toma la forma de un histograma debajo del precio y se utiliza como una alerta para abrir posiciones en
opciones cuando el mercado en cuestión supera las 2 desviaciones estándar.
*/
//DESVIACION STANDARD
desv_est = sqrt( EMA((C-Ref(C,-1))^2, 36 ) ) ;
//sqrt(252)*StDev(ln(C/Ref(C,-1)),21);

//NUMERO DE DESV ESTÁNDAR
numdesv = (C - Ref(C,-1)) / Ref(desv_est,-1);

//PINTAR LAS DESVIACIONES Y LOS LÍMITES DE 2 DESV
GraphXSpace = 10; //añade espacio para ver los letreros
Plot(numdesv,"NumDesv",colorBlueGrey,styleHistogram|styleThick,Null,Null,0,0,6);
Plot(1,"",colorGreen,styleLine);
Plot(-1,"",colorGreen,styleLine);
Plot(2,"",colorGreen,styleLine);
Plot(-2,"",colorGreen,styleLine);
//SI PASA DE 2 DESV ANOTAMOS EL VALOR

bi = Barindex();
fvb = FirstVisibleValue( bi );
lvb = LastVisibleValue( bi );
for( i = fvb; i <= lvb; i++ )
{
    if( numdesv[i] > 1 )
    {
        PlotText( NumToStr( numdesv[i], 1.2 ), i - 1, numdesv[ i ] + 0.25, colorBlue );
    }
    else
        if( numdesv[i] < -1 )
        {
            PlotText( NumToStr( numdesv[i], 1.2 ), i - 2, numdesv[ i ] - 0.75, colorblue );
        }

}

/// Added by fxshrat@gmail.com for user @LOL111
/// https://forum.amibroker.com/t/pls-help-re-barsince-barcount-count-number-of-green-bars-for-say-the-past-nine-bars-minute-bars/2212/9
cond = numdesv > 1;
//cond = abs(numdesv) > 1;// uncomment if needed
cs5 = Sum(cond, 5);
cs10 = Sum(cond, 10);
Title = StrFormat("{{NAME}} {{DATE}} | %s NUM. > 1 SD EN ULTIMOS 10 DIAS: %g, NUM. > 1 SD EN ULTIMOS 5 DIAS: %g %s | {{VALUES}}", 
		EncodeColor(colorRed), SelectedValue(cs10), SelectedValue(cs5), EncodeColor(-1));
_SECTION_END();

If you need absolute value then change from

cond = numdesv > 1;

to (by uncommenting it in upper code)

cond = abs(numdesv) > 1;

11

2 Likes