Ошибки, баги, вопросы - страница 298

 
Urain:

Стандартный класс СChart глючит.

Запускаем скрипт и вуаля , график сдувает ветром :о)

чарт удаляется без всяких сообщений об ошибках.

Могу порекомендовать, перед завершением работы скрипта вызвать

eur.Detach();

Тогда график не удалится.

 
uncleVic:

Могу порекомендовать, перед завершением работы скрипта вызвать

eur.Detach();

Тогда график не удалится.

Да, да спасибо, я уже из сообщения Рашида понял что нужно перед выходом Детачить
 
Скажите пожалуйста, если в одном коде считается несколько графиков(индикаторов). Как их из этого одного кода вывести в несколько разных окон(индикаторов)(в отдельные окна под свечным графиком)?
 
-Alexey-:

Скажите пожалуйста, если в одном коде считается несколько графиков(индикаторов). Как их из этого одного кода вывести в несколько разных окон(индикаторов)(в отдельные окна под свечным графиком)?

 Если "в одном коде считается несколько графиков (индикаторов)", то, скорее всего , в одном коде рассчитываются индикаторные  буферы для каждого из этих индикаторов. Для выведения значений индикаторных  буферов в "несколько разных окон (в отдельные окна под свечным графиком)" достаточно создать MQL5-индикаторы по количеству нужных окон, и скопировать в каждый из этих индикаторов  нужные индикаторные  буферы из основного кода.

 
Yedelkin:

 

 Если "в одном коде считается несколько графиков (индикаторов)", то, скорее всего , в одном коде рассчитываются индикаторные  буферы для каждого из этих индикаторов. Для выведения значений индикаторных  буферов в "несколько разных окон (в отдельные окна под свечным графиком)" достаточно создать индикаторы MQL5 по количеству нужных окон, и скопировать в каждый из этих индикаторов нужные индикаторные буферы из основного кода.

Уважаемый Yedelkin, спасибо за ответ.  Идея понятна. Действительно, индикаторных буферов у меня в коде есть несколько(я их включаю или выключаю чтобы рисовать тот или иной график по отдельности). Еще подскажите пожалуйста, как копировать имеющийся индикаторный буфер, который находится в основном коде, в другой индикатор?
 

-Alexey-:
 подскажите пожалуйста, как копировать имеющийся индикаторный буфер, который находится в основном коде, в другой индикатор?

Так я же вставил в ответ ссылку "скопировать в каждый из этих индикаторов". Вот ссылка напосредственно на документацию:  https://www.mql5.com/ru/docs/series/copybuffer Если будет что непонятно по этой ссылке - спрашивайте.
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyBuffer
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyBuffer
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyBuffer - Документация по MQL5
 
Yedelkin:
Так я же вставил в ответ ссылку "скопировать в каждый из этих индикаторов". Вот ссылка напосредственно на документацию:  https://www.mql5.com/ru/docs/series/copybuffer Если будет что непонятно по этой ссылке - спрашивайте.
Спасибо. Попробую разобраться.
 
-Alexey-:
Спасибо. Попробую разобраться.
Да там ничего сложного. Каждый Ваш индикаторный  буфер заранее пронумерован в исходном коде. Создаёте новый индикатор и индикаторные  буферы для него, затем с помощью функции CopyBuffer запрашиваете из нового индикатора индикаторный буфер из исходного кода и копируете из него нужные значения в индикаторный буфер нового индикатора.
 
Yedelkin:
Да там ничего сложного. Каждый Ваш индикаторный  буфер заранее пронумерован в исходном коде. Создаёте новый индикатор и индикаторные  буферы для него, затем с помощью функции CopyBuffer запрашиваете из нового индикатора индикаторный буфер из исходного кода и копируете из него нужные значения.
Кажется, все понятно. Вначале необходимо использовать функцию ICustom, т.к. ее результат Handle нужен функции CopyBuffer, потом использовать функцию CopyBuffer с полученным ранее параметром Handle. Правильно ли я понял, что код с расчетами буферов можно на график и не помещать, а помещать только индикаторы, которые копируют буферы из него и их отображают?
 

-Alexey-:
Кажется, все понятно. Вначале необходимо использовать функцию ICustom, т.к. ее результат Handle нужен функции CopyBuffer, потом использовать функцию CopyBuffer с полученным ранее параметром Handle.

Совершенно верно. Про iCustom я и не упомянул.

-Alexey-:
Правильно ли я понял, что код с расчетами буферов можно на график и не помещать, а помещать только индикаторы, которые копируют буферы из него и их отображают?
По крайней мере, я делаю именно так, и всё работает. ...Попробуйте по предложенной схеме вывести в подокно значения хотя бы одного индикаторного   буфера из исходного кода - дальше всё получится "как по маслу".
Причина обращения: