Перейти к содержанию

Часто задаваемые вопросы о cTrader Algo

Продажа алгоритмов

Где я могу продать свой алгоритм?

Опубликуйте свой алгоритм в cTrader Store, чтобы получить широкие возможности монетизации без каких-либо маркетинговых усилий. cTrader Store — это безопасная торговая площадка, которая позволяет вам охватить миллионы пользователей cTrader по всему миру.

Если я являюсь автором алгоритма, могу ли я взимать плату с других людей за его использование?

Вы можете стать продавцом в cTrader Store и приступить к публикации своего алгоритма, после чего ваш алго станет доступным для покупки миллионам потенциальных покупателей. Ваша интеллектуальная собственность остается защищенной.

Могу ли я создать пробную версию своего алгоритма для cTrader Store?

Продублируйте свой основной алгоритм, добавьте ограничения и опубликуйте пробную версию в cTrader Store.

Как я могу поделиться результатами бэктестинга с другими пользователями?

Бэктестинг может выполняться только в cTrader Windows и Mac. Однако при использовании cTrader Windows вы можете загрузить свой отчет о бэктестинге, чтобы он отображался на странице алгоритма. Пользователи смогут увидеть отчет во всех приложениях cTrader, включая cTrader Mobile и Web.

Как экспортировать и поделиться своим алгоритмом?

Экспортируйте свой алгоритм в виде файла .algo в cTrader Windows или Mac. Пользователи смогут установить алгоритм, открыв файл .algo с помощью cTrader Mobile, Windows или Mac.

Безопасность и защита

Может ли любой пользователь увидеть исходный код моего алгоритма?

Нет, покупатели вашего алгоритма в cTrader Store не могут видеть его исходный код, если вы явно не решите раскрыть код.

Как cTrader защищает мой алгоритм и его интеллектуальную собственность?

cTrader использует комплексные механизмы безопасности в файле .algo, чтобы предотвратить раскрытие вашего исходного кода на любом этапе, от локальной разработки до распространения.

Что такое права доступа и почему они важны?

Права доступа защищают пользователей, запуская алго в изолированной среде. Ваш сиБот или индикатор должен объявить требуемый уровень доступа через свойство AccessRights.

Может ли мой алгоритм читать и записывать файлы?

Вы можете написать код своего алго для работы с файлами без повышенных разрешений, обращаясь к папке данных алго.

Мой алгоритм сталкивается с проблемами из-за нелатинских символов в пути к файлу. Как это исправить?

Примените подходящее исправление для нелатинских символов для вашей операционной системы, затем пересоберите свой алгоритм.

Зависимости и интеграции

Могу ли я создать новый алгоритм в cTrader Web или Mobile?

cTrader Windows и Mac поддерживают все процессы создания сиБотов, индикаторов и плагинов, в то время как cTrader Web поддерживает создание веб-плагинов.

Могу ли я писать алгоритмы на Python?

Да, cTrader предлагает встроенную поддержку Python для создания сиБотов, индикаторов и плагинов.

Могу ли я использовать ИИ для создания сиБота?

Да, вы можете создать сиБота с помощью ИИ, такого как ChatGPT, Claude, Gemini или любой другой модели. Для достижения наилучших результатов предоставьте подробный, конкретный запрос с описанием параметров вашей стратегии, условий и торговых операций.

Могу ли я использовать внешнюю IDE для разработки алгоритмов?

Да, cTrader поддерживает внешние IDE, включая Visual Studio, Visual Studio Code, Rider и другие.

Как мне ссылаться на сторонние библиотеки в моем алгоритме на C#?

Ссылайтесь на сторонние библиотеки .NET через Диспетчер ссылок в интерфейсе cTrader или путем установки пакетов NuGet.

Могу ли я использовать сторонние пакеты Python в своем алго?

Да, объявите свои зависимости в файле requirements.txt, размещенном рядом с вашим входным файлом Python. Сторонние пакеты Python, такие как pandas и numpy, разрешаются автоматически при сборке вашего проекта.

Как мой алгоритм может получить доступ к интернету?

Используйте интерфейс Http для HTTP-запросов или класс WebSocketClient для передачи данных в реальном времени. Сетевой доступ работает с AccessRights.None и поддерживает методы GET, POST и другие HTTP-методы, а также соединения WebSocket.

