protected void BarOpensBelowIndicatorAfterOpeningAboveLogic(int firstBar, int prvs, double[] adIndValue, ref IndicatorComp indCompLong, ref IndicatorComp indCompShort)
{
double sigma = Sigma();
for (int bar = firstBar; bar < Bars; bar++)
{
int baseBar = bar - 1;
while (Math.Abs(Open[baseBar] - adIndValue[baseBar - prvs]) < sigma && baseBar > firstBar)
{ baseBar--; }
indCompLong.Value[bar] = Open[bar] < adIndValue[bar - prvs] - sigma && Open[baseBar] > adIndValue[baseBar - prvs] + sigma ? 1 : 0;
indCompShort.Value[bar] = Open[bar] > adIndValue[bar - prvs] + sigma && Open[baseBar] < adIndValue[baseBar - prvs] - sigma ? 1 : 0;
}
return;
}