У Вас советник имеет 2 состояния: 1. ожидание сигнала на вход и 2. торговля (макс. 15 минут)
будут нужны переменные:
int state = -1; // состояние: -1 - ожидание входа, 0 - торговля Бай, 1 - торговля Селл
datetame dtCheck = 0; // время принятия решения
int count = 0; //счётчик входов внутри серии
функция OnTick будет выглядеть так:
{
if ( state {
state = IsSignal(); // функция возвращает направление торговли или -1
if ( state // сигнал получен!!!
if (_Open( state, lot1 )) count++; // открываем первый ордер, вычисляем время проверки, сохраняем тикет
}
else // проверка результатов торгов
{
if ( TimeCurrent() // закрываем сделку и проверяем результат
_Close(); // закрываем и сохраняем результат ордера
if ( PL > 0 ) reset(); // прибыль - сбрасываем счётчики и состояние серии
else
{
if ( _Open( state, lot1*(count+1) )) count++; // открываем первый ордер, вычисляем время проверки, сохраняем тикет
}
}
}
Осталось Ваш код перенести в функции IsSignal, _Open, _Close - справитесь?
