Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
это не криво. это никакое :)))
Если предложите другой вариант - соглашусь.
в том и дело, что предлагать в данном вопросе вообще нечего.
ни из MQL ни с привлечением внешних либ этого не узнать по той причине, что имен уже не существует после компиляции.
ни из MQL ни с привлечением внешних либ этого не узнать по той причине, что имен уже не существует после компиляции.
Работа с переменными идет так:
.
set("count", 15);
int tmp = get("count");
.
Поскольку имена переменных идут как строки, то строки не удаляются.
Естественно, вместо переменных используются функции.
При этом программа имеет доступ к переменным такой же,
какой имеет сам интерпретатор, т.е. имя- значение.
.
Глобальные переменные в общем-то так и сделаны.
И никто не говорит что это не приемлемо.
.
В общем, было бы желание.
Ок. Поясню идею.
Работа с переменными идет так:
.
set("count", 15);
int tmp = get("count");
Совершенно не понятно что происходит в функции set(). Уверен, что задачу, которая перед Вами стоит, можно решить куда более простыми способами, чем попытки "одевания штанов через голову" (извините за прямоту). Создаётся такое ощущение, что Вы на MQL4 пытаетесь программировать как на PHP. Обрисуйте пожалуйста, какая надобность заставила Вас возжелать манипулировать массивом имён переменных?
Алексей Сергеев попросил предоставить ему рецепт, при помощи которого можно связать имя и значение переменной.
Мне сие- нафик не сдалось, есть более интересные задачи. Спасибо Вам за заботу :-).
Содержимое функции set можно понять из моего поста № 416 667,
https://www.mql5.com/ru/forum/131065
естественно при условии, что я бы это делал не на мокле, а на C++ с классами и объектами.
.
P.S.: задача вовсе не такая уж бессмысленная, как кажется...
подсказка: если функцию set(имя, значение) изменить на set(время, имя, значение)
то ... может получиться что-то интересное ;-)
.
P.S.2: на php все же имелось в виду
$var = 'myvar';
$$var = <<< EOT
hallo world
EOT;
echo $var . ' = ' . $$var;
Алексей Сергеев попросил предоставить ему рецепт, при помощи которого можно связать имя и значение переменной.
Рецепт есть, но повторяю - это "одевание штанов через голову".
Объявляем 2 массива одинаковой размерности - один типа string, другой типа double. В строковый массив вносим имена double-переменных. Себе на листике помечаем для какой переменной какой индекс ячейки массива задействуется. далее в коде, везде, где нужно проинициализировать double-переменную значением, вместо того, чтоб вносить значение в саму переменную, вносим его в ту ячейку double-массива, индекс которой соответствует имени этой переменной. Таким образом, манипулируя этими двумя массивами мы всегда в ячейках с одним и тем же индексом будем иметь пару "имя переменной - значение переменной".
Согласитесь, что это геморрой и можно решать задачи куда проще.
P.S.
Если Вам проще С++, то почему бы весь код советника ни загнать в DLL?
Объявляем 2 массива одинаковой размерности - один типа string, другой типа double ...
Если нужно использовать С++ - нужно использовать С++. А это так не всегда.
Рецепт есть, но повторяю - это "одевание штанов через голову".
Дык человек хочет. По-другому-никак.
Ну что же, перо ему для скорости, чтоб на поворотах не заносило :)