Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 740
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Продублирую вопрос сюда, в индикаторах никто не отзывается..
Начал изучать MQL5. Опыта в программировании нет, потому возникают некоторые вопросы и непонятки. Часть из них решается самостоятельно, на анализе примеров и частично методом тыка, но отдельные моменты не понять вот так сразу. Начал изучение с простого - получить вывод на главное окно графика две линии инструментов. Построение по Close текущего и дополнительного (родственного, примечание будет далее) инструмента по текущему таймфрейму на 1000 баров назад. Родственный инструмент - фьючерс следующей серии, он малоликвиден и всегда имеет некоторые пробелы в данных, т.е. количество сделок не такое частое, как в основной серии фьючерса. Задача казалось бы выполнена, но есть ошибки. О том, пригодится ли мне сглаживание сказать не могу, поэтому использовал iMA с периодом 1, чтобы в случае необходимости можно было сгладить без переделок.
Вот вопросы:
1. при компиляции, когда я копирую буффер iMA в массив, вижу предупреждение "possible loss of data due to type conversion". Что это такое и почему, о какой конвертации типов речь? Линии же отрисовались нормально и вроде ничего не пропало.
2. После отработки индикатора и появления линий двух инструментов на главном окне графика я вижу, что они не синхронизированы. Т.е. первый инструмент в норме и соответствует свечному графику основного окна. Второй (менее ликвидный) с пробелами, и поэтому он постепенно "поджимается" вызывая рассинхрон. А нужно, чтобы он синхронизировался по времени как-то. Это для меня пока непосильно. Надо увидеть правку наглядно, чтобы понять чего не хватает.
Вот скрин, как это выглядит. Желтая линия - то, что нужно синхронизировать относительно зеленой. Чтобы в желтой линии, где пробелы по датам просто были "соединения" предыдущий значений со следующими, а не поджатие с пропуском дат. Код в приложении.
Продублирую вопрос сюда, в индикаторах никто не отзывается..
Начал изучать MQL5. Опыта в программировании нет, потому возникают некоторые вопросы и непонятки. Часть из них решается самостоятельно, на анализе примеров и частично методом тыка, но отдельные моменты не понять вот так сразу. Начал изучение с простого - получить вывод на главное окно графика две линии инструментов. Построение по Close текущего и дополнительного (родственного, примечание будет далее) инструмента по текущему таймфрейму на 1000 баров назад. Родственный инструмент - фьючерс следующей серии, он малоликвиден и всегда имеет некоторые пробелы в данных, т.е. количество сделок не такое частое, как в основной серии фьючерса. Задача казалось бы выполнена, но есть ошибки. О том, пригодится ли мне сглаживание сказать не могу, поэтому использовал iMA с периодом 1, чтобы в случае необходимости можно было сгладить без переделок.
Вот вопросы:
1. при компиляции, когда я копирую буффер iMA в массив, вижу предупреждение "possible loss of data due to type conversion". Что это такое и почему, о какой конвертации типов речь? Линии же отрисовались нормально и вроде ничего не пропало.
2. После отработки индикатора и появления линий двух инструментов на главном окне графика я вижу, что они не синхронизированы. Т.е. первый инструмент в норме и соответствует свечному графику основного окна. Второй (менее ликвидный) с пробелами, и поэтому он постепенно "поджимается" вызывая рассинхрон. А нужно, чтобы он синхронизировался по времени как-то. Это для меня пока непосильно. Надо увидеть правку наглядно, чтобы понять чего не хватает.
Вот скрин, как это выглядит. Желтая линия - то, что нужно синхронизировать относительно зеленой. Чтобы в желтой линии, где пробелы по датам просто были "соединения" предыдущий значений со следующими, а не поджатие с пропуском дат. Код в приложении.
1. Хендл индикатора должен иметь тип int. Пример смотреть тут: CopyBuffer
1. Хендл индикатора должен иметь тип int. Пример смотреть тут: CopyBuffer
Точно, этот момент я проглядел, ошибка при компиляции пропала, спасибо!
Но основная проблема на данный момент - рассинхрон, остается актуален. Без его решения нельзя будет например проводить математические операции между инструментами, которые я и планирую испытывать.
Точно, этот момент я проглядел, ошибка при компиляции пропала, спасибо!
Но основная проблема на данный момент - рассинхрон, остается актуален. Без его решения нельзя будет например проводить математические операции между инструментами, которые я и планирую испытывать.
Я бы на Вашем месте начал с правильного написания кода - дело в том, что сейчас Ваш стиль - это бесшабашный "четвёрочный" - то есть нет проверок, всё на авось.
Начните исправлять OnInit():
Я бы на Вашем месте начал с правильного написания кода - дело в том, что сейчас Ваш стиль - это бесшабашный "четвёрочный" - то есть нет проверок, всё на авось.
Начните исправлять OnInit():
Кто ж тебе сказал, друг, что нельзя тяпляпать на пятёрке, и писать красиво на четвёрке?
Дело не в ПЛАТФОРМЕ, а в голове конкретного писаки...
Профессор Преображенский верно говорил про то, где разруха - не в клозетах, а в головах...
Я бы на Вашем месте начал с правильного написания кода - дело в том, что сейчас Ваш стиль - это бесшабашный "четвёрочный" - то есть нет проверок, всё на авось.
Начните исправлять OnInit():
Ну, теперь буду знать, как мой стиль называется) Правда я начинаю сразу с пятой версии, с нуля)
Спасибо, пункты 1 и 2 исправил. Вся загвоздка в блоке калькуляции. Буду думать как прописать расположение баров двух инструментов в соответствии с временем. Иначе рассихрон и всё то же предупреждение №4806.
Ну, теперь буду знать, как мой стиль называется) Правда я начинаю сразу с пятой версии, с нуля)
Спасибо, пункты 1 и 2 исправил. Вся загвоздка в блоке калькуляции. Буду думать как прописать расположение баров двух инструментов в соответствии с временем. Иначе рассихрон и всё то же предупреждение №4806.
Воооот! Правильно! Так как, например на M1 по фьючерсу "A" есть бары в 13 минут, 14 минут и 15 минут. А по фьючерсу "Б" есть только в 13 минут и в 15 минут - то есть дыра. Где-то были статьи, искать по слову "дыра".
Добрый день.
Подскажите, пожалуйста, как найти цену трэндовой линии для текущего бара? Пробовал через ObjectGetDouble, но не дает нужного результата. Пример кода:
Добрый день.
Подскажите, пожалуйста, как найти цену трэндовой линии для текущего бара? Пробовал через ObjectGetDouble, но не дает нужного результата. Пример кода: