А так как предлагается в этом посте, нельзя сделать? -
http://forexsystemsru.com/sovetniki/63198-sovetnik-wall-street-rovot-54.html#post274954
всё же логичнее в условие на открытие поставить проверку - нет ли в тот же момент сигнала на закрытие, и если есть - то ничего не открывать. В таком случае и единственная микролосёвая сделка не откроется, и несколько профитных сделок на одном баре могут пройти. А делов-то - всего 2 строчки в OpenShortSignal, чтоб окончание этой функции выглядело типа
double iWPR_Close_Signal = iWPR(NULL, PERIOD_M15, iWPR_Close_Period (или iWPR_Period, как в твоей версии, где на открытие и закрытие используется 1 период wpr), 1);
if (iWPR_Close_Signal < iWPR_Filter_CloseShort) result = false;
//---
return (result);
и аналогично (но со знаком ">") на лонг.
Или как в версии пирата, добавить функцию запрета на открытие более одной сделки или серии сделок в течении 15 минут.