Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 530
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Прошу помощи! (MQL4)
Надо получить время открытия Дня на чарте М15 с учетом каждого бара - для индикатора.
Решил подсчитать в секундах с учетом текущего бара(0), но что то я ошибся, не могу понять где
D_Shift=(Open_time-pos*15*60-(Open_time-Open_timeTF))/1440*60;
Если для индикатора, то:
Но: этот код будет выполняться при каждом заходе в OnCalculate() - здесь уже в зависимости от Ваших нужд или добавить флаг bool или вынести код в отдельную функцию.
Если для индикатора, то:
Но: этот код будет выполняться при каждом заходе в OnCalculate() - здесь уже в зависимости от Ваших нужд или добавить флаг bool или вынести код в отдельную функцию.
Спасибо, но на каждом тике делать перерасчет не есть хорошо - надо осмыслить Ваш код, впрочем пока я хочу понять, почему мой код не работает, в лог возвращаются странные цифры
получается, что разница в 479 баров между первым баром дня и текущем баром - почему так?
Спасибо, но на каждом тике делать перерасчет не есть хорошо - надо осмыслить Ваш код, впрочем пока я хочу понять, почему мой код не работает, в лог возвращаются странные цифры
получается, что разница в 479 баров между первым баром дня и текущем баром - почему так?
Я ведь указал, что я не экстрасенс и поэтому:
Но: этот код будет выполняться при каждом заходе в OnCalculate() - здесь уже в зависимости от Ваших нужд или добавить флаг bool или вынести код в отдельную функцию.
Я ведь указал, что я не экстрасенс и поэтому:
Karputov Vladimir , не понимаю я Ваш код - ибо начинающий я в этом деле, ранее функцию OnCalculate вообще не использовал, поэтому не могу понять, что там рассчиталось rates_total, а главное куда это потом возвращать? Как это всё переделать в отдельную функцию так же пока не понимаю... без комментариев тяжело.
Вот полный код MQL4 индикатора:
Алгоритм его работы: при старте индикатора Вы задаёте временной интервал таймера (например 10 секунд) - это означает, что каждые 10 секунд будет срабатывать таймер:
и переменной IsDefineTime присваивается значение true. Для чего это нужно? Когда IsDefineTime=true мы можем в OnCalculate() зайти в цикл определения времени начала дня:
В этом цикле Мы начинаем обход по массиву time[] (в этом массиве хранятся значениями времени открытия) с самого правого бара (его индекс равен "0"). Когда найдено начало дня, Мы распринтовываем его значение и присваиваем переменной IsDefineTime значение false - таким образом мы защищаемся от последующего входа в цикл определения времени начала дня, пока снова не сработает таймер.
Karputov Vladimir, спасибо за пояснения, однако, как это решает задачу?
Необходимо грубо говоря узнать бар текущего ТФ соответствующий бару начала дня. Узнать на каждом баре, и соотвествтенно сделать расчет и отрисовку индикатора.
Karputov Vladimir, спасибо за пояснения, однако, как это решает задачу?
Необходимо грубо говоря узнать бар текущего ТФ соответствующий бару начала дня. Узнать на каждом баре, и соотвествтенно сделать расчет и отрисовку индикатора.
Как спросили, так Вам и ответили :) . А если Вам нужно не время первого бара за этот день, а индекс этого бара - так это вот здесь, когда принтуете начало дня:
Вы используете индекс [i-1] - это и есть номер первого бара за день.
Как спросили, так Вам и ответили :) . А если Вам нужно не время первого бара за этот день, а индекс этого бара - так это вот здесь, когда принтуете начало дня:
Вы используете индекс [i-1] - это и есть номер первого бара за день.
Согласен - спросил запутанно.
В приложении индикатор, который сделал я, но он считает не верно. Я жутко туплю и не понимаю, даже после объяснений с Вашей стороны, как мне заставить его правильно определять индекс соответствующий первому бару начала дня.
Прошу прощения за наглость, но может покажите, как объединить Ваш и мой код?
-Aleks-:
как мне заставить его правильно определять индекс соответствующий первому бару начала дня.
как-то фсё запущено) Как-то так: