Как добавить ссылки на сторонние библиотеки в cTrader Algo
Сторонние библиотеки позволяют пользователям расширять и улучшать функциональность своих сиБотов, индикаторов и плагинов. Поскольку cTrader Algo разработан с использованием .NET 6.0, пользователи могут добавлять и использовать сторонние библиотеки, созданные с .NET 6.0, в своих алгоритмических проектах.
В этой статье и соответствующем видео вы узнаете, как добавлять ссылки на сторонние библиотеки в API cTrader Algo. На примере библиотеки Discord.Net мы продемонстрируем, как отправлять сообщения в канал Discord.
Добавление ссылки путем установки пакета NuGet
В нашем первом примере мы планируем добавить ссылку в проект сиБота путем установки пакета из библиотеки NuGet. NuGet — это официальный менеджер пакетов для платформы .NET, используемый для создания, использования и распространения пакетов или библиотек.
Примечание
Если вы разрабатываете алгоритмы в Visual Studio, используйте метод добавления ссылки, описанный ниже. В противном случае перейдите к следующему разделу этой статьи.
В cTrader Algo создайте сиБот. Нажмите кнопку New, введите имя, например "Discord Message Example", затем нажмите кнопку Create.

Далее перейдите на сайт NuGet, введите Discord в текстовое поле и выберите библиотеку Discord.Net из результатов.

Нажмите на вкладку Package manager, а затем скопируйте команду оттуда.

Вернитесь в cTrader и нажмите Edit in Visual Studio.

Ваш проект сиБота должен открыться в приложении Visual Studio на вашем компьютере.
В Visual Studio откройте меню Tools, выберите NuGet package manager, затем Package manager console.
Вставьте команду, которую вы скопировали ранее с сайта NuGet, и выполните ее.
1 | |

После установки необходимого пакета мы можем приступить к разработке нашего примера сиБота.
Начните с объявления важных параметров, таких как токен бота Discord и ID канала.
1 2 3 4 5 | |
Затем объявите объект клиента Discord и объект канала сообщений.
1 2 | |
В нашем методе OnStart() напишите простой код для отправки сообщения в наш канал при запуске сиБота.
1 2 3 4 5 6 7 8 9 10 | |
Вы можете скопировать полный код ниже:
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 | |
Теперь соберите сиБот.
Вернитесь в cTrader. Нажмите Add instance, укажите предпочитаемые параметры в окне, а затем нажмите кнопку Add instance.

Введите токен вашего бота Discord и ID канала.

Запустите экземпляр сиБота. Когда появится окно Access request, нажмите Allow, чтобы продолжить.
СиБот должен начать работу, и вы должны увидеть сообщение, поступившее в канал Discord.

Добавление ссылки через интерфейс cTrader
Некоторые библиотеки недоступны в виде пакетов NuGet. Если вы планируете использовать такие библиотеки в своем проекте сиБота, вам необходимо добавить их DLL-файлы напрямую в качестве ссылок.
Здесь мы продемонстрируем, как можно добавить ссылку на ту же библиотеку Discord.Net, добавив ее DLL-файлы.
Вернитесь в Visual Studio и удалите библиотеку Discord.Net, которую мы установили в предыдущем подразделе. Откройте консоль диспетчера пакетов NuGet, как вы делали ранее, и выполните следующую команду:
1 | |
Пакеты Discord будут удалены как ссылки в нашем сиБоте Discord Message Example. Если сейчас пересобрать сиБот, сборка завершится с несколькими сообщениями об ошибках из-за отсутствующих библиотек.
Вернитесь в cTrader и добавьте необходимые библиотеки, используя функцию Manage references вверху.

Когда появится окно Reference manager, перейдите в Browse, затем нажмите кнопку Browse. Выберите DLL-файл и затем выполните то же действие для всех DLL-файлов, на которые вы хотите добавить ссылки.

Нажмите Apply и снова соберите сиБот.
Теперь, когда вы запустите экземпляр сиБота, сборка будет завершена без ошибок, и вы должны увидеть сообщение, поступившее в канал Discord.
В этой статье показано, как добавлять ссылки на сторонние библиотеки в cTrader Algo двумя различными методами.