Ошибки, баги, вопросы - страница 2778
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Работа (Get/Set методы) с чартом у MQL5 программ идет через транзакционную очередь.
Это позволяет развязать работу GUI и самого терминала от неминуемых блокировок, которые устраивали(устраивают) бы MQL5 программы.
Транзакционная асинхронность позволяет массово быстро писать или читать в разделенных режимах и мгновенно включает режим синхронизации при смешении Set и Get методов.
То есть, лучше 1000 раз сделать асинхронные Set, а потом 1000 раз Get вместо того, чтобы делать поочередные Get & Set, превращая очередь в синхронный процесс. Потому что надо удостовериться, что предыдущий асинхронный Set точно наложился и теперь можно его читать.
Нужно аккуратно пользоваться системными функциями и кешировать их по возможности.
Насколько я знаю, вызов ChartRedraw не приводит к немедленной перерисовке графика. Перерисовка происходит только при вызове какого-нибудь Get-метода.
попробуйте поменяйте эти две строчки местами

тогда не будет ничего асинхронного в замере и посмотрите что будет. Будет еще быстрее.
Долго тупил, не понимая, что не нравится в этой строке компилятору.
Забыл if написать. Подумал, что для таких тупняков хорошо бы разжевать сообщение.
просил сделать описание и пример для всех ошибок и предупреждений компилятора еще лет 5 назад, может больше.
может быть у вас получится лучше.
Работа (Get/Set методы) с чартом у MQL5 программ идет через транзакционную очередь.
Это позволяет развязать работу GUI и самого терминала от неминуемых блокировок, которые устраивали(устраивают) бы MQL5 программы.
Транзакционная асинхронность позволяет массово быстро писать или читать в разделенных режимах и мгновенно включает режим синхронизации при смешении Set и Get методов.
То есть, лучше 1000 раз сделать асинхронные Set, а потом 1000 раз Get вместо того, чтобы делать поочередные Get & Set, превращая очередь в синхронный процесс. Потому что надо удостовериться, что предыдущий асинхронный Set точно наложился и теперь можно его читать.
Нужно аккуратно пользоваться системными функциями и кешировать их по возможности.
Я правильно понимаю, что асинхронными являются не только Set методы, но и Get?
Т.е. Ильяс тут был не прав?
При этом Слава здесь был прав, когда говорил о асинхронности метода ChartXYToTimePrice? Ведь метод ChartXYToTimePrice относится скорей всего к Get методам.
В документации про асинхронность говорится только про Set методы.
Я правильно понимаю, что асинхронными являются не только Set методы, но и Get?
Вам уже отвечали на данный вопрос, но с ваших слов "академические повествования" вам не нужны...
Ви там определитесь или как?
Вам уже отвечали на данный вопрос, но с ваших слов "академические повествования" вам не нужны...
Ви там определитесь или как?
Я этого не говорил и не имел этого ввиду.
Я учусь и пытаюсь разобраться. Я пытаюсь практику состыковать с теорией.
Из сообщения Рената я понял, что и Set, и Get методы стоят в транзакционной очереди. А стало быть по сути асинхронные. Я не правильно понял?
Во всяком случае я давно заметил асинхронное поведение Get функций и толкую об этом уже больше двух лет.
При этом Слава здесь был прав, когда говорил о асинхронности метода ChartXYToTimePrice? Ведь метод ChartXYToTimePrice относится скорей всего к Get методам.
Если вы не понимаете сути того, о чем повествуете, то не нужно додумывать то, о чем вам не говорили.
Если вы не понимаете сути того, о чем повествуете, то не нужно додумывать то, о чем вам не говорили.
я везде спрашиваю. У меня стоит знак вопроса.
Еще раз говорю - я хочу разобраться. Эта ветка называется ".... вопросы"
Эко я зацепил Ваше ЭГО :))
я везде спрашиваю. У меня стоит знак вопроса.
Еще раз говорю - я хочу разобраться. Эта ветка называется ".... вопросы"
Как я понял - Get синхронные, т.к. возвращают запрошенный результат. Но если в очереди есть асинхронные Set, то с ними приходится синхронизироваться.
Если в очереди только Get-ы, то задержек нет.
я везде спрашиваю. У меня стоит знак вопроса.
Еще раз говорю - я хочу разобраться. Эта ветка называется ".... вопросы"
Ваш вопрос некорректный, так как в нем содержится утверждение того, о чем не повествовалось:
При этом Слава здесь был прав, когда говорил о асинхронности метода ChartXYToTimePrice? Ведь метод ChartXYToTimePrice относится скорей всего к Get методам.
Напомнило из "Карлсона":
— Я сказала, отвечай — да или нет! На простой вопрос всегда можно ответить «да» или «нет», по-моему, это не трудно! — завопила фрекен Бок.
— Представь себе, трудно, — вмешался Карлсон.
— Я сейчас задам тебе простой вопрос, и ты сама в этом убедишься. Вот, слушай! Ты перестала пить коньяк по утрам, отвечай — да или нет?
У фрекен Бок перехватило дыхание, казалось, она вот-вот упадет без чувств. Она хотела что-то сказать, но не могла вымолвить ни слова.
— Ну вот вам, — сказал Карлсон с торжеством.
— Повторяю свой вопрос: ты перестала пить коньяк по утрам?