Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 986
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В OnTick()проверяем доступность минимально-требуемой советнику истории и, если она ещё не доступна - уходим в ожидание следующего тика.
И пока не будут получены все требуемые советнику данные, он так и будет ожидать следующий тик.
Как только все необходимые данные будут подкачаны и получены, советник начнёт работу с новым баром и нужной ему историей.
Как Вы предлагаете проверять доступность истории, я что-то не понял...
Добавьте перед MQL4-функцией эту строку
и она станет работать в MT5.
Гениально. Огромное спасибо!
Подскажите в МТ5 можно реализовать такие кнопки, может уже есть у кого поделитесь кодом...
Предусмотреть проскальзывание и реквоты.
Здравствуйте, если по ценам Ask и Bid из класса CSymbolInfo более или менее пнятно, то как получить например SessionInterest или SessionBuyOrdersVolume или SessionPriceLimitMin, Выдает ноли, не могу понять почему...
Здравствуйте, если по ценам Ask и Bid из класса CSymbolInfo более или менее пнятно, то как получить например SessionInterest или SessionBuyOrdersVolume или SessionPriceLimitMin, Выдает ноли, не могу понять почему...
Если торговый сервер транслирует эту информацию - Вы её получите.
Как правило эту информацию транслируют Брокеры для биржевых символов (не путайте Брокера и дилинговые центры).
Если торговый сервер транслирует эту информацию - Вы её получите.
Как правило эту информацию транслируют Брокеры для биржевых символов (не путайте Брокера и дилинговые центры).
Брокер Открытие, Фьючерс на индекс РТС, предполагаю, что должен транслировать по крайней мере SessionPriceLimitMin и SessionPriceLimitMax (т.к. они насколько я понимаю по ценам открытия используются в рыночных ордерах). Неужели открытие не транслирует... Прописываю например:
Print(m_symbol.Ask()," ",m_symbol.SessionBuyOrdersVolume()); - из вашего советника
В журнал получаю только цены Ask
Прошу помощи в написании кусочка кода, который правильно бы определял дату последнего бара с любым сдвигом в любом TF с точностью до текущего ТФ.
Такой код в целом рабочий, но если только время начала текущего бара совпадает с фактическим (с округлением до минуты) баром, так как мой текущий график M1. А если не совпадает, то возникают различные казусы, в зависимости от разных TF. К примеру, мне надо узнать дату начала последнего бара M1 в прошлом часе, если это был час 12 то проблем нет, время будет 12:59, а если это 13 часов, то время будет уже 13:58 так как бар часовой открылся не в 14:00, а в 14:05 и функция iBarShift вернула ближайший бар к 14:00, а именно 13:59.
Добавлено: сделал так, кажется работает
Брокер Открытие, Фьючерс на индекс РТС, предполагаю, что должен транслировать по крайней мере SessionPriceLimitMin и SessionPriceLimitMax (т.к. они насколько я понимаю по ценам открытия используются в рыночных ордерах). Неужели открытие не транслирует... Прописываю например:
Print(m_symbol.Ask()," ",m_symbol.SessionBuyOrdersVolume()); - из вашего советника
В журнал получаю только цены Ask
Здравствуйте. Огромный респект всем тем кто помогает вникнуть в особенности МТ5. Без Вас это делать очень сложно... ступор, зависалово, бег по кругу. Так, что РЕСПЕКТ и УВАЖЕНИЕ.
Вопрос. Как лучше увязать rates_total и ограничения баров по истории? Верно ли увязал в коде? Спс за ответ, намек, подсказку.
СЕЙЧАС НАБЛЮДАЛ НАСТУПЛЕНИЕ НОВОГО ЧАСА. ВРОДЕ ВСЕ НОРМАЛЬНО РАБОТАЕТ.
Тогда вопрос: корректно ли я оформил в коде момент с rates_total ?
Читаю внимательно справку к функции Bars:
"
Если указаны параметры start_time и stop_time, то функция возвращает количество баров в диапазоне дат. Если эти параметры не указаны, то функция возвращает общее количество баров.
"
В справке не сказано, должны ли включатся даты начала или даты окончания, или нет, в результате не знаешь что ожидать от функции.
Удивляет работа функции:
При любом из вариантов, в том числе закомментированных, StopDt получаем значение 2!
Особенно удивляет вариант, когда начальная дата (2018.01.04 10:00) позже по времени конечной (2018.01.03 23:49) в секундном выражении - почему не выдается ошибка или хотя бы 1?
Если начальная и конечная дата совпадают, то тут уж логично выдать единицу, а не опять двойку!
Проверяю на ФОРТС инструмент Si, график минутный.