Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1164
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Необходимо заранее продумывать как исполняется код на уровне памяти, инициализации и возврата значения.
не надо ничего продумывать, для этих вещей служат мануалы, а мануала по распределению памяти в MQL никогда не было, только сообщения разработчиков, причем часто с уточнением, что реализация может измениться
ладно, разговор сводится кто какую книжку по программированию читал, я со школы и до сих пор читаю и так последние 30 лет
не надо ничего продумывать, для этих вещей служат мануалы, а мануала по распределению памяти в MQL никогда не было, только сообщения разработчиков, причем часто с уточнением, что реализация может измениться
ладно, разговор сводится кто какую книжку по программированию читал, я со школы и до сих пор читаю и так последние 30 лет
Конечно не надо продумывать, а зачем... компилятор сам всё сделает. ))
C# не С
А по __inline смотри видос.
Там как раз объясняется как работают функции в памяти, для тех кому нет ни какой разницы.
Картинку сначала нарисуйте и укажите что для Вас "нулевой бар" для индикатора с параметром shift.
Нарисовал. Нулевой бар выделен вертикальной линией.
Нарисовал. Нулевой бар выделен вертикальной линией.
Пример кода:
Результат:
Как видите спокойно копируется, без танцев с бубном.
Пример кода:
Результат:
Как видите спокойно копируется, без танцев с бубном.
Пример кода. На основе индикатора. Индикатор занимается распледелением памяти буфера.
Когда start_pos = 0, то значение, соответствующее 0-му бару чарта, мы видим на 5-й позиции. 1.017041 В вашем эксперте оно на нулевой позиции. Ok.
Но мне нужно получить это значение на нулевой позиции.
Я задаю start_pos = 5. Не получаю нужный результат. Опять искомое значение на 5-й позиции.
Я задаю start_pos = -5. Не получаю нужный результат. Опять искомое значение на 5-й позиции.
Я задаю start_pos = -10. И только сейчас получаю нужный результат.
Пример кода. На основе индикатора. Индикатор занимается распледелением памяти буфера.
Когда start_pos = 0, то значение, соответствующее 0-му бару чарта, мы видим на 5-й позиции. 1.017041 В вашем эксперте оно на нулевой позиции. Ok.
Но мне нужно получить это значение на нулевой позиции.
Я задаю start_pos = 5. Не получаю нужный результат. Опять искомое значение на 5-й позиции.
Я задаю start_pos = -5. Не получаю нужный результат. Опять искомое значение на 5-й позиции.
Я задаю start_pos = -10. И только сейчас получаю нужный результат.
Нужно понимать разницу при работе ИЗ советника и ИЗ индикатора. Для работы из индикатора пользуйтесь примером из справки (iMA).
Нужно понимать разницу при работе ИЗ советника и ИЗ индикатора. Для работы из индикатора пользуйтесь примером из справки (iMA).
Так вы возьмите пример из справки iMA, добавьте
и убедитесь, что значение отличается от значения, выводимого вашим экспертом, ровно на ma_shift баров.
Мне же нужно получить в индикаторе в iMABuffer[0] значение, как у вас в эксперте в array_ma[0].
Как минимум, на текущий момент можно видеть, что поведение CopyBuffer для экспертов и для индикаторов отличается. Если вы понимаете разницу CopyBuffer при работе ИЗ советника и ИЗ индикатора, просьба указать соответствующий раздел документации для изучения.
Я попробую упростить вопрос. Как мне в индикаторе получить в буфер вот эти значения MA (начиная от красной вертикальной линии и влево)? Можете написать пример?
Я попробую упростить вопрос. Как мне в индикаторе получить в буфер вот эти значения MA (начиная от красной вертикальной линии и влево)? Можете написать пример?
На скрине отображение буфера смещено на пять баров вправо. Значит - чтобы получить пятый бар индикаторного буфера (с индексом 4), и далее по списку влево, откуда их нужно получить? Из Buffer[4] и далее влево.
В теории. На практике - дааавно не открывал код индикаторов, и не работал с ними - почти год как... Попробуйте.
В теории. На практике - дааавно не открывал код индикаторов, и не работал с ними - почти год как... Попробуйте.
Мастерство не пропьёшь.