double ld_High = iHigh (Symbol(), PERIOD_H1, iHighest (Symbol(), PERIOD_H1, MODE_HIGH, 5, 0));P.S. "для периода Н1 High текущего дня 5 баров назад" - приходится только догадываться... :)))
А расскажите мне, чем Хай дня на Д1 отличается от такого же хая на Н1?
Он имеет в виду, найти тот хай дня, который был 5 часов назад. Очевидно, за это время Хай мог быть пробит, поэтому просто iHigh(…), как сделано двумя постами выше, не прокатит.
Вариантов два - либо делать небольшую подпрограмму для расчета, либо запоминать в отдельном буфере значение High дня в начале каждого часа.
Он имеет в виду, найти тот хай дня, который был 5 часов назад. Очевидно, за это время Хай мог быть пробит, поэтому просто iHigh(…), как сделано двумя постами выше, не прокатит.
iHigh(NULL, PERIOD_H1, 5);чем не вариант ?
чем не вариант ?
Покажет High пятого бара на часовом графике, то же, что и High[5]
А надо Хай дневного графика, который был 5 часов назад.
Покажет High пятого бара на часовом графике, то же, что и High[5]
А надо Хай дневного графика, который был 5 часов назад.
Был не внимательным, здесь Вы правы.
На вскидку, как-то так:
iHigh(NULL,PERIOD_D1,iHighest(NULL, PERIOD_H1, MODE_HIGH, iBarShift(NULL,PERIOD_D1,iTime(NULL,PERIOD_D1,0),false)-5, 5));Не очень оптимально, но через вызов стандартных функций.
Всем доброго дня!
Подскажите как, например для периода Н1, определить High текущего дня 5 баров назад?
PS: нужно писать скрипт, который проанализирует кол-во баров от начала дня до 5-го бара от текущего времени или есть готовая функция?
Определить то просто, только ответьте на вопрос.
Если сeйчас меньше 5 часов, хай какого дня вам нужен- текущего или вчерашнего?
Он имеет в виду, найти тот хай дня, который был 5 часов назад.
Если рассчитывать только текущие сутки, и учитывать текущий часовой бар:
int li_Shift = iBarShift (Symbol(), PERIOD_H1, iTime (Symbol(), PERIOD_D1, 0)); // номер текущего H1 бара double ld_High; if (li_Shift < 5) ld_High = iHigh (Symbol(), PERIOD_D1, 0); // в текущих сутках не "накопилось" 5 часов else ld_High = iHigh (Symbol(), PERIOD_H1, iHighest (Symbol(), PERIOD_H1, MODE_HIGH, li_Shift - 5, 4);Если нужны другие условия, топикстартер сможет потренироваться.
Уже кое-что прояснилось. :)
Если рассчитывать только текущие сутки, и учитывать текущий часовой бар:
Если нужны другие условия, топикстартер сможет потренироваться.Спасибо,мне очень это помогло,я постараюсь результаты в ближайшее время выложить сюда в ветку.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем доброго дня!
Подскажите как, например для периода Н1, определить High текущего дня 5 баров назад?
PS: нужно писать скрипт, который проанализирует кол-во баров от начала дня до 5-го бара от текущего времени или есть готовая функция?