Во первых в SetIndexBuffer индексы должны быть последовательны 3,4,5,6 (0,1,2 заняты оригинальными буферами)
Исходник хорошо прокомментирован, думаю что разберётесь :
в первом цикле пересчёта - указать текущее значение буферов fido1_0,fido1_100 равно предыдущему
а в блоке
сразу после SetFibo задаёте последнее значение этих буферов как price1,price2,price3
PS/ как присвоить значение элементу массива - смотрите в справке по языку :-)
Спасибо что помогаете.
Про индексы SetIndexBuffer я знал, просто поторопился. Справку изучил и для тесто пытаюсь передавать price1 в буфер fibo1_0. но в окно данных ничего не передаётся.
Можете подсказать Как задать значение буфера равное предыдущему? Как я понимаю у меня проблема из-за этого
там внутри индикатора задано ArraySetSeries(..., true) , поэтому примерно так:
// там-же где задаётся серийность буерам: ArraySetSeries(fibo_0,true); // однотипно с оригинальными буферами
..... // внутри первого цикла пересчёта: if (bar==rates_total-1) { fibo_0[bar]=EMPTY_VALUE; // самый начальный бар, нет предыдущих } else { fibo_0[bar]=fibo_0[bar+1]; // значение в буфере равно предыдущему }
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Я не совсем понимаю как заполнять буфер.
Допусти я из меню количество индикаторных буферов базовых 3 до 7
в void OnInit() добавлю 4 буфера, предварительно создав одноимённые массивы
и дальше в OnCalculate(), где идёт процесс расчёта я смогу просто класть переменную в массив. Но как это сделать? я не нашёл такой функции
Во первых в SetIndexBuffer индексы должны быть последовательны 3,4,5,6 (0,1,2 заняты оригинальными буферами)
Исходник хорошо прокомментирован, думаю что разберётесь :
в первом цикле пересчёта - указать текущее значение буферов fido1_0, fido1_100 равно предыдущему
а в блоке
сразу после SetFibo задаёте последнее значение этих буферов как price1,price2,price3
PS/ как присвоить значение элементу массива - смотрите в справке по языку :-)
Во первых в SetIndexBuffer индексы должны быть последовательны 3,4,5,6 (0,1,2 заняты оригинальными буферами)
Исходник хорошо прокомментирован, думаю что разберётесь :
в первом цикле пересчёта - указать текущее значение буферов fido1_0, fido1_100 равно предыдущему
а в блоке
сразу после SetFibo задаёте последнее значение этих буферов как price1,price2,price3
PS/ как присвоить значение элементу массива - смотрите в справке по языку :-)
Спасибо что помогаете.
Про индексы SetIndexBuffer я знал, просто поторопился. Справку изучил и для тесто пытаюсь передавать price1 в буфер fibo1_0. но в окно данных ничего не передаётся.
Посмотрите пожалуйста код.
Во первых в SetIndexBuffer индексы должны быть последовательны 3,4,5,6 (0,1,2 заняты оригинальными буферами)
Исходник хорошо прокомментирован, думаю что разберётесь :
в первом цикле пересчёта - указать текущее значение буферов fido1_0, fido1_100 равно предыдущему
а в блоке
сразу после SetFibo задаёте последнее значение этих буферов как price1,price2,price3
PS/ как присвоить значение элементу массива - смотрите в справке по языку :-)
Можете подсказать Как задать значение буфера равное предыдущему? Как я понимаю у меня проблема из-за этого
Можете подсказать Как задать значение буфера равное предыдущему? Как я понимаю у меня проблема из-за этого
там внутри индикатора задано ArraySetSeries(..., true) , поэтому примерно так:
// там-же где задаётся серийность буерам:
ArraySetSeries(fibo_0,true); // однотипно с оригинальными буферами
.....
// внутри первого цикла пересчёта:
if (bar==rates_total-1) {
fibo_0[bar]=EMPTY_VALUE; // самый начальный бар, нет предыдущих
} else {
fibo_0[bar]=fibo_0[bar+1]; // значение в буфере равно предыдущему
}