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

 
Jenya77769:

спасибо, получилось, только я нормализировал отдельно q и w!

Нормализовывать нужно разницу двух чисел. И сравнивать с нулём.
 
Artyom Trishkin:
Если это десятый бар, то как узнать разницу между десятым и нулевым? 10-0=10
И зачем нужно вычитать?


Это нам нам на "бумажке" видно, что 10 - 0 = 10. А как записать данное условие в программу. Я не нашел функцию которая бы возвращала номер бара. Или плохо искал? 

 
Youri Lazurenko:

Это нам нам на "бумажке" видно, что 10 - 0 = 10. А как записать данное условие в программу. Я не нашел функцию которая бы возвращала номер бара. Или плохо искал? 

Ну вы же УЖЕ нашли этот бар. В функции, которая ищет пересечение.
 
Artyom Trishkin:
Ну вы же УЖЕ нашли этот бар. В функции, которая ищет пересечение.
Да, я его нашел. Кажется пока писал ответ понял вашу мысль - функция IntersectionХХ() как раз и выдает мне это число, пусть 10. Я правильно понял?
 
double SPREAD=MarketInfo(Symb,MODE_SPREAD);// Спред
double q=High[0]-3.0*Point-High[1];
double w=-SPREAD*Point;

if(NormalizeDouble(q,4)> NormalizeDouble(q,4))
Artyom Trishkin
:

Нормализовывать нужно разницу двух чисел. И сравнивать с нулём.

А так как я сделал возможны ошибки? 

 
Youri Lazurenko:
Да, я его нашел. Кажется пока писал ответ понял вашу мысль - функция IntersectionХХ() как раз и выдает мне это число, пусть 10. Я правильно понял?
Да
 
Artyom Trishkin:
Да

Большое вам спасибо. Да, с логикой, воображением и сообразительностью у меня туговато. Еще раз спасибо, всех благ. 

 

Здравствуйте!  Хотел получить время открытия бара текущего месяца но получил ошибку 4074 (ERR_NO_MEMORY_FOR_HISTORY). Интересно и то что если начать тестировать с 1 июня, то все правильно выдаёт, но уже с 2 июня начинает выдавать ошибку. Как решит проблему текущего месяца?

   datetime iTimeMN=iTime(NULL,PERIOD_MN1,0);
   Print("iTimeMN= ",iTimeMN);
   if(iTimeMN==0)
     {
      Print(" Error= ",GetLastError());
      Sleep(1000);
     }
 

Всем доброго времени суток! Помогите пожалуйста с изменением значений переменных. Есть две переменные с изначальным нулевым значением. К примеру у меня на графике всегда присутствуют два уровня. Как сделать так, чтобы при достижении одного уровня первая переменная изменила значение на "1" и только при достижении другого уровня обратно меняла значение на "0", тогда как вторая переменная действовала обратным образом.

 
AlGuru:

Всем доброго времени суток! Помогите пожалуйста с изменением значений переменных. Есть две переменные с изначальным нулевым значением. К примеру у меня на графике всегда присутствуют два уровня. Как сделать так, чтобы при достижении одного уровня первая переменная изменила значение на "1" и только при достижении другого уровня обратно меняла значение на "0", тогда как вторая переменная действовала обратным образом.


Все вроде получилось. Хотя по-началу не работал. Странно.

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