доброго времени суток, коллеги!! Знатоки, помогите пришить к советнику трелинг самый простой с шагом , неделю уже парюсь,, добавлял готовые коды в сов, даже если компиляция без ошибок, то в тестере не работает ,,Уже весь инет перерыл!! советник сам по себе неплохой при соответствующей настройке, с трелингом профит еще можно подтянуть , прошу помочь, у самого могзи закипают)) Спасибо!
Постарайся пожалуйста с такими вопросами не выходить за пределы этой темы.
И внимательно почитай всю документацию, будешь помнить что нужная функция есть. Останется только найти её. Вот она ArrayFree.
Спасибо за ответ. Функция ArrayFree предназначена для работы с динамическими массивами , как написано в документации , а я спрашивал за статические массивы.
i999i: Спасибо за ответ. Функция ArrayFree предназначена для работы с динамическими массивами , как написано в документации , а я спрашивал за статические массивы.
Ну так статические массивы сразу резервируют под себя память независимо от того есть данные в нём или нету. Если есть необходимость освобождать память, то и использовать надо динамические массивы, а не статические.
AlexeyVik: Ну так статические массивы сразу резервируют под себя память независимо от того есть данные в нём или нету. Если есть необходимость освобождать память, то и использовать надо динамические массивы, а не статические.
При выходе из функции динамические массивы работают как локальные переменные или все таки нужно использовать функцию ArrayFree ?
i999i: При выходе из функции динамические массивы работают как локальные переменные или все таки нужно использовать функцию ArrayFree ?
Если массив объявлен локально, то ему ничего не надо. Но если данные массива используются в разных функциях, то соответственно массив должен быть глобального уровня и тогда, перед изменением как размера массива так и изменением значений иногда лучше его "удалить" и заполнить заново. Либо как в твоём вопросе, если считаешь что массив уже не будет использован, то ничего не мешает от него избавиться.
AlexeyVik: Если массив объявлен локально, то ему ничего не надо. Но если данные массива используются в разных функциях, то соответственно массив должен быть глобального уровня и тогда, перед изменением как размера массива так и изменением значений иногда лучше его "удалить" и заполнить заново. Либо как в твоём вопросе, если считаешь что массив уже не будет использован, то ничего не мешает от него избавиться.
Здравствуйте! В строке ниже я получил ошибку "array out of range". Можете помочь сделать эту строку правильно?
В High[] в квадратных скобках [ ] должно быть целое число - индекс свечи на графике, а результат iHighest(NULL,PERIOD_M15,MODE_HIGH,1,1) - максимальное значение одной свечи с индексом 1 и это на 99,999...% будет вещественное число типа double. Вообще, такая запись сама по себе не совсем понятно что должна сделать.
paladin80: В High[] в квадратных скобках [ ] должно быть целое число - индекс свечи на графике, а результат iHighest(NULL,PERIOD_M15,MODE_HIGH,1,1) - максимальное значение одной свечи с индексом 1 и это на 99,999...% будет вещественное число типа double. Вообще, такая запись сама по себе не совсем понятно что должна сделать.
Спасибо! Тогда я переделаю.
Это подойдёт? "array out of range" ошибки не будут?
double High_Lim(ENUM_TIMEFRAMES GrafPeriod, int Bari_atp, int Bari_shift)
{double HighLim = iHigh(NULL, GrafPeriod,iHighest(NULL,GrafPeriod,MODE_HIGH,Bari_atp,Bari_shift));
return(HighLim);}
paladin80: В High[] в квадратных скобках [ ] должно быть целое число - индекс свечи на графике, а результат iHighest(NULL,PERIOD_M15,MODE_HIGH,1,1) - максимальное значение одной свечи с индексом 1 и это на 99,999...% будет вещественное число типа double. Вообще, такая запись сама по себе не совсем понятно что должна сделать.
Постарайся пожалуйста с такими вопросами не выходить за пределы этой темы.
И внимательно почитай всю документацию, будешь помнить что нужная функция есть. Останется только найти её. Вот она ArrayFree.
Спасибо за ответ. Функция ArrayFree предназначена для работы с динамическими массивами , как написано в документации , а я спрашивал за статические массивы.
Ну так статические массивы сразу резервируют под себя память независимо от того есть данные в нём или нету. Если есть необходимость освобождать память, то и использовать надо динамические массивы, а не статические.
При выходе из функции динамические массивы работают как локальные переменные или все таки нужно использовать функцию ArrayFree ?
Если массив объявлен локально, то ему ничего не надо. Но если данные массива используются в разных функциях, то соответственно массив должен быть глобального уровня и тогда, перед изменением как размера массива так и изменением значений иногда лучше его "удалить" и заполнить заново. Либо как в твоём вопросе, если считаешь что массив уже не будет использован, то ничего не мешает от него избавиться.
Здравствуйте! В строке ниже я получил ошибку "array out of range". Можете помочь сделать эту строку правильно?
Здравствуйте! В строке ниже я получил ошибку "array out of range". Можете помочь сделать эту строку правильно?
В High[] в квадратных скобках [ ] должно быть целое число - индекс свечи на графике, а результат iHighest(NULL,PERIOD_M15,MODE_HIGH,1,1) - максимальное значение одной свечи с индексом 1 и это на 99,999...% будет вещественное число типа double. Вообще, такая запись сама по себе не совсем понятно что должна сделать.
Это подойдёт? "array out of range" ошибки не будут?
В High[] в квадратных скобках [ ] должно быть целое число - индекс свечи на графике, а результат iHighest(NULL,PERIOD_M15,MODE_HIGH,1,1) - максимальное значение одной свечи с индексом 1 и это на 99,999...% будет вещественное число типа double. Вообще, такая запись сама по себе не совсем понятно что должна сделать.