Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну а я Вам про что? Не доходит цикл до этого места. В первой функции Вы начинаете с 1, доходите до нужного места в массиве и прерываете цикл. А во второй - сразу начинаете с "правильного" места. И цикл прерывается.
Так я откуда только не начинал. И начинаю я с index_sell+1. Со следующего после сигнала бара.
Так я откуда только не начинал. И начинаю я с index_sell+1. Со следующего после сигнала бара.
Да не важно, откуда начинать. Главное - что условие выполняется, и до заполнения переменной цикл не доходит. Поставьте принты внутрь цикла с указанием значения переменных и увидите.
Да не важно, откуда начинать. Главное - что условие выполняется, и до заполнения переменной цикл не доходит. Поставьте принты внутрь цикла с указанием значения переменных и увидите.
"i" равен значению index_sell+1.
То есть цикл сразу прерывается. Почему?
"i" равен значению index_sell+1.
То есть цикл сразу прерывается. Почему?
Я не знаю, что у Вас в массивах. Говорю же, напишите
Print("macd_current = "+(string)macd_current+" macd_previous= "+(string)macd_previous+" signal_current= "+(string)signal_current+" signal_previous= "+(string)signal_previous);
Я не знаю, что у Вас в массивах. Говорю же, напишите
Print("macd_current = "+(string)macd_current+" macd_previous= "+(string)macd_previous+" signal_current= "+(string)signal_current+" signal_previous= "+(string)signal_previous);
2018.07.23 02:19:21.521 2013.07.09 04:08:20 macd_current = 0.0003429946794533123 macd_previous= 0.0004134609122965482 signal_current= 0.0003611962860996767 signal_previous= 0.0002967761989818543
Вроде как есть сигнал macd. Откуда он берется, если цикл начинает считать с бара до сигнала в обратную сторону, назад. Ведь бар сигнала равен
index_sell.
А цикл считает с index_sell+1,
со следующего бара.
Мне интересно, почему вот эта штука работает
Ведь copy_sell = 0; Инициализация происходит в начале процедуры. Может, если указать с 0 бара, 0 элементов, то копирует всю историю?
2018.07.23 02:19:21.521 2013.07.09 04:08:20 macd_current = 0.0003429946794533123 macd_previous= 0.0004134609122965482 signal_current= 0.0003611962860996767 signal_previous= 0.0002967761989818543
Вроде как есть сигнал macd. Откуда он берется, если цикл начинает считать с бара до сигнала в обратную сторону, назад. Ведь бар сигнала равен
index_sell.
А цикл считает с index_sell+1,
со следующего бара.
Кстати, индексацию проверьте. Напишите
ArrayPrint(buff_MACD_main);
И другие массивы. Увидите, что там внутри.
Кстати, индексацию проверьте. Напишите
ArrayPrint(buff_MACD_main);
И другие массивы. Увидите, что там внутри.
Там была ошибка, она исправлена.
Функция копибуфер получает с 0 до bars.
Да я думал об индексации, пробовал и как таймсерию и наоборот, что то не получалось. Завтра еще попробую.
Спасибо большое за участие!
Кстати, индексацию проверьте. Напишите
ArrayPrint(buff_MACD_main);
И другие массивы. Увидите, что там внутри.
Эта функция вываливает мне весь буфер. Я в шоке, я даже не знаю куда мне там смотреть. Для тракториста это слишком сложно.
Эта функция вываливает мне весь буфер. Я в шоке, я даже не знаю куда мне там смотреть. Для тракториста это слишком сложно.
Он весь не нужен. Начало и конец. Или просто
Print(buff_MACD_main[0]);
Print(buff_MACD_main[ArraySize(buff_MACD_main)-1]);
Смотрим, что в начале и что в конце. Сравниваем с графиком. Индексация становится понятна.
В случае печати всего массива можно было еще и увидеть соседние значения, если знать значение i