Типы параметров в cTrader Algo
В этой статье и соответствующем видео мы покажем, как вы можете объявлять и использовать настраиваемые параметры в ваших сиБотах и индикаторах. Мы разработаем простой индикатор и покажем вам, как настраивать параметры из пользовательского интерфейса cTrader. Мы также объясним, какие типы параметров вы можете использовать в сиБоте или индикаторе cTrader, и проиллюстрируем, как они объявляются и используются в вашем коде.
Настраиваемые параметры
Настраиваемые параметры — это конфигурируемые значения, которые можно задать при добавлении, запуске или использовании алгоритма. Они позволяют вам и другим пользователям настраивать поведение сиБотов, индикаторов и плагинов без изменения исходного кода.
Использование параметров в сиБотах, индикаторах и плагинах
- Для сиБотов вы можете настраивать переменные или параметры, влияющие на выполнение, такие как уровни стоп-лосса и тейк-профита.
- Для индикаторов вы можете настраивать переменные, влияющие на выходные данные индикатора, такие как рассматриваемые периоды или используемый источник данных.
- Для плагинов вы можете настраивать переменные, такие как параметры пользовательского интерфейса или ключи API, которые определяют, как плагин взаимодействует с интерфейсом или внешними сервисами.
Как объяснялось ранее, cTrader поддерживает следующие типы параметров:
intdoublestringboolDataSeriesTimeFrameenumColorDateTimeDateOnlyTimeSpanSymbolSymbol[](multi-symbol)Enum[](multi-enum)TimeFrame[](multi-period)
Примечание
Алгоритмы Python используют настраиваемые параметры, объявленные в их файлах .cs.
Создание простого индикатора с параметрами
Чтобы продемонстрировать, как вы можете использовать параметры в пользовательских индикаторах, мы создадим новый индикатор и назовем его Standard Deviation.
Для расчета стандартного отклонения нам сначала нужно рассчитать скользящую среднюю цены. Затем мы объявим параметры, необходимые для индикатора скользящей средней, начиная с периода скользящей средней.
1 | |
Любое публичное свойство, имеющее один из поддерживаемых типов, может стать параметром индикатора. Чтобы превратить наше свойство MaPeriod в параметр, все, что нам нужно сделать, — это добавить необходимое объявление.
1 2 | |
Атрибут Parameter указывает cTrader представить это свойство как параметр на панели параметров индикатора, используя определенное имя ("MA Period").
Как показано ниже, атрибут Parameter также позволяет вам определить некоторые свойства параметра, такие как отображаемое имя, значение по умолчанию, группа, в которую будет помещен этот параметр, максимальное и минимальное значения, а также шаг, на который параметр будет изменяться при нажатии стрелок вверх и вниз (только для числовых значений).
1 2 | |
Теперь мы добавим остальные параметры, необходимые для индикатора скользящей средней. Параметр MaType поможет нам определить тип скользящей средней. Это enum, который будет отображаться как выпадающее меню в пользовательском интерфейсе cTrader.
1 2 | |
Параметр Source даст пользователям возможность указать источник данных для нашего индикатора скользящей средней. Этот параметр имеет тип DataSeries.
1 2 | |
Теперь, когда необходимые параметры объявлены, мы определим и инициализируем нашу скользящую среднюю.
1 2 3 4 5 6 | |
На этом этапе мы готовы реализовать расчет для нашего стандартного отклонения. Шаблон кода по умолчанию уже содержит свойство Output, которое мы можем использовать для отображения результатов расчета.
1 2 | |
И наконец, мы реализуем расчет стандартного отклонения в методе Calculate().
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Если мы добавим наш индикатор на график, то увидим все наши параметры в окне Добавить экземпляр.
Добавление дополнительных параметров
Завершив работу над нашим стандартным отклонением, мы также можем добавить горизонтальную линию, которая будет служить визуальным порогом для индикатора. Для этого нам потребуется добавить еще несколько параметров.
Первым будет логический параметр, который будет определять, будет ли наша линия отображаться или нет.
1 2 | |
Параметр LineLevel позволит нам определить ценовой уровень, на котором должна быть нарисована линия.
1 2 | |
Мы также добавим параметр, позволяющий выбрать цвет линии.
1 2 | |
Когда все необходимые параметры будут на месте, мы можем написать код для рисования линии на графике, к которому прикреплен наш индикатор.
1 2 3 4 | |
Если мы снова соберем индикатор и добавим новый экземпляр, мы сможем скрывать/показывать линию, перемещать ее вверх или вниз и выбирать цвет линии по своему усмотрению.
Как показано в примере ниже, параметры также можно использовать для того, чтобы наш индикатор отображался только при добавлении на графики для определенного таймфрейма.
1 2 | |
В методе Initialize() мы проверим таймфрейм графика, к которому прикреплен наш индикатор. Если он не равен значению параметра TF, мы предотвратим отображение индикатора.
1 2 3 4 5 6 7 8 9 10 11 12 | |
Мы надеемся, что это руководство помогло вам понять параметры и то, как они работают в алгоритмической торговле cTrader.