I'm not sure that I entirely understand your question. But, try
something like this:
per = 10;
xxx = High - Low;      // Use any expression you want
diff = 0;
cont = NZ(null, null);

currentBar = BarCount - 1;
firstBar = max(0, currentBar - per);

for (bar = currentBar - 1; bar >= firstBar; bar--) {
    if (xxx[bar] > diff) {
       diff = xxx[bar];
       cont[bar] = (currentBar - bar);
    } else {
       diff = iif(bar > firstBar, xxx[bar - 1], 1);
       cont[bar] = cont[bar + 1];
    }
}

Plot(xxx, "XXX", colorBlue, styleBar);
Plot(cont, "CONT", colorRed, styleStaircase | styleOwnScale);
Mike
--- In [email protected], "angio" <angio1...@...> wrote:
>
> hello guys,
> can someone help me to write this loop for an indicator, there are
many days that I try but I can't do !!!
>
> - the beginning of the loop is the bar before today
> - the loop length is the variable PER (for example 10)
>
> *** Then the loop works from BAR -1 to BAR -10 ***
>
> PER=10;
>
> XXX= my expression;
>
> DIFF=0; set variable to 0
> CONT=0; set variable to 0
>
> in the loop:
>
> If XXX > DIFF
> then DIFF = XXX
> and CONT assumes the number of backwards bar in the loop
>
> for example:
>
> BAR -1    XXX > 0       cont = 1
> BAR -2    XXX > diff    cont = 2
> BAR -3    XXX > diff    cont = 3
> BAR -4    XXX > diff    cont = 4
> BAR -5    XXX > diff    cont = 5
> BAR -6    XXX > diff    cont = 6
> BAR -7    XXX < diff    cont = 6   break loop, CONT assumes 6
> BAR -8    XXX < diff    cont = 6
> BAR -9    XXX > diff    cont = 6
> BAR -10   XXX > diff    cont = 6
>
> The main problem is how to set the beginning of the loop and how to
assign values to the arrays earlier in reverse from the usual.
>
> I hope I was clear, thanks for the reply.
> Angio
>

Reply via email to