В терминале есть такая возможность, из списка ордеров мышью перетаскиваете на график какой либо ордер и очень быстро открывается график этого инструмента .
Это очень удобно при интенсивных торгах когда торгуешь на многих инструментах.
я попробовал это реализовать при помощи вот этой функции но она работает очень медленно.
подскажите пожалуйста , при помощи какого кода можно реализовать такую же скоростью исполнения как в терминале?
для меня это очень важно , ведь если терминал это исполняет значит это возможно на программном уровне.
Эта функция тоже очень медленая и не сохраняет шаблон графика.
Я сейчас проверил скриптом. Работает так-же быстро как и перетаскивание из обзора рынка.
Если это в советнике, то попробуйте сразу обновить график функцией ChartRedraw.
intersheff_mql5:
В терминале есть такая возможность, из списка ордеров мышью перетаскиваете на график какой либо ордер и очень быстро открывается график этого инструмента .
Это очень удобно при интенсивных торгах когда торгуешь на многих инструментах.
я попробовал это реализовать при помощи вот этой функции но она работает очень медленно.
подскажите пожалуйста , при помощи какого кода можно реализовать такую же скоростью исполнения как в терминале?
для меня это очень важно , ведь если терминал это исполняет значит это возможно на программном уровне.
Эта функция тоже очень медленая и не сохраняет шаблон графика.
на данном этапе я так и не нашел функцию которая бы смогла обеспечить мне такое же быстродействие как в терминале
для меня это очень важно и я буду на форуме подымать этот вопрос
функции
long ChartOpen( string symbol, // имя символа ENUM_TIMEFRAMES period // период );
и
bool ChartSetSymbolPeriod( long chart_id, // идентификатор графика string symbol, // имя символа ENUM_TIMEFRAMES period // период );
работают медлено
я хочу докапаться до того функционала который заложен в терминале
надеюсь мне кто нибуть поможет
Я так понял, что тебе нужно быстро переключатся между инструментами на одном графике, для ручной торговли?
И ты пытаешься использовать скрипт с mql функциями? И всё равно этот скрипт тянешь на график в ручную?
Попробуй другой подход. Наведи курсор в левый нижний угол.
Сделай двойной клик в эту область.
Откроется поле ввода, введи имя инструмента, и нажми Enter.
Я так понял, что тебе нужно быстро переключатся между инструментами на одном графике, для ручной торговли?
И ты пытаешься использовать скрипт с mql функциями? И всё равно этот скрипт тянешь на график в ручную?
Попробуй другой подход. Наведи курсор в левый нижний угол.
Сделай двойной клик в эту область.
Откроется поле ввода, введи имя инструмента, и нажми Enter.
роман здравствуй я знаю это но это очень много лишних движений и очень долго
кстати диалоговое окно открывается просто при нажатии на пробел.
сейчас у меня вот какая задача
это кнопки индикатора которые выводятся на интерфейс терминала (картинка неудачная)
![zzz zzz](https://c.mql5.com/3/396/zzz__1.jpg)
прости объяснять функционал индикатора сейчас не буду
клик по кнопки открывает инструмент при помощи вот такой функции
bool ChartSetSymbolPeriod( long chart_id, // идентификатор графика string symbol, // имя символа ENUM_TIMEFRAMES period // период );у этой функции есть 1 особенность
Функция работает асинхронно, то есть отдает команду и не ждет окончания ее выполнения. Отданная команда поступает в очередь сообщений графика и выполняется только после обработки всех предыдущих команд.
мне нужно это обойти и сделать быстроту реакции как в терминале при перетаскивании мышью ордера на график из списка ордеров
С очередью сообщений графика, никогда не работал, но есть подозрение что проблема в ней.
Не получится сделать так?
Запускаешь функцию асинхронно, но не передаёшь в очередь сообщений графика.
Критично ли это будет для твоей реализации?
Или как предложил Aleksey, попробуй сразу обновить график функцией ChartRedraw.
Вот, теперь немного стал понятен алгоритм реализации.
С очередью сообщений графика, никогда не работал, но есть подозрение что проблема в ней.
Не получится сделать так?
Запускаешь функцию асинхронно, но не передаёшь в очередь сообщений графика.
Критично ли это будет для твоей реализации?
Или как предложил Aleksey, попробуй сразу обновить график функцией ChartRedraw.
ChartRedraw. не помогает.
( Запускаешь функцию асинхронно, но не передаёшь в очередь сообщений графика. ) а как это можно реализовать на уровне кода я честно сказать не знаю.
если это возможно подскажите как
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Это очень удобно при интенсивных торгах когда торгуешь на многих инструментах.
я попробовал это реализовать при помощи вот этой функции но она работает очень медленно.
подскажите пожалуйста , при помощи какого кода можно реализовать такую же скоростью исполнения как в терминале?
для меня это очень важно , ведь если терминал это исполняет значит это возможно на программном уровне.
Эта функция тоже очень медленая и не сохраняет шаблон графика.