Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2304

 
Tretyakov Rostyslav #:

Да, первая закрытая свеча.

Тогда, как минимум, не делаем двойную работу, про эту свечу мы уже знаем и cnt=1, а вот со следующей - проверяем.

for(int j=i+2, cnt=1 ; j<ArraySize(high); j++)
           {
            if(high[j]-low[j]>size) cnt++;
            if(cnt==3) { bar=j; break; }
           }
 
JRandomTrader #:

Тогда, как минимум, не делаем двойную работу, про эту свечу мы уже знаем и cnt=1, а вот со следующей - проверяем.

сути не меняет


Вопрос решен

if(high[i+1]-low[i+1]>size) {a=b; b=c; c=i+1;}
 

Возможно, искать надо не здесь.

high и low точно синхронизированы? Никогда не пользовался.

 

Ну вы и наплели тут… Будто никогда не читали документацию и не знаете, что кроме for есть ещё другие циклы. В частности while()

  int k = 0;
  while(k < 3 && !IsStopped())
   {
    if(условие)
      k++;
   }

Можно поставить ещё какое-то условие для прерывания цикла…

 
Alexey Viktorov #:

Ну вы и наплели тут… Будто никогда не читали документацию и не знаете, что кроме for есть ещё другие циклы. В частности while()

Можно поставить ещё какое-то условие для прерывания цикла…

Спасибо.
 
Проверьте пожалуйста. Должно закрывать через 5 баров, а не вырубать по S/L
Файлы:
AANDS16-0.mq4  9 kb
 
Alexey Viktorov #:

Ну вы и наплели тут… Будто никогда не читали документацию и не знаете, что кроме for есть ещё другие циклы. В частности while()

Можно поставить ещё какое-то условие для прерывания цикла…

а разумный предел?

 
Tretyakov Rostyslav #:

Спасибо, работает...но не корректно

Вы не подскажите, как можно реализовать такой поиск свечей

Когда последняя закрытая свеча >= size, мне нужно перебором найти вторую и третью свечу >= size, а все которые меньше пропускать. В итоге получить номер третьей свечи.

По мне самая простая реализация цикл в цикле.

2 условия.  в 1м цикле ищем 1е условие, во втором второе условие
 
Valeriy Yastremskiy #:

По мне самая простая реализация цикл в цикле.

2 условия.  в 1м цикле ищем 1е условие, во втором второе условие

Цикл в цикле, это самая долгая, затратная реализация. Хуже придумать сложно…

 
Tretyakov Rostyslav #:

Есть первая закрытая свеча high[i+1] - low[i+1] > size

надо найти еще две таких ближайших свечи и получить номер последней свечи.

Перед циклом while поставьте условие high[1] - low[1] > size и в цикл поставьте счётчик баров. Один счётчик по условию, а второй без условия.

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