Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1464
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Обратите внимание на другие методы
Да, про них я знаю конечно, но мне для другого надо... Короче, суть такая. Недавно на бинансе начал торговать и хотел потестировать. Также есть кухонный брокер с большим количеством криптовалют, но спред мешает. А так котировки довольно неплохо совпадают с котировками бинанса, особенно если рассматривать цену (бид+аск)/2.
Вот хотел добиться максимального соответствия, хотя конечно можно будет и пренебречь этими расхождениями
Да, про них я знаю конечно, но мне для другого надо... Короче, суть такая. Недавно на бинансе начал торговать и хотел потестировать. Также есть кухонный брокер с большим количеством криптовалют, но спред мешает. А так котировки довольно неплохо совпадают с котировками бинанса, особенно если рассматривать цену (бид+аск)/2.
Вот хотел добиться максимального соответствия, хотя конечно можно будет и пренебречь этими расхождениями
Наверное можно поглядеть в сторону создания собственного графика. MQL5 позволяет.
Доброе время суток. При написании советника на Mql5 столкнулся с проблемой. Есть массив со значениями открытия свечей за год. На каждой свече этого массива нужно создать массив из n-свечей, скажем 30, чтобы проверять максимумы и минимумы. Что-то типа индикатора Zigzag.
Написал такой код, который выдаёт ошибку: "array out of range" или значения максимум и минимум во всём массиве opens, а не в требуемом 30-свечном периоде.
Возможно, нужно создавать ещё один массив, который проверять в функциях ArrayMaximum() и ArrayMinimum(), но я запутался с вложенными циклами и размерностью массивов.
Подскажите, плиз.
if(i+30<=ArraySize(opens))
Здесь выход за пределы массива
Эта ошибка из-за невнимательности. Её исправление не решает проблемы.
Вот как бы создать массив из 30-ти цен открытия свечей, чтобы уже в нём искать максимумы и минимумы?
ArrayMaximum
ArrayMaximumВозвращает индекс максимального значения, а не цену.
Не проверял, но вроде так вы получите индексы минимумов и максимумов открытий (opens) свечей.
Хотя можно получить и сразу цену, а не индексы.
Нигде не нашёл примера цикла на mql с шагом. Это упрощает всё дело.
Только ChatGPT посоветовал мне такое написание:
Буду дальше экспериментировать. Код работает. Спасибо.
А ошибка "array out of range" возникает, если не делать ArrayResize.
Эта ошибка из-за невнимательности. Её исправление не решает проблемы.
Вот как бы создать массив из 30-ти цен открытия свечей, чтобы уже в нём искать максимумы и минимумы?
А в чём проблема? Объявите массив temp[] и в него копируйте по 30 элементов и в нём ищите индекс минимального\максимального значения. А если в конце будет меньше 30ти, то скопируется сколько осталось. И в этом случае, я лучше-бы использовал цикл while()
А в чём проблема? Объявите массив temp[] и в него копируйте по 30 элементов и в нём ищите индекс минимального\максимального значения. А если в конце будет меньше 30ти, то скопируется сколько осталось. И в этом случае, я лучше-бы использовал цикл while()
Да, можно и так. Плохо соображаю, поэтому спрашиваю совета.
Да, можно и так. Плохо соображаю, поэтому спрашиваю совета.
В статическом массиве задается размер константный, его не изменить, в динамическом его можно менять, но размер массива задается! т.е. размер массива известен и индексы элементов от 0 до конца. <= выход за пределы как раз потому что индексы элементов с нуля, и индекс последнего элемента меньше на единицу размера массива.
Все в Ваших руках))))