Ну спасибо… Я хоть увидел себя шесть лет назад… Был такой-же как вы сейчас. Не думая давал советы не впопад.
Что касается шаблона: Если в шаблоне есть индикатор, но нет советника, то загрузится шаблон без советника… А если шаблон с советником??? Вы уверены, что советник загруженный по шаблону не станет применять шаблон и тем самым зациклит и повесит терминал?
Я ж тебе говорю - вызов этой функции - это полный цикл сглаживания данных, находящихся в массиве Array. Сглаженные данные этого массива будут на выходе лежать в массиве buff - просто далее бери из него нужные тебе уже сглаженные данные.
Я ж тебе говорю - вызов этой функции - это полный цикл сглаживания данных, находящихся в массиве Array. Сглаженные данные этого массива будут на выходе лежать в массиве buff - просто далее бери из него нужные тебе уже сглаженные данные.
Я ж тебе говорю - вызов этой функции - это полный цикл сглаживания данных, находящихся в массиве Array. Сглаженные данные этого массива будут на выходе лежать в массиве buff - просто далее бери из него нужные тебе уже сглаженные данные.
Не смог это всё применить ни в какую, потратил более 4-х часов.
При первом запуске отображает правильно, далее нет обновления - замирает, со стандартной работает нормально
double Array_1[];
double Array_2[];
int i=0;
int period = (int)MathFloor(MathSqrt(a));
int val = (int)MathFloor(a / 1.9);
int bars=rates_total;
int counter = bars - prev_calculated + a + 1;
if(counter > bars)
counter = bars;
ArrayResize(Array_1, counter);
ArraySetAsSeries(Array_1, true);
ArrayResize(Array_2, counter);
ArraySetAsSeries(Array_2, true);
for(i = 0; i < counter; i++)
Array_1[i] = 2.0 * ma_1(i, val) - ma_1(i, a);
// for(i = 0; i < counter - a; i++)// buf_3[i] = iMAOnArray(Array_1, 0, period, 0, MODE_SMMA, i);
SmoothedMAOnBuffer(rates_total, prev_calculated, prev_calculated, period, Array_1, buf_3); // Где-то здесь не правильно вписаны параметры
Не смог это всё применить ни в какую, потратил более 4-х часов.
При первом запуске отображает правильно, далее нет обновления - замирает, со стандартной работает нормально
---
Что нужно вписать?
В МТ5 вообще отображает не понятно что.
Ты можешь словами сказать, что ты хочешь получить в итоге?
У тебя индикатор построен так, как нужно показывать людям как это делать нельзя :)
Рисуемые и расчётные буферы - все вперемешку. Расчётные должны быть последними в очереди - нельзя их смешивать в произвольном прядке к сожалению.
Для пятёрки не будет работать по причине, что функция ma_1() в пятёрке будет возвращать хэндл, а не значение МА
В функцию SmoothedMAOnBuffer() ты вместо начала значимых данных в массиве передаёшь prev_calculated - зачем? Туда нужно передавать как минимум 0, а как максимум - рассчитанное значение, зависимое от периода расчёта данных МА, хранящихся в Array_1 - ну хотя бы period
В блоке выбора каким цветом рисовать у тебя логическая ошибка - ты затираешь буферы - просто за скобки вынес заполнение буфера пустым значением. У тебя проверяется условие, а то, что должно делаться при истине - тупо вынесено за скобки. Т.е., выполняется всегда. Это следствие привычки расстановки скобок - когда не наглядно их расположение.
Array_1 и Array_2 - почему не расчётные буферы?
В общем - вопросов много.
У тебя значение переменной a строго задано. Зачем на каждом тике рассчитывать значение переменной val ?
Сделай два расчётных буфера для двух МАшек, рассчитываемых с периодом a и val в OnInit(). Из этих буферов и бери значения - будет работать для обеих платформ тогда.
Ты можешь словами сказать, что ты хочешь получить в итоге?
У тебя индикатор построен так, как нужно показывать людям как это делать нельзя :)
Рисуемые и расчётные буферы - все вперемешку. Расчётные должны быть последними в очереди - нельзя их смешивать в произвольном прядке к сожалению.
Для пятёрки не будет работать по причине, что функция ma_1() в пятёрке будет возвращать хэндл, а не значение МА
В функцию SmoothedMAOnBuffer() ты вместо начала значимых данных в массиве передаёшь prev_calculated - зачем? Туда нужно передавать как минимум 0, а как максимум - рассчитанное значение, зависимое от периода расчёта данных МА, хранящихся в Array_1 - ну хотя бы period
В блоке выбора каким цветом рисовать у тебя логическая ошибка - ты затираешь буферы - просто за скобки вынес заполнение буфера пустым значением. У тебя проверяется условие, а то, что должно делаться при истине - тупо вынесено за скобки. Т.е., выполняется всегда. Это следствие привычки расстановки скобок - когда не наглядно их расположение.
Array_1 и Array_2 - почему не расчётные буферы?
В общем - вопросов много.
У тебя значение переменной a строго задано. Зачем на каждом тике рассчитывать значение переменной val ?
Сделай два расчётных буфера для двух МАшек, рассчитываемых с периодом a и val в OnInit(). Из этих буферов и бери значения - будет работать для обеих платформ тогда.
Вообще ни о чём не говорит, если-бы знал решение - не писал-бы.
Индикатор не мой, что ниже iMAOnArray() даже не смотрел, вся задача состоит только в замене iMAOnArray() на что-то.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Ну спасибо… Я хоть увидел себя шесть лет назад… Был такой-же как вы сейчас. Не думая давал советы не впопад.
Что касается шаблона: Если в шаблоне есть индикатор, но нет советника, то загрузится шаблон без советника… А если шаблон с советником??? Вы уверены, что советник загруженный по шаблону не станет применять шаблон и тем самым зациклит и повесит терминал?
у меня не вешает - всё работает на ура!
у меня не вешает - всё работает на ура!
Не будь таким ленивым как я. Сними видео с такими манипуляциями.:-)))
Сейчас пришёл к тому, чтобы отладить конструкцию "SmoothedMAOnBuffer()" в мт4.
Что не так, вообще не понимаю
Сто раз писал - убери функцию из цикла.
Вместо вот этой фигни:
напиши так:
Я ж тебе говорю - вызов этой функции - это полный цикл сглаживания данных, находящихся в массиве Array. Сглаженные данные этого массива будут на выходе лежать в массиве buff - просто далее бери из него нужные тебе уже сглаженные данные.
Не будь таким ленивым как я. Сними видео с такими манипуляциями.:-)))
Вот жалею - что раньше в Ваш профиль не заходил. У Вас там такие замечательные коды есть. Вот этот очень понравился.https://www.mql5.com/ru/code/16396
Сто раз писал - убери функцию из цикла.
Вместо вот этой фигни:
напиши так:
Я ж тебе говорю - вызов этой функции - это полный цикл сглаживания данных, находящихся в массиве Array. Сглаженные данные этого массива будут на выходе лежать в массиве buff - просто далее бери из него нужные тебе уже сглаженные данные.
Спасибо!, заработал.
Как это работает - пока не понял, буду теперь разбираться.
Сто раз писал - убери функцию из цикла.
Вместо вот этой фигни:
напиши так:
Я ж тебе говорю - вызов этой функции - это полный цикл сглаживания данных, находящихся в массиве Array. Сглаженные данные этого массива будут на выходе лежать в массиве buff - просто далее бери из него нужные тебе уже сглаженные данные.
Не смог это всё применить ни в какую, потратил более 4-х часов.
При первом запуске отображает правильно, далее нет обновления - замирает, со стандартной работает нормально
---
Что нужно вписать?
В МТ5 вообще отображает не понятно что.
Не смог это всё применить ни в какую, потратил более 4-х часов.
При первом запуске отображает правильно, далее нет обновления - замирает, со стандартной работает нормально
---
Что нужно вписать?
В МТ5 вообще отображает не понятно что.
Ты можешь словами сказать, что ты хочешь получить в итоге?
У тебя индикатор построен так, как нужно показывать людям как это делать нельзя :)
Рисуемые и расчётные буферы - все вперемешку. Расчётные должны быть последними в очереди - нельзя их смешивать в произвольном прядке к сожалению.
Для пятёрки не будет работать по причине, что функция ma_1() в пятёрке будет возвращать хэндл, а не значение МА
В функцию SmoothedMAOnBuffer() ты вместо начала значимых данных в массиве передаёшь prev_calculated - зачем? Туда нужно передавать как минимум 0, а как максимум - рассчитанное значение, зависимое от периода расчёта данных МА, хранящихся в Array_1 - ну хотя бы period
В блоке выбора каким цветом рисовать у тебя логическая ошибка - ты затираешь буферы - просто за скобки вынес заполнение буфера пустым значением. У тебя проверяется условие, а то, что должно делаться при истине - тупо вынесено за скобки. Т.е., выполняется всегда. Это следствие привычки расстановки скобок - когда не наглядно их расположение.
Array_1 и Array_2 - почему не расчётные буферы?
В общем - вопросов много.
У тебя значение переменной a строго задано. Зачем на каждом тике рассчитывать значение переменной val ?
Сделай два расчётных буфера для двух МАшек, рассчитываемых с периодом a и val в OnInit(). Из этих буферов и бери значения - будет работать для обеих платформ тогда.
Ты можешь словами сказать, что ты хочешь получить в итоге?
У тебя индикатор построен так, как нужно показывать людям как это делать нельзя :)
Рисуемые и расчётные буферы - все вперемешку. Расчётные должны быть последними в очереди - нельзя их смешивать в произвольном прядке к сожалению.
Для пятёрки не будет работать по причине, что функция ma_1() в пятёрке будет возвращать хэндл, а не значение МА
В функцию SmoothedMAOnBuffer() ты вместо начала значимых данных в массиве передаёшь prev_calculated - зачем? Туда нужно передавать как минимум 0, а как максимум - рассчитанное значение, зависимое от периода расчёта данных МА, хранящихся в Array_1 - ну хотя бы period
В блоке выбора каким цветом рисовать у тебя логическая ошибка - ты затираешь буферы - просто за скобки вынес заполнение буфера пустым значением. У тебя проверяется условие, а то, что должно делаться при истине - тупо вынесено за скобки. Т.е., выполняется всегда. Это следствие привычки расстановки скобок - когда не наглядно их расположение.
Array_1 и Array_2 - почему не расчётные буферы?
В общем - вопросов много.
У тебя значение переменной a строго задано. Зачем на каждом тике рассчитывать значение переменной val ?
Сделай два расчётных буфера для двух МАшек, рассчитываемых с периодом a и val в OnInit(). Из этих буферов и бери значения - будет работать для обеих платформ тогда.
Вообще ни о чём не говорит, если-бы знал решение - не писал-бы.
Индикатор не мой, что ниже iMAOnArray() даже не смотрел, вся задача состоит только в замене iMAOnArray() на что-то.
Можно рабочий пример того, как должно быть?
Спасибо!
P.S. Для мт5 с хэндлами порядокМожно рабочий пример того, как должно быть?
Рабочий пример чего? Индикатора с четвёрки, работающего в пятёрке? Тогда дай полностью рабочий индикатор с четвёрки.
Или пример того, как нужно работать с функцией SmoothedMAOnBuffer() ?
Рабочий пример чего? Индикатора с четвёрки, работающего в пятёрке? Тогда дай полностью рабочий индикатор с четвёрки.
Или пример того, как нужно работать с функцией SmoothedMAOnBuffer() ?
Рабочий пример с мт4, со стандартной iMAOnArray идёт обновление, а вот SmoothedMAOnBuffer при первом запуске нормально, а потом нет обновления
Нужен пример работы с функцией SmoothedMAOnBuffer()