Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1591
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Владимир, грубо говоря, можете рассматривать хендл как номер строки списка, который содержит адреса ячеек памяти, начиная с которых хранятся исполняемые коды расчёта всех нужных индикаторов. Поскольку индикаторов много разных, то в этот список нет смыла всегда добавлять их все. Он заполняется по запросам автора конкретного советника. Если какой-то индикатор нужен, то надо его в этот список добавить и расположить его код где-то в памяти.
Вызов функций типа iMA как раз добавляет новый пункт в этот список. То есть если в программе далее понадобится получить расчёты этого индикатора, то надо обратиться по адресу памяти, который идёт под очередным номером. Вот этот новый номер по списку и возвращают те функции, про которые написано, что они возвращают хендл.
Ну а что такое номер в списке, если не число?
Владимир, грубо говоря, можете рассматривать хендл как номер строки списка, который содержит адреса ячеек памяти, начиная с которых хранятся исполняемые коды расчёта всех нужных индикаторов. Поскольку индикаторов много разных, то в этот список нет смыла всегда добавлять их все. Он заполняется по запросам автора конкретного советника. Если какой-то индикатор нужен, то надо его в этот список добавить и расположить его код где-то в памяти.
Вызов функций типа iMA как раз добавляет новый пункт в этот список. То есть если в программе далее понадобится получить расчёты этого индикатора, то надо обратиться по адресу памяти, который идёт под очередным номером. Вот этот новый номер по списку и возвращают те функции, про которые написано, что они возвращают хендл.
Ну а что такое номер в списке, если не число?
Юрий, Вы правы также, как и Алексей. Сейчас специально в тестовом советнике поставил друг за другом первые попавшиеся на глаза хэндлы индикаторов iMA, iTEMA и iDEMA, после чего прогнал пошагово от точки остановки, заданной на iMA. Получил возврат значений от iMA - 10, от iTEMA - 11 и iDEMA - 12. Потом, как бы не переставлял местами хэндлы этих индикаторов, они все равно последовательно давали значения 10, 11 и 12.
Ваше объяснение, Юрий, более-менее стало мне понятно. Спасибо! Осталось только теперь понять самую малость - почему нумерация хэндлов начинается не с нуля, а с 10? )
С уважением, Владимир.
Владимир, а так ли уж необходимо вам это понять?
В мире программирования, да и вообще в мире, мы используем очень много вещей, без досконального понимания всех внутренних нюансов их работы. Мы доверяем разработчикам этих вещей, веря, что принятые ими решения реализовать что-то именно так, а не иначе, имели под собой какие-то основания.
Мне не пришлось поучаствовать в работе над компилятором и языком MQL5, поэтому не могу точно сказать, почему нумерация хендлов начинается с 10. Могу предположить почему это так, но в этом нет особого смысла. Ведь в коде мы не будем использовать хендлы как числа для выполнения каких-либо арифметических операций. Поэтому для нас, как пользователей MQL5, важны лишь две вещи:
почему нумерация хэндлов начинается не с нуля, а с 10?
Да, Юрий, именно в этом дело. Если уж пытаюсь в чём-то разобраться, то стараюсь это сделать по максимуму. )
Владимир, на всякий случай спрошу: понятна ли разница между понятиями "разработчик языка программирования MQL5" и "разработчик, использующий язык программирования MQL5"? Я говорил про первое, а вы, возможно, имели ввиду второе. Но могу ошибаться, конечно.
Владимир, на всякий случай спрошу: понятна ли разница между понятиями "разработчик языка программирования MQL5" и "разработчик, использующий язык программирования MQL5"? Я говорил про первое, а вы, возможно, имели ввиду второе. Но могу ошибаться, конечно.
Посмотрите каким числом заканчивается значение констант перечисления ENUM_APPLIED_PRICE
Здравствуйте, Артём! Позже, когда буду за компьютером, обязательно посмотрю.