Реестр алгоритмов
Если у вас есть большой портфель алгоритмов, которые вы распространяете среди пользователей, вы можете также предложить пользовательскую панель или систему, которая позволит этим пользователям легко управлять вашими алгоритмами на своих локальных машинах. Такая система будет особенно ценной, если вы предлагаете несколько продуктов, которые дополняют друг друга (например, два сиБота и пользовательский индикатор, которые все должны быть установлены для правильной работы). Если пользователь пропустит установку необходимого продукта, вы сможете предупредить его об этом.
Кроме того, когда у пользователя есть доступ ко многим алгоритмам, иногда бывает сложно отслеживать их все. Например, пользователь может случайно удалить ценный алгоритм и лишь позже понять, что больше не может им пользоваться.
Чтобы помочь вам и вашим пользователям, Algo API предоставляет интерфейс AlgoRegistry, который предлагает удобное средство динамического отслеживания статистики установленных и удаленных алгоритмов различных типов.
Работа с реестром алгоритмов
В AlgoRegistry каждый алгоритм представлен AlgoType, который содержит уникальное имя алгоритма и его AlgoKind (например, AlgoKind.CustomIndicator).
Вы можете получить конкретный алгоритм из реестра, вызвав следующий метод.
1 | |
Чтобы получить количество алгоритмов определенного типа, вызовите следующий метод.
1 | |
Вы также можете добавить пользовательские обработчики к следующим событиям:
AlgoTypeInstalled- срабатывает каждый раз при установке нового алгоритма.AlgoTypeDeleted- срабатывает каждый раз при удалении нового алгоритма.AlgoTypeChanged- срабатывает каждый раз при изменении установленного алгоритма.
AlgoRegistry в различных режимах
AlgoRegistry работает должным образом при бэктестинге и оптимизации. Он не работает при использовании cTrader CLI.
Создайте пример плагина
AlgoRegistry идеально подходит для создания плагина, который будет отображать информацию об алгоритмах непосредственно в пользовательском интерфейсе cTrader. Следующий плагин делает именно это.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | |
После сборки нашего плагина мы должны увидеть следующий блок на Панели активного инструмента. Данные в блоке будут динамически обновляться каждую секунду.

Установка алгоритма через другой алгоритм
Интерфейс AlgoRegistry позволяет разработчикам создавать алгоритмы, которые могут устанавливать другие алгоритмы. Например, вы можете запрограммировать сиБота (при запуске) автоматически устанавливать другого сиБота, индикатор или плагин.
Следующий сиБот запрограммирован на установку другого сиБота:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Обзор
AlgoRegistry - отличная функция для разработчиков плагинов, но ее также можно использовать с другими типами алгоритмов. Например, вы можете создать индикатор, который ссылается на другой пользовательский индикатор, и в этом случае вашему алгоритму сначала нужно будет проверить, установлен ли необходимый индикатор пользователем. Мы также рекомендуем добавить AlgoRegistry к вашим существующим алгоритмам, чтобы упростить управление пользовательскими индикаторами и другими типами алгоритмов.