Yedelkin: Затрудняюсь ответить. Перечитал Ваши сообщения, но замысел с изменением размера массива не понял. А от понимания замысла зависит и ответ по коду. Может, кто ещё откликнется.
double masCenPoc[20];
for(int i=0; i<20; i++){
if((cena_poc < high && cena_poc < low)||(cena_poc > high && cena_poc > low))
//как вот дальше обозначить чтоб он запомнил значение цены уровня Рос? masCenPoc[i] = cena_poc;else//и удалил значение из массива, если нашлось пересечение с ценой этого уровня Рос?
Вот у Вас массив из 20-ти элементов. Допустим, условие if выполняется - присваиваем первому элементу массива значение цены: masCenPoc[0] = cena_poc;
Что будем присваивать второму элементу массива?
Следующее значение Рос, которое будет через n кол-во времени. Линии Рос появляются в начале каждого дня, по результатам предыдущего. Если цена не коснется уровня, то значение этого уровня Рос сохранится в массиве.
Top2n: Следующее значение Рос, которое будет через n кол-во времени. Линии Рос появляются в начале каждого дня, по результатам предыдущего. Если цена не коснется уровня, то значение этого уровня Рос сохранится в массиве.
Понятно. Я бы сделал так. Завёл бы массив на 20 элементов и присвоил им всем значение -1. В начале каждого дня запускал бы цикл for(int i=0; i<20; i++) и искал в массиве первый элемент со значением -1. После нахождения такого элемента проверял торговые условия (if((cena_poc < high && cena_poc < low)||(cena_poc > high && cena_poc > low))) и в случае успеха присваивал бы значение cena_poc найденному элементу массива. Тем самым массив постепенно бы заполнялся нужными значениями.
Да если использовать нединамический массив (как в Вашем последнем примере), то и функция эта не нужна. Если же требуется именно динамический массив, то объявите и задайте его размер в первых строчках кода, до цикла.
Мне в принципе не суть, изменение размера массива, задам ему например 20.
Должно быть все со смыслом. В данном случае возможно массив и не нужен. В одном цикле с дальнейшими расчетами возможно хватит 1 переменной. Подозреваю вы хотите получить данные по истории, поэтому цикл будет логичнее от какого-то бара до 0. И тогда строить уже ваши данные. Если нужен массив, то он должен в вашем случае накапливаться как стек.
Если же вы хотите построить по онлайн котировкам, то все равно это по правилам стека(стакана).
Затрудняюсь ответить. Перечитал Ваши сообщения, но замысел с изменением размера массива не понял. А от понимания замысла зависит и ответ по коду. Может, кто ещё откликнется.
Мне в принципе не суть, изменение размера массива, задам ему например 20.
Вот у Вас массив из 20-ти элементов. Допустим, условие if выполняется - присваиваем первому элементу массива значение цены: masCenPoc[0] = cena_poc;
Что будем присваивать второму элементу массива?
Вот у Вас массив из 20-ти элементов. Допустим, условие if выполняется - присваиваем первому элементу массива значение цены: masCenPoc[0] = cena_poc;
Что будем присваивать второму элементу массива?
Мне в принципе не суть, изменение размера массива, задам ему например 20.
Должно быть все со смыслом. В данном случае возможно массив и не нужен. В одном цикле с дальнейшими расчетами возможно хватит 1 переменной. Подозреваю вы хотите получить данные по истории, поэтому цикл будет логичнее от какого-то бара до 0. И тогда строить уже ваши данные. Если нужен массив, то он должен в вашем случае накапливаться как стек.
Если же вы хотите построить по онлайн котировкам, то все равно это по правилам стека(стакана).
http://algorus.blogspot.ru/2012/12/blog-post_7.html
https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%BA
Здравствуйте. При попытке скопировать данные индикатора в массив с помощью функции CopyBuffer получаю значения типа -6.999999999999999e-005
В чем может быть причина?
Здравствуйте. При попытке скопировать данные индикатора в массив с помощью функции CopyBuffer получаю значения типа -6.999999999999999e-005
В чем может быть причина?
В окне данных у индикатора другие данные. Советник прикрепляю к графику H1, а копирует данные он с таймфреймов M5 M15 и H1.