Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Используй MQL5 Cloud Network. Тестируй роботов с гиперскоростью!
George
505
George 2015.01.19 14:17 

Уважаемые господа, может быть кто-то уже сталкивался со следующим:

В свойствах графиков с помощью функции ChartSetInteger() мы можем задавать (или Get - получать) такой замечательный параметр, как показ графика поверх всех других CHART_BRING_TO_TOP 

Набросал тестовый индюк (см. в аттаче). Если его кинуть на какой-либо график не с символами EURUSD,GBPUSD,USDJPY,USDCAD или же с каким либо из этих символов, но с периодом более 1 мин,

индюк откроет еще 4 графика с периодом 1 мин и символами  EURUSD,GBPUSD,USDJPY,USDCAD (собственно в коде это и пню ясно). В задаваемых параметрах указываем символ и период графика в минутах,

который мы хотим получить после всех телодвижений поверх всех остальных графиков. Естественно, символ указываем либо из перечня EURUSD,GBPUSD,USDJPY,USDCAD и период 1, либо из тех, которые

в данный момент открыты в терминале с соответствующим периодом в минутах. 

Вот что интересное выскочило: 

Если в задаваемых параметрах не будет присутствовать символ и период графика, на который  кидаем индюк - всё замечательно работает. Вопросов нет.

Требуемый график поверх остальных и в журнале "Эксперты" в результате обработки строки кода

Print("CHART BRING TO TOP=",ChartGetInteger(prevChart,CHART_BRING_TO_TOP,0));

 появляется надпись CHART BRING TO TOP=1 

Но... если мы кидаем индюк на график и в нем задаем символ и период этого же графика, то он не устанавливается поверх всех остальных: тех, которые уже были открыты и вновь открытые индюком.

При этом:

if(ChartSetInteger(prevChart,CHART_BRING_TO_TOP,true)==false) //если график с индикатором не отобразился поверх остальных
  Print("Chart \""+top_chart+"\", period=\"",my_period,"\" can't bring to top. Error #",GetLastError()); 
else Print("CHART BRING TO TOP=",ChartGetInteger(prevChart,CHART_BRING_TO_TOP,0));

после обработки первой строки приведенного кода хотя график и не отображается поверх остальных, обрабатывается третья строка этого кода и, что самое веселое, печатает: CHART BRING TO TOP=0

Вот такие пирожки со странными котятами...

Тестировал эксперт и скрипт с такой же начинкой - всё однохренственно...

У кого какие мысли на этот счет? 

Файлы:
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий