Подскажите пожалуйста, можно ли в LUA сделать перебор всех меток имеющихся на каком-то из графиков?
Не смог найти такую функцию.
При установке метки ее номер присваивается системой. Их можно запоминать в массив. Но если потом перезапустить скрипт, то номера теряются. А нужно иметь возможность управлять этими метками. Или может быть есть возможность задавать свой номер метки?
сохранить номера меток между сессиями проблем не составляет, просто не хотелось бы это делать, ибо во-первых лишняя нагрузка на систему, а во вторых - на графике ведь они есть, почему бы не попробовать их оттуда взять при необходимости.
В любом случае не надо мне больше предлагать сохранять их в массив. Это решение и так очевидно. Я ищу решение поиска меток именно в средствах квика и LUA, а не в ручном сохранении меток.
В любом случае не надо мне больше предлагать сохранять их в массив. Это решение и так очевидно. Я ищу решение поиска меток именно в средствах квика и LUA, а не в ручном сохранении меток.
Но если потом перезапустить скрипт, то номера теряются. А нужно иметь возможность управлять этими метками.
Цитата
s_mike@rambler.ru написал: Для сохранения информации между сеансами необходимо использовать файлы.
Цитата
Sergey Denegin написал: может у них есть какой нибудь массив данных? Типа глобальной переменной _G
Под каждый скрипт индикатора - в QLUA - заводится своя отдельная виртуальная машина - стало быть, друг с другом они могут общаться - только штатными средствами QLUA, либо - через создание общего для всех скриптов файла с данными. -> (Вам же ведь надо, чтоб данные сохранялись после перезапуска скриптов).
так что... простых способов - не существует. Вам надо смотреть в сторону многопоточных баз данных. Например, в сторону SQLite -> https://www.sqlite.org/threadsafe.html
В частности... 1. Overview SQLite supports three different threading modes:
Single-thread. In this mode, all mutexes are disabled and SQLite is unsafe to use in more than a single thread at once.
Multi-thread. In this mode, SQLite can be safely used by multiple threads provided that no single database connection is used simultaneously in two or more threads.
Serialized. In serialized mode, SQLite can be safely used by multiple threads with no restriction.
Однако,
не всё так просто... для этого надо ещё снабдить эту базу прокладкой с LUA-интерфейсом. Как только Вы это сделаете - многие из Ваших проблем - решатся сами с собой.
Либо...
воспользоваться поделками народных умельцев... например...:
В любом случае не надо мне больше предлагать сохранять их в массив. Это решение и так очевидно. Я ищу решение поиска меток именно в средствах квика и LUA, а не в ручном сохранении меток.
Вам - правильно написали. Эьто самый простой и быстрый способ. Тменно так все и делают. А не пытаются искать следы меток в глобальной таблице "_G" Сохранение же информации между перезапусками скриптов - это уже вторая задача и далеко нетривиальная (см. моё предыдущее сообщение).
Я вас понял. Вопрос был именно о том, есть ли возможность найти сами метки на графике. Впрочем проанализировав номера меток, я понял, что они присваиваются последовательно от 1 и по возрастанию, так что при необходимости можно просто цикл сделать и удалить только те, которые нужно