Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 670

 
Alexey Volchanskiy:

Что-то явно в свойствах нет. А если в режиме тестера что-то создавать на графике, например кнопку с хитрым именем и потом проверять ее наличие?

Нет, индикатор стоит на основном графике, а при тестировании открывается график тестируемой пары, и вот в этот момент индикатор понимает, что в терминал добавили ещё один график и пытается ним управлять. Но так-как это график с тестера, а не добавленный с обзора рынка, то ним управлять не нужно.

Как отсечь график с тестера без добавления на него чего либо? 

 

Доброго времени суток.

Помогите решить проблему: мне нужно в роботе поставить защиту от переключений периода и смены инструмента в окне работы робота, чтобы запомнить стартовый инструмент и период, думаю создать глобальную переменную терминала в названии которого будет имя инструмента и период, а значение будет ID окна графика, но ID имеет тип лонг, а значение ГПТ тип double, пытался переводить из лонг в дубл, но терминал округляет две последние цифры, как это исправить?! Или как по другому управлять графиком, даже в случае перезагрузки терминала.

Спасибо. 

 
Vitaly Muzichenko:

Нет, индикатор стоит на основном графике, а при тестировании открывается график тестируемой пары, и вот в этот момент индикатор понимает, что в терминал добавили ещё один график и пытается ним управлять. Но так-как это график с тестера, а не добавленный с обзора рынка, то ним управлять не нужно.

Как отсечь график с тестера без добавления на него чего либо? 

Например : на основном графике цвет фона 1

на тестируемом графике цвет фона 2

индикатор опрашивает цвет фона графика 

Или : график тестера запускает эксперт

в индикаторе запросить имя эксперта 

 
pako:

Например : на основном графике цвет фона 1

на тестируемом графике цвет фона 2

индикатор опрашивает цвет фона графика 

Суть индикатора следующая: Открыто много графиков и индикатор установлен только на одном графике, при добавлении нового графика с обзора рынка, индикатор его на лету подхватывает и ним управляет

Индикатор: Обычный синхронизатор всех графиков в терминале, создан для быстрого управления и анализа, если на одном переключить таймфрейм, то параллельно переключиться на всех, уменьшение/увеличение, синхронизированная прокрутка.

То есть по сути, графики могут быть разные по цвету и наличию на них объектов, могут вообще быть без объектов. Тестируемый график так-же может иметь разный фон, зависит от тестируемой ТС и настроения, да и не универсально получится.

Разработчики, неужели нет способа программно определить, что график с тестера? 

 
Vitaly Muzichenko:

Суть индикатора следующая: Открыто много графиков и индикатор установлен только на одном графике, при добавлении нового графика с обзора рынка, индикатор его на лету подхватывает и ним управляет

Индикатор: Обычный синхронизатор всех графиков в терминале, создан для быстрого управления и анализа, если на одном переключить таймфрейм, то параллельно переключиться на всех, уменьшение/увеличение, синхронизированная прокрутка.

То есть по сути, графики могут быть разные по цвету и наличию на них объектов, могут вообще быть без объектов. Тестируемый график так-же может иметь разный фон, зависит от тестируемой ТС и настроения, да и не универсально получится.

Разработчики, неужели нет способа программно определить, что график с тестера? 

Это не пойдет?

 

CHART_EXPERT_NAME

Имя эксперта, запущенного на графике с указанным chart_id

https://www.mql5.com/ru/docs/constants/chartconstants/enum_chart_property#enum_chart_property_string
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
pako:

Это не пойдет?

Суть проблемы здесь

Код прилагаю повторно
for(long currChart = ChartFirst(); currChart != -1; currChart=ChartNext(currChart)) { // проходим по всем графикам в терминале
  if(currChart == график тестера) continue; // Что сюда написать чтоб его пропустить?
  ObjectSetInteger(currChart,"Sync","что-то делаем с графиками");
}
 
Здравствуйте!
В выходные дни Рынок закрыт и тиков несущих "последнее известное время сервера" нет но связь с сервером есть. Как в выходные дни узнать текущее время на сервере ?
 
Leo59:
Здравствуйте!
В выходные дни Рынок закрыт и тиков несущих "последнее известное время сервера" нет но связь с сервером есть. Как в выходные дни узнать текущее время на сервере ?
Связь есть, но тиков нет, а время сервера приходит с тиком. Так что только косвенно, через TimeLocal() и разницу часовых поясов.
 
Vitalie Postolache:
Связь есть, но тиков нет, а время сервера приходит с тиком. Так что только косвенно, через TimeLocal() и разницу часовых поясов.
Сервер реагирует на попытку открыть или установить ордер, возвращая ошибку 132 ("Рынок закрыт"). Как из этого сигнала об ошибке вычленить и "подхватить" серверное время?
 
Leo59:
Сервер реагирует на попытку открыть или установить ордер, возвращая ошибку 132 ("Рынок закрыт"). Как из этого сигнала об ошибке вычленить и "подхватить" серверное время?
Это всего лишь код возврата торгового сервера. Ничего, кроме этого кода он в себе и не содержит.
Причина обращения: