Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 532
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
дык
и есть округление до начала дня. 86400=24*60*60Есть время. У времени есть такие параметры как: год, месяц, день, часы, минуты, секунды и т.д. Вызвав функцию TimeToStruct() Вы раскладываете время на эти составляющие. Далее, например, можно обнулить часы, минуты и секунды - получите начало дня.
MqlDateTime - это тип данных, такой же, как int, bool и т.д. Просто это составной тип, т.е. чтобы получить доступ к его полям (часам, минутам, секундам...) нужно использовать точку. Например: dt_struct.hour - значение часов. Про структуры подробнее https://www.mql5.com/ru/docs/basis/types/classes.
По Вашей формуле мы получим количество дней между текущем баром и отдаленным, но эти дни условны т.е. это может быть 9 часов текущего дня и 1 час позапрошлого дня , тогда разница в секундах составит 122400 , что равняется 1,42 дня - при округлении будет 1 день, а нужно что б было 2.
день потеряли, 23ч+24ч+9ч=2 дня 8ч... Эта формула нафих не надо, если требуецо:
Мне необходимо произвести расчет на каждом графике текущего ТФ. Для расчета требуется знать дату верхнего ТФ (дни). Выше я приложил код - смысл в том, что б знать на каждом баре максимальную цену верхнего ТФ на момент открытия бара на текущем ТФ.
А ви таки говорите - структуры.. :)
день потеряли, 23ч+24ч+9ч=2 дня 8ч... Эта формула нафих не надо, если требуецо:
Повторюсь:А ви таки говорите - структуры.. :)
Почему у Вас 23 часа - я ж написал 1 час , впрочем суть не меняется
24(позавчера - в час вчера)+24(вчера - в час сегодня)+8 ( после часа сегодня - минус час)=56/24=2,33 т.е. получилось два дня согласны?
Почему у Вас 23 часа - я ж написал 1 час , впрочем суть не меняется
24(позавчера - в час вчера)+24(вчера - в час сегодня)+8 ( после часа сегодня - минус час)=56/24=2,33 т.е. получилось два дня согласны?
23ч до начала вчерашнего дня+
24ч вчерашний+
9ч сегодня=
2дня 8ч=2,(33)дня
Правильно всё-таки как-то так:
Неважно, это не нужно)23ч до начала вчерашнего дня+
24ч вчерашний+
9ч сегодня=
2дня 8ч=2,(33)дня
Правильно всё-таки как-то так:
Неважно, это не нужно)А теперь представим, что не 9 часов сего дня, а 19
24(позавчера - в час вчера)+24(вчера - в час сегодня)+18 ( после часа сегодня - минус час)=66/24=2,75 т.е. получилось три дня согласны?
Как бы диапазон не изменился дневной, а расчет в течении дня даёт то 2, то 3 дня - в этом беда.
Вариант
int DayN=time[0]/86400-time[163]/86400;
Вариант так же не годится, если мы представим что текущий бар 1 час, а расчетный - 23 часа, в этом случае будет результатом вычисления ноль, а должен быть 1.
Будет 1, оба времени сначала округляются до целого дня, после вычитаются.
Вопрос то в принципе в чем. Это нормальный код или херня на постном масле?
Всем привет. Вот вопрос. Есть кусок кода. Который говорит. Точнее должен говорить, что нужно покупать или продавать но только тогда когда индикатор AO и AC в одной плоскости. Покупка ниже нуля а продажа выше нуля.
Вопрос то в принципе в чем. Это нормальный код или херня на постном масле?
Я бы назвал сам подход "херня на постном масле"
Вы видели когда нибудь, чтоб цена шла именно за индикатором? Так-же стоит учесть, что это индикаторы Б.Вильямса, а он как известно - на форексе не торговал, да и сама суть уже давно устарела.