Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1494
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Meta Editor выдает ошибку 'ArrayMinimum' - constant cannot be modified и 'ArrayMaximum' - constant cannot be modified, а также '=' - illegal operation use по присвоению переменной PrevClose в следующем коде:
Meta Editor выдает ошибку 'ArrayMinimum' - constant cannot be modified и 'ArrayMaximum' - constant cannot be modified, а также '=' - illegal operation use по присвоению переменной PrevClose в следующем коде:
"Находим максимальное значение в массиве ticks"- максимальное значение чего мы находим?
ticks[copied-1].bid или ticks[copied-1].flags
Шутка)))
Скорее всего вы перепутали CopyTicks с CopyRates, хотя там тоже массив структур и указывать, какой элемент структуры вам нужен.
double PrevClose = rates[copied-1].close;
У вас в коде лишняя строка.
Не нужна она так как CopyTicks и CopyRates , сама при копировании, распределяет размер массива."Находим максимальное значение в массиве ticks"- максимальное значение чего мы находим?
ticks[copied-1].bid или ticks[copied-1].flags
Шутка)))
Скорее всего вы перепутали CopyTicks с CopyRates, хотя там тоже массив структур и указывать, какой элемент структуры вам нужен.
double PrevClose = rates[copied-1].close;
У вас в коде лишняя строка.
Не нужна она так как CopyTicks и CopyRates , сама при копировании, распределяет размер массива.Благодарю за подсказку. Я не знал. На всякий случай вставляю эту строку.
Верно ли я понимаю вашу шутку, что в rates все цены усредненные и учитывают бар, а в ticks - нет? Я потому и взял tick, чтобы использовать произвольный интервал времени, а не цены баров. CopyRates у меня в аналогичной формуле заполнял за отрезок час переменную copied на максимальное значение типа ulong. Эту проблему я тоже не мог решить.
Благодарю за подсказку. Я не знал. На всякий случай вставляю эту строку.
Верно ли я понимаю вашу шутку, что в rates все цены усредненные и учитывают бар, а в ticks - нет? Я потому и взял tick, чтобы использовать произвольный интервал времени, а не цены баров. CopyRates у меня в аналогичной формуле заполнял за отрезок час переменную copied на максимальное значение типа ulong. Эту проблему я тоже не мог решить.
Всё не верно.
MqlRates-это структура, а вы обращаетесь с ней как с переменной.
MqlTick- тоже структура.
Вы пытаетесь соединить тёплое с мягким, поэтому компилятор вас не понимает.
Так же как и я)))
Возможно я смог бы подсказать чего полезного, но из вашего кода совсем не понятно, что вы пытаетесь найти.
Всё не верно.
MqlRates-это структура, а вы обращаетесь с ней как с переменной.
MqlTick- тоже структура.
Вы пытаетесь соединить тёплое с мягким, поэтому компилятор вас не понимает.
Так же как и я)))
Возможно я смог бы подсказать чего полезного, но из вашего кода совсем не понятно, что вы пытаетесь найти.
Задача стоит модифицировать WPR (Williams Percent Range) так, чтобы получать разницу значений WPR за произвольный отрезок времени, независимо от баров.
Возможно (но это не точно) вы это хотели получить.
double lowestLow = ArrayMinimum(bid, 0, copied);
Благодарю. Вот, что вышло, если я правильно уловил урок:
Но, к сожалению по строке bid_arr[i] = ticks[i].bid; слетел Эксперт с графика по причине array out of range in 'имямоегоэксперта.mq5' (204,12).Благодарю. Вот, что вышло, если я правильно уловил урок:
Раз уж мы всё равно крутим цикл по всем тикам, можно в этом цикле не копировать, а сразу искать те максимумы-минимумы.
Кстати, если копировать, неплохо бы сначала задать размеры массивов, куда копируем, цикл за нас это делать не будет, вылетим из массива на первой же итерации. Это только CopyTicksRange сама целевой массив отресайзит.
Раз уж мы всё равно крутим цикл по всем тикам, можно в этом цикле не копировать, а сразу искать те максимумы-минимумы.
Кстати, если копировать, неплохо бы сначала задать размеры массивов, куда копируем, цикл за нас это делать не будет, вылетим из массива на первой же итерации. Это только CopyTicksRange сама целевой массив отресайзит.
Я перфекционист, сортировать отдельные элементы массива структур, это как пенопластом по стеклу.