Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 865
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Прошу помощи в решении такой задачи.
Допустим у меня есть текущий тайм фрейм - M1, мне надо знать время последнего бара N заданного бара любого верхнего TF, при этом час может быть не 60 минут, а 45 или иное любое время, а кроме того есть выходные, а надо узнавать с любого TF дату последнего бара текущего TF.
Как это реализовать?
Указываете номер бара, имя символа и нужный таймфрейм:
Проверяете (на всякий случай) - если возвратила функция время D'1970.01.01 00:00:00' - значит ошибка.
Столкнулся с проблемой что ордер на продажу не выставился
Правильно ли я понимаю что брокер принял ордер а потом отклонил?
На каком основании тогда и почему не написал? В журналах больше ошибок нет. До этой ошибки было больше 50 ордеров и все без ошибок. После этой ошибки тоже ошибок не видно.
Можно ли избавится от этой проблемы?
Указываете номер бара, имя символа и нужный таймфрейм:
Проверяете (на всякий случай) - если возвратила функция время D'1970.01.01 00:00:00' - значит ошибка.
Я использую эту функцию, она хуже предложенной Вами?
Проблема в том, что если у меня текущий тайм фрейм 1 минута, я хочу узнать номер последнего бара текущего таймфрейма в выбранном тайм фрейме, но при этом прошло уже много времени (разрыв из-за выходных или из-за того что вечерняя сессия закрылась в 23-50, а открылась следующая только в 10-00), то возвращается 09:59 а не 23:49:00, запрашиваю время так
Поэтому и стал вопрос, как добыть это время последнего бара при любых комбинациях ТФ?
...
Проблема в том, что если у меня текущий тайм фрейм 1 минута, я хочу узнать номер последнего бара текущего таймфрейма в выбранном тайм фрейме, ...
На выделенной фразе мой мозг взорвался.
На выделенной фразе мой мозг взорвался.
Там описка, мне нужна дата последнего бара текущего таймфрейма, который относится к выбранному бару верхнего таймфрейма.
Так понятно?Там описка, мне нужна дата последнего бара текущего таймфрейма, который относится к выбранному бару верхнего таймфрейма.
Так понятно?Нет, не понятно. Мозг продолжает бурлить и взрываться :). Один бар принадлежит только своему таймфрейму.
Там описка, мне нужна дата последнего бара текущего таймфрейма, который относится к выбранному бару верхнего таймфрейма.
Так понятно?Если я правильно понял Ваш запрос, то:
1. Определите время закрытия нужного бара верхнего ТФ.
2. Вычислите время бара младшего ТФ, который завершается вместе с баром старшего ТФ.
3. По этому времени запросите бар младшего ТФ (запрос не строгий) - полУчите ближайший слева по временной шкале бар - тот что вам нужен.
4. Проконтролируйте, если необходимо, что данный бар находится внутри бара верхнего ТФ (исключить вариант, когда баров младшего ТФ внутри бара старшего ТФ вообще не оказалось по какой-то причине).
Нет, не понятно. Мозг продолжает бурлить и взрываться :). Один бар принадлежит только своему таймфрейму.
Хорошо, переходим на визуализацию мыслей :)
Белым цветом показал где делаем запрос, желтым время бара, которое мы должны получить.
Так понятней? Если нет, то прошу задавать уточняющие вопросы.
Хорошо, переходим на визуализацию мыслей :)
Белым цветом показал где делаем запрос, желтым время бара, которое мы должны получить.
Так понятней? Если нет, то прошу задавать уточняющие вопросы.
1. Картинка малоквата - в следующий раз сразу ставьте 2 метра на два :)
2. Мысль снова не понял - Вы показали график на каком-то таймфрейме. Какая проблема запросить на этом таймфрейме бар номер N?
1. Картинка малоквата - в следующий раз сразу ставьте 2 метра на два :)
2. Мысль снова не понял - Вы показали график на каком-то таймфрейме. Какая проблема запросить на этом таймфрейме бар номер N?
1. Могу и больше - не проблема ;)
2. Тайм фрейм указан в левом верхнем углу - M5. Я не могу запросить бар номер N так-как не знаю, как его точно узнать, особенно если сдвиг это не 1 бар верхнего ТФ, а больше баров.
Попробую для сдвига в один бар алгоритм такой:
1. Выяснить сколько прошло баров с начала текущего верхнего ТФ
2. Сдвинуть полученное число на 1 бар и узнать время через функцию iTime