Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2683
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Подскажите как получить время начала открытия дня на текущем символе
интересует например XAUUSD у него должно быть открытие 01 час,
такая функция показывает
2025.11.27 00:00, должно быть 01 час
пытаюсь нарисовать трендовую линию от открытия дня, и не получается привязаться к символам которые открываются не в 00 часов,
т.е. если задать стартовую точку на трендовой линии 00 часов, а торговый день по символу начинается позже (MOEX например), то линия привязывается ко времени на один бар назад, выглядит это так:
Как вариант. Прибавить один час к dayStartTime (+3600). Чтоб рисовалось на бар позже.
Нужно по текущему символу.......... Не подстраивать инпутами под разные рынки
Есть несколько топорный вариант, но, пожалуй, он сработает.
1. Пишем индикатор, который на Д1 будет отслеживать число свеч на графике (это очень просто; см. ниже). В индикатор вставляем переменную глобального уровня терминала и в блоке инициализации её обнуляем. Если появилась новая свеча, то индикатор вносит в эту переменную положительное число. Он это делает один раз в день.
2. Пишем индикатор или советник для меньшего таймфрейма. Как только переменная глобального уровня терминала стала больше нуля, наш код запоминает время открытия текущей свечи и обнуляет эту переменную.
Поскольку ранок того же Золота открывается не в ноль часов, а в час, то и свеча нового дня начнёт формироваться в час.
Код для отслеживания новой свечи:
Как вариант. Прибавить один час к dayStartTime (+3600). Чтоб рисовалось на бар позже.
это не будет работать, нужно указывать не плюс бар, а конкретное время, а это и +7 часов и +9:50 к 00 часам, иначе опять привязка к прошлому ближайшему бару
Aleksandr Slavskii скинул подобное обсуждение, пока не смотрел эти решения
https://www.mql5.com/ru/forum/441593/page2#comment_44973956
пока вижу самый простой вариант - сравнивать значение OpenD1, если не равно, пройтись CopyTime по последним барам, найти меньшее время
это не будет работать, нужно указывать не плюс бар, а конкретное время, а это и +7 часов и +9:50 к 00 часам, иначе опять привязка к прошлому ближайшему бару
пока вижу самый простой вариант - сравнивать значение OpenD1, если не равно, пройтись CopyTime по последним барам, найти меньшее время
Может такой вариант подойдёт?
Можно и даже наверное нужно добавить условия проверки типа если полученное время …
Вариант с проверкой
Ваш код, во-первых, не с индикатора, а для советника. Во-вторых, он должен компилироваться с ошибкой. В-третьих, этот код не отвечает на поставленный вопрос. Где у вас в коде можно увидеть время начала дня в любое время суток? Поэтому, либо исправляйте и выкладывайте рабочий код, либо не выкладывайте вовсе.
Может такой вариант подойдёт?
Можно и даже наверное нужно добавить условия проверки типа если полученное время …
я уже много способов нашел которые в скрипте работают, в индикаторе это должно экономно считаться.... иначе повиснет расчет
я уже много способов нашел которые в скрипте работают, в индикаторе это должно экономно считаться.... иначе повиснет расчет
Ничего не повиснет. В коде нет ни одного цикла которые вешают выполнение кодов. В индикаторе даже проще, там имеется массив текущего времени.
Я подсказал вариант поиска и проверки полученного результата. А вы сами по этому примеру можете править свои мысли или просто забыть об этом.
Ничего не повиснет. В коде нет ни одного цикла которые вешают выполнение кодов. В индикаторе даже проще, там имеется массив текущего времени.
Я подсказал вариант поиска и проверки полученного результата. А вы сами по этому примеру можете править свои мысли или просто забыть об этом.
в общем в индикаторе опять не работает)
привязка опять не к 1:00 по xauusd, правильно начинают день рисовать индикаторные буфера, но они не могут в будущее рисовать, т.е. сразу до конца дня, вот пытаюсь такую простую функцию реализовать в виде "ПАЛОК" от начала дня до конца, оказалось не так и просто
т.е. они по факту нужны только на последнем дне, для визуального просмотра, и не участвовать в расчетах по всему графику
можно дорисовать от текущего часа палку, но находясь на одной ценовой шкале с индикаторными линиями не совпадают))) некрасиво.
в общем в индикаторе опять не работает)
привязка опять не к 1:00 по xauusd, правильно начинают день рисовать индикаторные буфера, но они не могут в будущее рисовать, т.е. сразу до конца дня, вот пытаюсь такую простую функцию реализовать в виде "ПАЛОК" от начала дня до конца, оказалось не так и просто
т.е. они по факту нужны только на последнем дне, для визуального просмотра, и не участвовать в расчетах по всему графику
можно дорисовать от текущего часа палку, но находясь на одной ценовой шкале с индикаторными линиями не совпадают))) некрасиво.
Всё работает
Я отвечал только на этот вопрос
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
lynxntech, 2025.11.27 17:40
Подскажите как получить время начала открытия дня на текущем символе
интересует например XAUUSD у него должно быть открытие 01 час,
такая функция показывает
2025.11.27 00:00, должно быть 01 час
пытаюсь нарисовать трендовую линию от открытия дня, и не получается привязаться к символам которые открываются не в 00 часов,
т.е. если задать стартовую точку на трендовой линии 00 часов, а торговый день по символу начинается позже (MOEX например), то линия привязывается ко времени на один бар назад, выглядит это так:
не работает, вот скрипт линию рисует,
Вот почему у меня такая плохая память? Я уже зарекался вам что либо подсказывать и опять попал на те-же грабли.
Вы хоть чуток думать умеете??? Где определяется переменная td? И какое время распечатывается? Какое время вы ставите в создание трендовой???
Бесплатный вам совет: Бросьте заниматься программированием. Это не ваше. Не царское дело в … ковыряться.