Подскажите пожалуйста, как просто (а значит быстро работающая
программа) определять пересечение какой-либо горизонтальной
линии основываясь на тиках.
- Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
- Как определить момент пересечения линий графиков в MetaTrader?
- Как сделать, чтобы точка пересечения отображалась горизонтальной линией?
Например
OltTick < Level && Tick > Level
т.е. все же приходится определять переменную OldTick на глобальном
уровне, нет возможности вытащить предыдущий тик из какого-нибудь
массива?
А как быть с запаздыванием тиков (кто-нибудь сталкивался с этим?), для чего-то нужна функция RefreshRates( ) ?
А как быть с запаздыванием тиков (кто-нибудь сталкивался с этим?), для чего-то нужна функция RefreshRates( ) ?
Idol:
Подскажите пожалуйста, как просто (а значит быстро работающая программа) определять пересечение какой-либо горизонтальной линии основываясь на тиках.
А зачем мудрить? Пусть у тебя есть горизонтальная линия. Значит ее значение - высота обоих точек - это некая цена. Если цена открытия бара ниже твоей линии, а текущая цена выше, значит факт пересечения налицо. Также и наоборот. Если цена открытия выше твоей линии, а текущая цена ниже, значит опять имеем пересечение.
Подскажите пожалуйста, как просто (а значит быстро работающая программа) определять пересечение какой-либо горизонтальной линии основываясь на тиках.
Idol:
т.е. все же приходится определять переменную OldTick на глобальном уровне, нет возможности вытащить предыдущий тик из какого-нибудь массива?
А как быть с запаздыванием тиков (кто-нибудь сталкивался с этим?),
С этим сталкивается эксперт. Он просто игнорирует тех, кто опоздал. Что по сути правильно. Ведь разные тики по TCP/IP протоколу могут прийти на клиентский терминал не обязательно в том порядке, каком они были отправлены сервером.
для чего-то нужна функция RefreshRates( ) ?
Чтобы освежиться
т.е. все же приходится определять переменную OldTick на глобальном уровне, нет возможности вытащить предыдущий тик из какого-нибудь массива?
А как быть с запаздыванием тиков (кто-нибудь сталкивался с этим?),
С этим сталкивается эксперт. Он просто игнорирует тех, кто опоздал. Что по сути правильно. Ведь разные тики по TCP/IP протоколу могут прийти на клиентский терминал не обязательно в том порядке, каком они были отправлены сервером.
для чего-то нужна функция RefreshRates( ) ?
Reshetov:
Это работает не корректно, особенно на часовых барах и выше. Цена за это время, к примеру, успевает подняться, пересекая нужную линию и опустить ниже цены открытия бара. Результат: никакого пересечения и не было. Idol:
Подскажите пожалуйста, как просто (а значит быстро работающая программа) определять пересечение какой-либо горизонтальной линии основываясь на тиках.
А зачем мудрить? Пусть у тебя есть горизонтальная линия. Значит ее значение - высота обоих точек - это некая цена. Если цена открытия бара ниже твоей линии, а текущая цена выше, значит факт пересечения налицо. Также и наоборот. Если цена открытия выше твоей линии, а текущая цена ниже, значит опять имеем пересечение.Подскажите пожалуйста, как просто (а значит быстро работающая программа) определять пересечение какой-либо горизонтальной линии основываясь на тиках.
Возможно, этот вариант пройдет для определенных случаев, но он не универсален.
Reshetov:
Хотелось бы знать в каких случаях нужно "освежаться". ;)
Idol:
т.е. все же приходится определять переменную OldTick на глобальном уровне, нет возможности вытащить предыдущий тик из какого-нибудь массива?
А как быть с запаздыванием тиков (кто-нибудь сталкивался с этим?),
С этим сталкивается эксперт. Он просто игнорирует тех, кто опоздал. Что по сути правильно. Ведь разные тики по TCP/IP протоколу могут прийти на клиентский терминал не обязательно в том порядке, каком они были отправлены сервером.
для чего-то нужна функция RefreshRates( ) ?
Чтобы освежитьсят.е. все же приходится определять переменную OldTick на глобальном уровне, нет возможности вытащить предыдущий тик из какого-нибудь массива?
А как быть с запаздыванием тиков (кто-нибудь сталкивался с этим?),
С этим сталкивается эксперт. Он просто игнорирует тех, кто опоздал. Что по сути правильно. Ведь разные тики по TCP/IP протоколу могут прийти на клиентский терминал не обязательно в том порядке, каком они были отправлены сервером.
для чего-то нужна функция RefreshRates( ) ?
Idol:
Когда у тебя программуля мудрит так долго, что время ее работы
превышает значение функции Period()
Reshetov:
Хотелось бы знать в каких случаях нужно "освежаться". ;)Idol:
т.е. все же приходится определять переменную OldTick на глобальном уровне, нет возможности вытащить предыдущий тик из какого-нибудь массива?
А как быть с запаздыванием тиков (кто-нибудь сталкивался с этим?),
С этим сталкивается эксперт. Он просто игнорирует тех, кто опоздал. Что по сути правильно. Ведь разные тики по TCP/IP протоколу могут прийти на клиентский терминал не обязательно в том порядке, каком они были отправлены сервером.
для чего-то нужна функция RefreshRates( ) ?
Чтобы освежитьсят.е. все же приходится определять переменную OldTick на глобальном уровне, нет возможности вытащить предыдущий тик из какого-нибудь массива?
А как быть с запаздыванием тиков (кто-нибудь сталкивался с этим?),
С этим сталкивается эксперт. Он просто игнорирует тех, кто опоздал. Что по сути правильно. Ведь разные тики по TCP/IP протоколу могут прийти на клиентский терминал не обязательно в том порядке, каком они были отправлены сервером.
для чего-то нужна функция RefreshRates( ) ?
Idol:
Возможно, этот вариант пройдет для определенных случаев, но он не универсален.
У меня это работает корректно, т.к. проверка осуществляется по приходу каждого тикета, а не после if (prevtime = Time[0]) return(0);
Reshetov:
Это работает не корректно, особенно на часовых барах и выше. Цена за это время, к примеру, успевает подняться, пересекая нужную линию и опустить ниже цены открытия бара. Результат: никакого пересечения и не было. Idol:
Подскажите пожалуйста, как просто (а значит быстро работающая программа) определять пересечение какой-либо горизонтальной линии основываясь на тиках.
А зачем мудрить? Пусть у тебя есть горизонтальная линия. Значит ее значение - высота обоих точек - это некая цена. Если цена открытия бара ниже твоей линии, а текущая цена выше, значит факт пересечения налицо. Также и наоборот. Если цена открытия выше твоей линии, а текущая цена ниже, значит опять имеем пересечение.Подскажите пожалуйста, как просто (а значит быстро работающая программа) определять пересечение какой-либо горизонтальной линии основываясь на тиках.
Возможно, этот вариант пройдет для определенных случаев, но он не универсален.
Idol:
Хотелось бы знать в каких случаях нужно "освежаться". ;)
Хотелось бы знать в каких случаях нужно "освежаться". ;)
Reshetov:
Когда у тебя программуля мудрит так долго, что время ее работы превышает значение функции Period()
Глупости =)Когда у тебя программуля мудрит так долго, что время ее работы превышает значение функции Period()
RefreshRates() нужно использовать для получения свежих (актуальных, последних) рыночных данных (например, Аск и Бид).
А они могут "устареть" (поменяться) и за секунду ;)
komposter:
RefreshRates() нужно использовать для получения свежих (актуальных, последних) рыночных данных (например, Аск и Бид).
А они могут "устареть" (поменяться) и за секунду ;)
т.е. советник который обрабатывает каждый тик более ~секунды
будет работать некорректно или запаздывать. Но в этом случае
и RefreshRates() не поможет. Или я чего-то не улавливают или одно из
двух :). ???Idol:
Хотелось бы знать в каких случаях нужно "освежаться". ;)
Хотелось бы знать в каких случаях нужно "освежаться". ;)
Reshetov:
Когда у тебя программуля мудрит так долго, что время ее работы превышает значение функции Period()
Глупости =)Когда у тебя программуля мудрит так долго, что время ее работы превышает значение функции Period()
RefreshRates() нужно использовать для получения свежих (актуальных, последних) рыночных данных (например, Аск и Бид).
А они могут "устареть" (поменяться) и за секунду ;)
Какой-нибудь пример, что ли, для наглядности.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь