На mql должна быть какая ни какая реализация или в страндартной библиотеке, или в статьях.
Посмотрите в сторону "Ассоциативных массивов".
На mql должна быть какая ни какая реализация или в страндартной библиотеке, или в статьях.
Цель
создание буферов для графиков количество которых не известно но меньше 512
ну и в принципе данная конструкция может пригодиться где угодно.
Я когда то писал подобное но забыл это был шаблон.
вообще вопрос нужно уточнить
допустим мы программно собираем строку
string cmd;
for(int i=1; i<=10; i++)
{
cmd=cmd+"double name"+i+"[]; ";
}
теперь надо выполнить cmd
как это сделать?
Цель
создание буферов для графиков количество которых не известно но меньше 512
ну и в принципе данная конструкция может пригодиться где угодно.
Я когда то писал подобное но забыл это был шаблон.
вообще вопрос нужно уточнить
допустим мы программно собираем строку
string cmd;
for(int i=1; i>10; i++)
{
cmd=cmd+"double name"+i+"[]; ";
}
теперь надо выполнить cmd
как это сделать?
struct buffer { double buf[]; }; buffer MyBuffer[]; // буфер для буферов
А не проще использовать массив?
мне надо менять
buf[]
чтобы было
buf1[] buf2[] buf3[] buf...n[]
я этой функцией хочу объявить 10 массивов.
А что мешает сделать массив структур? Или двухмерный массив.
string cmd;
for(int i=1; i>10; i++)
{
cmd=cmd+"double name"+i+"[]; ";
}
теперь надо выполнить cmd
вопрос как запустить cmd?
все остальное обходные решения. Я просто привел пример где это может понадобиться.
string cmd;
for(int i=1; i>10; i++)
{
cmd=cmd+"double name"+i+"[]; ";
}
теперь надо выполнить cmd
вопрос как запустить cmd?
все остальное обходные решения. Я просто привел пример где это может понадобиться.
В MQL нет eval оператора, это компилируемый язык программирования.
Идея превращения строки в код и его исполнение на лету - не реализуемая идея средствами MQL.
Если необходимо связать сущность с неким значением или текстовой строкой уникально идентифицирующую ее - смотрите в сторону "Ассоциативных массивов".
мне надо менять
чтобы было
struct buffer { double buf[]; }; buffer MyBuffer[]; // буфер для буферов ArrayResize(MyBuffer,10); // Десять массивов ArrayResize(MyBuffer[0].buf,3); // размер первого буфера ArrayResize(MyBuffer[1].buf,5); // размер второго буфера ... ArrayResize(MyBuffer[9].buf,5); // размер десятого буфера
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
как создать имя переменной примерно так
for(int i=1; i<=10; i++)
{
double "name"+i+"[]";
}