Ньюанс оптимизации советника.

 

Подскажите, как сделать, чтобы при определённом условии во время оптимизации, тестер не прогонял советник на всей истории, а переходил к следующему  шагу?

 
Andrey4-min >>:

Подскажите, как сделать, чтобы при определённом условии во время оптимизации, тестер не прогонял советник на всей истории, а переходил к следующему шагу?


bool следующий_шаг;

void какаето_функция()
{
   if (какоето_условие)
   {
      следующий_шаг = true;
   }
}

int init()
{
   следующий_шаг = false;
   return(0);
}

int start()
{
   if (следующий_шаг)
   {
      return(0);
   }
   /// ...
}
 
TheXpert >>:
bool Step;

void ЗДЕСЬ НЕ ЗНАЮ ЧТО НАПИСАТЬ()
{
   if (x1>x2)
   {
      Step = true;
   }
}

int init()
{
   Step = false;
   return(0);
}

int start()
{
   if (Step==true)
   {
      return(0);
   }
  А ЗДЕСЬ ОСНОВНОЙ КОД СОВЕТНИКА?
   /// ...
}
Я правильно понял?
 
Andrey4-min >>:
Я правильно понял?

Тьфу, сорри, у меня просто в старте минимальный функционал, все остальное разнесено по функциям.

Вобщем правильно. А вот этот кусок

if (x1>x2)
{
   Step = true;
}
там, где он Вам нужен, в том числе и в функции start
 
TheXpert >>:

Тьфу, сорри, у меня просто в старте минимальный функционал, все остальное разнесено по функциям.

Вобщем правильно. А вот этот кусок

там, где он Вам нужен, в том числе и в функции start

Извините, за непонятливость, до меня не дошло.

Исправьте пожалуйсто мой пример кода, если не затруднит.

х1 и х2 - это оптимизируемые параметры.

 
// ...

int start()
{
   if (x1 > x2) return(0); //Вобщем в начале старта проверять корректность параметров если некорректны, заканчивать выполнение. 
   // ...
}
Не совсем то, что просили в исходном посте, но скорость повысит конкретно.
 
TheXpert >>:
Не совсем то, что просили в исходном посте, но скорость повысит конкретно.

Благодарю

Причина обращения: