Вопрос

 
Вопрос
Допустим главный эксперт это программа pr1 подпрограмма вызываемая из главной : pr2 где используется следующая конструкция : MoveObject("FF_MA13",OBJ_TEXT,t[1],h[1],t[1],h[1]);
Внимание вопросы :
1. Если в программе pr1 я при ее старте один раз указываю следующую конструкцию : SetObjectText("FF_MA13",s_ma13,"Arial",10,Gold); где s_ma13 является любой строкой могу ли я двигать этот объект в любых подпрограммах как и в pr2 ?
2. Будет ли "FF_MA13" для всех подпрограмм какбы глобальным указателем ?
3. Когда наконец этот объект будет иметь цвет и шрифт, а также размер, тот который я задаю, а не по умолчанию принятый на графике ?
3. Является ли строковая переменная s_ma13 внешней по отношению к подпрограммам pr2 и т.д ?

С уважением
Roman
 
Добавлю личное мнение
Я считаю, что доступ к строковой переменной необходим из всех подпрограмм, а также доступ к передвижению объекта. По видимому это секономит время выполнения эксперта, т.к. сейчас приходится каждый раз объявлять (SetObjectText("FF_MA13",s_ma13,"Arial",10,Gold); ) при входе в подпрограмме, а это очевидно занимает не мало времени и если таких объектов порядка 10, то при каждом тике объявлять их в подпрограммах давольно накладно с точки зрения выполнения эксперта !

С уважением
Roman
 
имя "FF_MA13" будет считаться глобальным по отношению ко всем экспертам, функциям, пользовательским индикаторам, работающим на данном графике
но для того, чтобы SetObjectText правильно отработал, соответствующий объект к этому моменту должен быть создан.
Вы можете двигать свой объект в главной программе и подпрограммах в любом случае, так как в случае отсутствия в данный момент соответствующего объекта, он будет создан функцией MoveObject.
мы не можем точно ответить на вопрос, когда можно будет задавать свойства объекта, отличные от умолчательных.
все объявляемые переменные являются локальными, и к ним нет доступа из подпрограмм
Причина обращения: