Скорее всего дело в начальных значениях LastMax и LastMin.
А вставляйте код через кнопку "Код" (13-я слева).
Скорее всего дело в начальных значениях LastMax и LastMin.
А вставляйте код через кнопку "Код" (13-я слева).
DnLevelDn[i] = LastMin; // DnLevelDn[i] = нормальное значение MidLevel[i] = LastMin + _Range_2;// Почему здесь MidLevel[i] = 0.0?
Обратите внимание, первая строка выполняется корректно, т.е. значение буфера весьма себе адекватное.
Во второй строке добавляется всего 1 переменная, которая по умолчанию значительно меньше первой, но значение буфера почему-то равно 0 или EMPTYVALUE...
При этом нужно заметить, первый блок - движение вверх отрабатывается всегда правильно, а вот второй блок работает 1 раз при переключении на движение вниз,
а при повторном прорыве нижней границы начинаются чудеса...
MidLevel[i] = LastMin + _Range_2; // Почему здесь MidLevel[i] = 0.0?
А
что, если... LastMin == -_Range_2 ))
А что, если... LastMin == -_Range_2 ))
Ну просто поверьте мне на слово, это не так. Вобщем-то проблема решилась не знаю каким образом, как всегда, изменил кучу кода, а заодно
выгрузил индикатор с графика и снова его загрузил
Ну просто поверьте мне на слово, это не так. Вобщем-то проблема решилась не знаю каким образом, как всегда, изменил кучу кода, а заодно
выгрузил индикатор с графика и снова его загрузил
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Давно я уже не встречался с такой заморочкой - 2 симметричных куска кода но один работает без вопросов, а второй ... я уже пулемет исчу и молоток чтобы прибить этого "жука".
Вот собственно фрагмент кода, в комментариях выделены места, которые работают верхний участок и соответственно нижний не работает:
if(close[i] > CurMax){
break; // на это не обращайте внимание - внутри оператора CASE}
if(close[i] < CurMin){
break;