Как мой алгоритм может отправлять уведомления по электронной почте?

Настройте уведомления по электронной почте, включив настройки SMTP в cTrader, затем вызовите Notifications.SendEmail() в своем коде для отправки оповещений на основе любого события, такого как открытие позиций или пороговые значения индикаторов.

Как использовать индикаторы внутри моего сиБота?

Используйте встроенные индикаторы в своем сиБоте, объявив поле индикатора, инициализировав его в OnStart() и считывая его значения для принятия торговых решений.

Как использовать WebSockets в моем алгоритме?

Работайте с WebSockets через класс WebSocketClient для отправки и получения данных в реальном времени. WebSockets более эффективны, чем HTTP, для потоков данных в реальном времени и поддерживают как строковые, так и необработанные байтовые данные.

Может ли сиБот управлять другими сиБотами или индикаторами?

Да, используйте функциональность управления одним алгоритмом другим алгоритмом для программного добавления сиБотов и индикаторов на график. Это позволяет динамически настраивать параметры, выполнять мультистратегии и автоматизировать контроль рисков.

Как добавить пользовательские кнопки на панель инструментов графика?

Добавьте новые кнопки на панель инструментов графика с помощью плагина. Вы можете определить команду и назначить действие, которое выполняется при нажатии кнопки.

Как я могу рисовать пользовательские визуальные элементы на графике?

Используйте холст для создания пользовательских визуальных элементов, включая тексты, фигуры, изображения, стрелки и аннотации непосредственно на торговых графиках. Класс Canvas доступен для всех типов алгоритмов.

Какой компилятор мне следует использовать?

Компилятор .NET SDK рекомендуется для крупных проектов или алгоритмов, использующих сторонние библиотеки. Встроенный компилятор имеет ограниченные возможности. Переключайтесь между компиляторами в настройках.

Параметры и производительность

Как добавить настраиваемые параметры в мой алгоритм?

Объявите параметры, используя атрибут [Parameter] в вашем сиБоте, индикаторе или плагине. Используйте параметры, чтобы позволить пользователям настраивать поведение, такое как уровни стоп-лосса, периоды индикаторов или источники данных, без изменения исходного кода.

Может ли мой алгоритм продолжать работу при возникновении ошибки?

Да, отказоустойчивость гарантирует, что алгоритмы продолжают работу при возникновении исключений. Вы можете настроить реакцию вашего алгоритма на ошибки, переопределив метод OnException(). Экземпляры сиБотов, которые дают сбой, перезапускаются автоматически.

Существуют ли ограничения на частоту торговых операций?

Демосчета подлежат ограничениям на частоту операций, таких как размещение, отмена, изменение и закрытие ордеров. Превышение этих лимитов временно блокирует все торговые операции, включая ручную торговлю.

Могу ли я создать стратегию, использующую несколько таймфреймов?

Да, вы можете кодировать мультитаймфреймовые стратегии, определив параметры для разных таймфреймов и получив доступ к данным из нескольких объектов баров в рамках одного сиБота.

Как оптимизировать параметры моего сиБота?

Используйте встроенную функцию оптимизации, чтобы найти наилучшие значения параметров для вашего сиБота. Вы также можете написать пользовательские функции пригодности, переопределив метод GetFitness(), чтобы применить собственные критерии производительности.

Могу ли я выполнять несколько ордеров одновременно?

Да, cTrader поддерживает как синхронное, так и параллельное выполнение ордеров. Используйте асинхронные методы для одновременной отправки нескольких ордеров без ожидания завершения каждого из них перед отправкой следующего.

Является ли Algo API потокобезопасным?

Только несколько методов в API являются потокобезопасными. Для всего остального используйте BeginInvokeOnMainThread(), чтобы выполнять код в основном потоке. Каждый активный алгоритм работает в отдельном процессе, изолированном от основного процесса cTrader.

Нужна поддержка cTrader?

Свяжитесь с нами через официальные каналы для решения любых вопросов:

  • Задавайте вопросы и общайтесь с трейдерами, разработчиками и другими пользователями в сообществе cTrader в Discord.
  • Свяжитесь с командой поддержки cTrader по адресу support@ctrader.com для получения технической помощи.
  • Просматривайте архивные обсуждения на форуме сообщества cTrader. Хотя форум больше не открыт для новых публикаций, он полон полезных ответов на распространенные вопросы.