Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Такую библиотеку написал давно. Была задача обмениваться данными между программами одного окна.
Для решения более глобальных проблем можно эту библиотеку освоить.
при чтении GV выбираем их по идентификатору name+"."
если val величина переменная (неизвестная, которую нужно сохранить) то как спрашивается получить имя этой самой переменной если оно не известно (неизвестна его часть).
Как-то писал от нечего делать:
Такую библиотеку ... можно эту библиотеку освоить.
если val величина переменная (неизвестная, которую нужно сохранить) то как спрашивается получить имя этой самой переменной если оно не известно (неизвестна его часть).
Перебором всех глобальных переменных....
GlobalVariableName(i) - это совсем не так как хотелось, но возможно комуто и подойдет :)
если val величина переменная (неизвестная, которую нужно сохранить) то как спрашивается получить имя этой самой переменной если оно не известно (неизвестна его часть).
я ведь написал (и думаю для вас это не открытие) - что поиск переменной идет по префиксу name+"."
С побитовым представлением целых числе все однозначно, с вещественными - нет (может быть даже зависимость от процессоров разных производителей).
Целочисленные 8-ми байтовые числа могут содержать 2^64 < 10^19 различных целых чисел. Точно такое же количество различных вещественных чисел может содержать 8-ми байтовый double. Но только у double диапазон значительно больше 2^64. Это достигается за счет того, что многие числа (например, целые) не представимы в double. Т.е. существует такое целое число N и его double-представление M, что для числа N + 1 его double-представление тоже будет M.
Все целые числа из диапазона 2^32 содержатся в double. Поэтому вы можете элементарно сохранять строчки длинной в 4 символа в double.
да-да, конечно.... просто мне нужно было ПРЯМОЕ (и быстрое) получение по имени, поскольку переменных предвидится очччень много и циклических переборов по именам мне нужно избежать.
я конечно могу ошибаться, но в самом GlobalVariableGet/Set присутствует перебор, только скрытый в недрах МТ.
поэтому проход по списку с GlobalVariableName не очень замедлит процесс. хотя конкретных опытов не ставил...
с другой стороны если вы планируете так сильно "напрягать" большим числом GV, то наверно проще делать свой GV, с возможностью сохранять строки.