Скрипт secScanner

[ сканер  scanner  скрипт  робот  lua  qlua  квик  quik  ]

Скрипт демонстратор.

Скрипт можно взять здесь

В данном скрипте показано как организовать постоянную работу скрипта с корректным переходом через сутки.

Подключение и использование библиотеки логирования

Чтение и переопределение параметров из внешнего файла.

Как сканировать все инструменты класса, проверять параметры из “Таблицы текущих торгов”.

Подключение и использование библиотеки оповещений. Описание использования и настройки библиотеки оповещения

Проигрывание звукового файла по событию. (Необходимо установить библиотеку w32.dll)

Скрипт сканирует все инструменты указанных классов, проверяет на сильное изменение цены и объема. По событию отправляет оповещение. Для этого используются конструкторы CheckProcessor и CheckEMAProcessor. Это “замыкания”, создаваемые для каждого инструмента. Для фильтрации также используется FilterProcessor. В примере отбираются инструменты с дневным оборотом от 7 000 000 руб.

FilterProcessor принимает параметры

CheckProcessor и CheckEMAProcessor принимают параметры

FilterProcessor - конструктор функции проверки параметра, указанного в параметре info_string. Если полученное значение выше(ниже) чем порог filter_limit, то возвращается true.

CheckProcessor - конструктор функции контроля изменения параметра, указанного в параметре info_string на процент, указанный в параметре change_limit. Проверка осуществляется раз check_interval секунд. В примере показан контроль изменения параметра “Цена последней сделки”. Интервал проверки 1 сек. Порог 2%. Если “Цена последней сделки” изменится выше порога за 1 сек., то происходит обработка события. Обработка события осуществляется раз msg_interval секунд. Это необходимо, чтобы сообщения не приходили очень часто.

CheckEMAProcessor похож по смыслу и использованию на CheckProcessor. Основное отличие в том, что происходит не просто проверка параметра info_string, а рассчитанной EMA на его основе. Поэтому интервал проверки здесь выше чем в CheckProcessor. В примере продемонстрирована проверка изменения параметра “Оборот в деньгах”. Интервал проверки 120 сек. Период расчета EMA - 5 значений. Порог 3,5. Т.о. раз в 120 секунд получаются данные о “Оборот в деньгах”, рассчитывается прирост от прошлой проверки и записывается как значение для расчета EMA. Когда наберется достаточно значений для контроля, происходит анализ текущего изменения с прошлыми. Если текущий прирост выше чем 3.5*EMA, то происходит обработка события.