Ошибки, баги, вопросы - страница 3547
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вы меня удивляете. ДВЕ строки кода создать пользовательское событие и ДВЕ строки кода контроля события. Всё остальное, копирование значений и печать или другое применение полученного.
Это сильно влияет на производительность, в тестере работает?
Это сильно влияет на производительность, в тестере работает?
Судя по распечатке, первый тик на новом баре и тик после копирования буфера проходят за одну миллисекунду, то на производительность не влияет. В тестере не пробовал. Но не должно быть никаких проблем. Ведь это не работа с графическими объектами. Событие перемещение курсора кажется работает, так и это должно работать.
Слава тут писал пару лет назад, что это норма и так и было задумано.
Спасибо за наводку. Нашел. В 4-м пункте интересующий момент описан.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Slava, 2021.05.29 18:16
Хочу напомнить.
1. Для каждого символа, для которого открыт хоть один график, работает отдельный поток для обработки пришедших тиков. Может быть открыто несколько графиков по какому-то символу, но поток будет всё равно один.
2. Поток символа обрабатывает не графики, а таймсерии. То есть, те самые массивы данных, которые отдаются на запрос CopyRates
3. Бесполезно спрашивать у своего символа в OnTick или OnCalculate, синхронизирован ли он. Конечно, да!
4. Все таймсерии обрабатываются по порядку, от младшей к старшей. Сначала применение тика, потом расчёт всех индикаторов, созданных на данной таймсерии. Если вы из индикатора, работающего на M1, спрашиваете данные для этого же символа H1, то вы никогда не получите данных с применённым тиком. Данные всегда будут на один тик назад, какие бы ухищрения вы не применяли. Потому что один поток на символ с последовательной обработкой таймфреймов.
5. Предыдущее утверждение не касается экспертов и скриптов, потому что эксперты и скрипты работают каждый в своём отдельном потоке.
Спасибо за наводку. Нашел. В 4-м пункте интересующий момент описан.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 4380: улучшения в работе
fxsaber, 2024.06.19 12:42
Скорее всего, это связано с очередью выполнения индикаторов.
Нулевой индикатор - график, поэтому в любом индикаторе iTime возвращает актуальное значение.
Дальше начинают вызываться по очереди индикаторы. И в "матрешке" индикаторов сначала вызывается внешний контур (master), затем - внутренние (slaves).
Это архитектурная особенность MT5.
Вроде, неделю назад про это написал.
Вы меня удивляете. ДВЕ строки кода создать пользовательское событие и ДВЕ строки кода контроля события. Всё остальное, копирование значений и печать или другое применение полученного.
Ну надейтесь. Хотя получение свойств графических объектов некоторые дольше ждут, но так и не дождались.
Признаю, вы оказались правы. Никто, ничего менять не будет. Это особенность терминала и работы таймсерий в МТ5. Нашел соответствующий пост от разработчика.
Чтобы написать четыре строки кода, нужно прочитать несколько страниц справки. Но так как написано она порой очень кратко, еще может понадобится немалое время для перепроверок, чтобы убедиться, что правильно понял.
Буду благодарен, если выложите этих несколько строк кода.
Вроде, неделю назад про это написал.
Да.
Фраза "Скорее всего" дала повод думать, что могут быть варианты. ))
Теперь вижу, что нет (
Признаю, вы оказались правы. Никто, ничего менять не будет. Это особенность терминала и работы таймсерий в МТ5. Нашел соответствующий пост от разработчика.
Чтобы написать четыре строки кода, нужно прочитать несколько страниц справки. Но так как написано она порой очень кратко, еще может понадобится немалое время для перепроверок, чтобы убедиться, что правильно понял.
Буду благодарен, если выложите этих несколько строк кода.
Вам весь пример из документации скопировать сюда, или достаточно этого
Всё на одной странице. Вы думаете я это освоил давным давно? Нет, только в прошлый понедельник.
Контроль id в OnChartEvent() описывать не надо?
Спасибо за наводку. Нашел. В 4-м пункте интересующий момент описан.
Как вы можете заметить, Слава не прав.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Slava, 2021.05.29 18:16
Хочу напомнить.
1. Для каждого символа, для которого открыт хоть один график, работает отдельный поток для обработки пришедших тиков. Может быть открыто несколько графиков по какому-то символу, но поток будет всё равно один.
2. Поток символа обрабатывает не графики, а таймсерии. То есть, те самые массивы данных, которые отдаются на запрос CopyRates
3. Бесполезно спрашивать у своего символа в OnTick или OnCalculate, синхронизирован ли он. Конечно, да!
4. Все таймсерии обрабатываются по порядку, от младшей к старшей. Сначала применение тика, потом расчёт всех индикаторов, созданных на данной таймсерии. Если вы из индикатора, работающего на M1, спрашиваете данные для этого же символа H1, то вы никогда не получите данных с применённым тиком. Данные всегда будут на один тик назад, какие бы ухищрения вы не применяли. Потому что один поток на символ с последовательной обработкой таймфреймов.
5. Предыдущее утверждение не касается экспертов и скриптов, потому что эксперты и скрипты работают каждый в своём отдельном потоке.
Вам весь пример из документации скопировать сюда, или достаточно этого
Всё на одной странице. Вы думаете я это освоил давным давно? Нет, только в прошлый понедельник.
Контроль id в OnChartEvent() описывать не надо?
Спасибо за наводку.
С OnChartEvent() работал.
Как вы можете заметить, Слава не прав.