имя внешней переменной можно формировать динамически
например
например
for i=1 to 40 begin
for j=1 to 8 begin
for k=1 to 100 begin
for l=1 to 10 begin
bla-bla-bla
SetGlobalVariable( "globalarray"+i+j+k+l, some_value );
end;
end;
end;
end;
другой вопрос, что Вы не сможете за один проход проинициализировать ТАКОЙ массив. В этом случае посмотрите в "Особенностях написания эксперта" как обходить ситуацию "loop detected".
Попробуйте.
Может сделать проще ?
Например если мы объявляем массив и если мы хотим в программе сделать его внешним то просто используем его имя в операторе setglobalvariable и все !!!? Автоматически все его индексы становятся внешними для всех экспертов !!! Я давно не программировал на "C", но кажется там это просто реализовано ! Может и в Ваш компилятор заложить эту возможность !! Было бы очень удобно .. раз и все !!!
С уважением
Роман
P.S К сожалению небыло возможности пообщаться с Вами на выставке.
Например если мы объявляем массив и если мы хотим в программе сделать его внешним то просто используем его имя в операторе setglobalvariable и все !!!? Автоматически все его индексы становятся внешними для всех экспертов !!! Я давно не программировал на "C", но кажется там это просто реализовано ! Может и в Ваш компилятор заложить эту возможность !! Было бы очень удобно .. раз и все !!!
С уважением
Роман
P.S К сожалению небыло возможности пообщаться с Вами на выставке.
А как обращаться в программе также : globalarray+i+j+k+l=127; Так ?
нет. SetGlobalVariable("globalarray"+i+j+k+l,127); или some_var=GetGlobalVariable("globalarray"+i+j+k+l);
Спасибо ! Начинаю перелапачивать программу .
к сожалению, массив нельзя явно сделать глобальным

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Например следующая ситуация :
-на терминале 8 графиков по EUR с присоединенным экспертом на всех графиках
-эксперту в программе разрешено торговать только по 15 мин графику
-остальные экперты собирают, анализируют и записывают всю информацию в массив например mas_f(8,100,20) где 8 это тип графика а 100 это значения кольцевого стека в котором например информация по фракталам, 20 это характеристика каждого фрактала
-15 минутный эксперт торгует используя информацию в этом массиве со всеми индексами с других графиков (от 1 до 8)
В этом случае этот массив должен быть объявлен как внешний, но вот тут и проблема.
У меня чегото никак не выходит сделать его внешним. Ниже кусок текста программы.
Array : Fraktal[40,8,100,10](0);
if (GetGlobalVariable("Fraktal")=0) then
SetGlobalVariable("Fraktal",0);
Подскажите пожалуйста что не так ?
С уважением Роман