Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
можно так class CNewbar , или поиском по форуму NewBar
У Вас в классе вызов iTime. Мне посоветовали о ней забыть.) К тому же, где гарантия что она в свою очередь не делает туже работу, что и CopyRates? Вы же ее на каждом тике вызываете. Короче, буду вызывать CopyRates на каждом тике и вопрос закрыт.
Да, на каждом тике проверяем время:
И вкратце как-то так:
просто на коленке писал - показать идею, а не точность написания
Буду вызывать на каждом тике. Спс.
можно так class CNewbar , или поиском по форуму NewBar
ЗЫ: целая статья! https://www.mql5.com/ru/articles/159
понятно, все как обычно..уфф,ай,ой.. и ни строчки кода )))
я привел свой пример, чтобы показать, что не всегда удобно (а зачастую и редко нужно) получать массив последовательных OHLC, в практических задачах чаще требуется получить выборочно значения OHLC с разных баров (индикаторы не в счет)
ладно, не хворай!
Да ладно. Толстые чаще всего тёплые. Поэтому можно и этими сравнениями пользоваться. Кому какое дело до того что тебе надо OHLC... Игорь сказал что надо фракталами пользоваться, вот и пользуйся...
У Вас в классе вызов iTime. Мне посоветовали о ней забыть.) К тому же, где гарантия что она в свою очередь не делает туже работу, что и CopyRates? Вы же ее на каждом тике вызываете. Короче, буду вызывать CopyRates на каждом тике и вопрос закрыт.
Это дольше, чем один раз вызвать на каждом тике CopyTime() или iTime().
CopyRates() вызывайте только тогда, когда вам разом нужно получить одновременно все значения бара - в момент определения нового бара.
Нет смысла вычислять новый бар, если само вычисление задействует CopyRates или его аналог. Те же расходы будут.
Буду вызывать на каждом тике. Спс.
Ответил - ошибаетесь.
Это дольше, чем один раз вызвать на каждом тике CopyTime() или iTime().
CopyRates() вызывайте только тогда - когда вам разом нужно получить одновременно все значения бара - в момент определения нового бара.
Хорошо. Значит установку забыть о iXXX функциях нужно забыть.))
Хорошо. Значит утверждение забыть о iXXX функциях нужно забыть.))
Конечно. Не всё полезно, что говорят. И я могу фигню наговорить :)))
Но тут - из соображений скорости: CopyRates() удобна когда нужно получить одновременно несколько значений одного бара (ваш случай). Она медленнее, чем CopyTime() или iTime(), но если вы четыре раза вызовите CopyOpen(), CopyHigh(), CopyLow() и CopyClose() + (CopyTime() при необходимости), то это получится медленнее, чем один раз вызывать CopyRates(), которая разом вернёт все нужные значения.
Вывод: на каждом тике работаем с CopyTime() или iTime() для определения нового бара, а в момент появления нового бара единожды вызываем CopyRates().
А религиозные заявления, не подтверждённые ничем, кроме веры - не стоит брать в расчёт. Можете сами проверить что будет быстрее для вашего случая определения нового бара - CopyTime() или iTime() - с недавнего времени полноценная MQL5-функция, облегчающая написание кроссплатформенного кода (тут вру - так как в MQL4 тоже есть CopyXXX-функции, но портирование MQL4-кода в MQL5 облегчается - не нужно iXXX-функции переделывать)
Иначе как узнать, что изменилось время открытия текущего бара?
У Вас в классе вызов iTime. Мне посоветовали о ней забыть.) К тому же, где гарантия что она в свою очередь не делает туже работу, что и CopyRates? Вы же ее на каждом тике вызываете. Короче, буду вызывать CopyRates на каждом тике и вопрос закрыт.
Вы всегда только пишете и не пытаетесь читать? я Вам ссылку на целую статью про "Новый бар" дал! Статьи проверяют - проверяют люди другой компетенции, чем те кто пишут постоянно на форуме ;)
ЗЫ: если бросите писать и начнете читать , например статью по моей ссылке, то можете найти еще один способ ( SERIES_LASTBAR_DATE ) не использовать функции iXXX() - сказали же, что ими не пользоваться ))) - кто бы в баги и ошибки сообщил, что разработчики халтуру выпустили )))))
Вы всегда только пишете и не пытаетесь читать? я Вам ссылку на целую статью про "Новый бар" дал! Статьи проверяют - проверяют люди другой компетенции, чем те кто пишут постоянно на форуме ;)
ЗЫ: если бросите писать и начнете читать , например статью по моей ссылке, то можете найти еще один способ ( SERIES_LASTBAR_DATE ) не использовать функции iXXX() - сказали же, что ими не пользоваться ))) - кто бы в баги и ошибки сообщил, что разработчики халтуру выпустили )))))
С SERIES_LASTBAR_DATE были какие-то проблемы. Обсуждалось тут где-то давно. Может и поправили уже.