Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 183
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
int bt=((TimeCurrent()-5*60)/3600)*3600;
Значение bt будет меняться в 5 минут каждого часа. Можно в конце не умножать на 3600, будет номер бара от начала эпохи, этого достаточно для определения нового бара.
Всем спасибо помогающим.
Вопрос был таков.
<Есть такая функция NewBar(sy, ТF). Она смотрит открылся ли новый бар. Мне надо на часовом графике получить сигнал о появлений нового бара с запаздываем 5 мин. То есть я хочу получать сигнал в 0.05, 1.05,м 2.05, ..........., 10.05, 11.05 и т.д. >
Поясняю вопрос. Функция должна вернуть истину через каждый час, но с задержкой 5 мин. Т. е. когда кончаеться формировка бара 1.05 и появляеться бар 2.05, то с появлением последнего функция возвращает истину. Функция дает истину с появлением бара в 1.10, 2.10 и т.д.
На картинке желтая линия показывает, что на следующем баре была истина .
По вашим наводкам попробовал так, но неработает.
Сразу бросилось в глаза что типы не верные:
А потом их сравнивать и присваивать значения... int к datetime
Тока что написал на скорую руку. Смысл уловить можно, да и по ходу всё верно.
Да чего копья ломаете... Вот каждую пятую минуту часа возвращает TRUE и держит его одну минуту:
int bt=((TimeCurrent()-5*60)/3600)*3600;
Значение bt будет меняться в 5 минут каждого часа. Можно в конце не умножать на 3600, будет номер бара от начала эпохи, этого достаточно для определения нового бара.
Пропустил. Если умножать на 3600 в конце, тогда еще и назад прибавить поправку 5*60.
Да чего копья ломаете... Вот каждую пятую минуту часа возвращает TRUE и держит его одну минуту:
Ведь и, в правду, а мы тут нагородили с умным видом...
Пропустил. Если умножать на 3600 в конце, тогда еще и назад прибавить поправку 5*60.
Как-то всё завёрнуто и не читабельно. Хотя смысл я уловил.
Сразу бросилось в глаза что типы не верные:
А потом их сравнивать и присваивать значения... int к datetime
Да чего копья ломаете... Вот каждую пятую минуту часа возвращает TRUE и держит его одну минуту:
За эту минуту советник откроет ему до сорока ордеров.
Так контролировать нужно...либо кол-во ордеров, либо только первое обращение к функции..