В условии на открытие позиции по стрелочному индикатору нужно найти предпоследнюю стрелку и в зависимости от её вида (Sell или Buy) записать в условие. Сделал, частично работает, но много пропусков
double buy[];
double sell[];
double sellprev[];
double buyprev[];
if(CopyBuffer(handle_stoh[index], 1, 1, 1, buy)<1)
return(-1);
if(CopyBuffer(handle_stoh[index], 0, 1, 1, sell)<1)
return(-1);
if(CopyBuffer(handle_stoh[index], 0, 2, 5, sellprev)<1)
return(-1);
if(CopyBuffer(handle_stoh[index], 1, 2, 5, buyprev)<1)
return(-1);
// make signal
int signal = -1;
if(buy[0] > 0.0 && buy[0] != EMPTY_VALUE && sellprev[0] > 0.0 && sellprev[0] != EMPTY_VALUE)
signal = 1;
if(sell[0] > 0.0 && sell[0] != EMPTY_VALUE && buyprev[0] > 0.0 && buyprev[0] != EMPTY_VALUE)
signal = 0;