1 вопрос.Если в в скобках за название массива указано число 10, то значит в том массиве 11 элементов
2 вопрос. Надо чтоб небыло после конец_набора в массиве нулей, были бы все цлозе цены от Разрешить_набор до конец_набора. Правильно ли делаю ArrayResize?
//глобальные цена[10]; int i = -1; //------------------- int start() { if(!TF_F_NewBar())return(0); if(Разрешить_набор == true) { i++; ArrayResize(цена, i); //я так понимаю, что массив цена[10] останется цена[0] (разрешается ли так ?), //т.е. одно место в массиве в котором записан ноль. Так с каждым шагом (баром) будем
//увеличивать размер массива цена[i] = Close[1]; // в этот одноместный массив я вместо нуля записываю Close[1]. Если так разрешается, // то тогда в глобальных переных можно указать минимальный массив цена[0]; } if(конец_набора== true) { Обработка данных массива ;
i = -1; //после обработки возвращаемся в исходное положение } }
1 вопрос.Если в в скобках за название массива указано число 10, то значит в том массиве 11 элементов
Такой массив содержит 10 ячеек с индексами элементов от 0 до 9. Т.е. первый элемент будет находится в ячейке 1 с индексом 0, именно поэтому в операторе for перебор элементом массива начинается с 0.
2 вопрос. Надо чтоб небыло после конец_набора в массиве нулей, были бы все цлозе цены от Разрешить_набор до конец_набора. Правильно ли делаю ArrayResize?
Вы хотите в массив занести 10 цен close последних 10 баров?
Извеняюсь, что не так вставил код как положено.
Всегда можно подправить то, что написали, Просто нажмите на "Правка".
gince: Нет не 10, а Разрешить_набор до конец_набора. Это может быть и 40, и 65.Надо чтоб небыло после конец_набора в массиве нулей
double цена[]; // динамический массивint начало=2; // 0 (ноль) это текущий, ещё не закрытый барint конец=45;
int количество;
//---int init()
{
количество=конец-начало; // =43ArrayResize(цена, количество); // устанавливается размер массива - 43 ячейкиreturn(0);
}
//---int start()
{
if(!TF_F_NewBar()) return(0);
if(Разрешить_набор == true)
{
for (int i=0; i<=количество-1; i++) // заполнить 43 ячейки с индексом от 0 до 42.// в ячейке 0 будет цена close для бара 2 и т.д.
цена[i]=Close[i+начало];
}
return(0);
}
//---
Я незнаю сколько в массиве должно быть элементов. Это может быть и 40, и 65. Одним словом нужен динамический массив
double цена[]; // динамический массив
int i = -1;
//---int init()
{
ArrayResize(цена, 0); // устанавливается размер массива минимальным - 1 ячейкаreturn(0);
}
//---int start()
{
if(!TF_F_NewBar()) return(0);
if(Разрешить_набор == true) // это сигнал по индюку
{
//Пришел новый бар и резрешение есть
i++. //увеличиваем индех
ArrayResize(цена, i)
цена[i]=Close[i];
}
if(конец_набора== true) // это сигнал по индюку
{
//----
//работа с массивом
//----
Pазрешить_набор == false;
i= -1;
//А тут
надо что нибуть делать с бывшим массивом (уменшить, очистить или еще что то)
}
return(0);
}
//---
paladin80: Спрошу с другой стороны. Для чего вам надо в массив заполнять цены close? double close[] сам по себе уже есть массивом цен close.
Мне без разницы это клосе и опен. Самое главное , чтоб они были от сих до сих. Потом фильтрую. Фильтрация должна проводится имено в этом периоде от сих до сих. После того как отфильтровался массив, по нему каким он получился переделываю другой массив с другими данными. А уже по последнему массиву черчу. Так что этот массив, про который спросили, только промежуточный.
Сейчас на каждом баре он заносит один клозе в массив. А если так несобирать, потом мне придется подщитывать с какого бара собирать данные, крутить цикл, фильтроват. А так остается только последнее.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Подскажите, как определить ценовую координату графического объекта типа OBJ_LABEL?
Воспользуйтесь ObjectGet с параметрами OBJPROP_XDISTANCE, OBJPROP_YDISTANCE
1 вопрос.Если в в скобках за название массива указано число 10, то значит в том массиве 11 элементов
2 вопрос. Надо чтоб небыло после конец_набора в массиве нулей, были бы все цлозе цены от Разрешить_набор до конец_набора . Правильно ли делаю ArrayResize?
//глобальные
цена[10];
int i = -1;
//-------------------
int start()
{
if(!TF_F_NewBar())return(0);
if(Разрешить_набор == true)
{
i++;
ArrayResize(цена, i); //я так понимаю, что массив цена[10] останется цена[0] (разрешается ли так ?),
//т.е. одно место в массиве в котором записан ноль. Так с каждым шагом (баром) будем
//увеличивать размер массива
цена[i] = Close[1]; // в этот одноместный массив я вместо нуля записываю Close[1]. Если так разрешается,
// то тогда в глобальных переных можно указать минимальный массив цена[0];
}
if(конец_набора== true)
{
Обработка данных массива ;
i = -1; //после обработки возвращаемся в исходное положение
}
}
Извеняюсь, что не так вставил код как положено.
1 вопрос.Если в в скобках за название массива указано число 10, то значит в том массиве 11 элементов
2 вопрос. Надо чтоб небыло после конец_набора в массиве нулей, были бы все цлозе цены от Разрешить_набор до конец_набора . Правильно ли делаю ArrayResize?
Вы хотите в массив занести 10 цен close последних 10 баров?
Извеняюсь, что не так вставил код как положено.
Вы хотите в массив занести 10 цен close последних 10 баров?
Всегда можно подправить то, что написали, Просто нажмите на "Правка".Нет не 10, а Разрешить_набор до конец_набора. Это может быть и 40, и 65.Надо чтоб небыло после конец_набора в массиве нулей
Все норм, только в начале задавайте массив сразу как динамический:
Нет не 10, а Разрешить_набор до конец_набора. Это может быть и 40, и 65.Надо чтоб небыло после конец_набора в массиве нулей
Я незнаю сколько в массиве должно быть элементов. Это может быть и 40, и 65. Одним словом нужен динамический массив
Я незнаю сколько в массиве должно быть элементов. Это может быть и 40, и 65. Одним словом нужен динамический массив
Спрошу с другой стороны. Для чего вам надо в массив заполнять цены close? double close[] сам по себе уже есть массивом цен close.