Tipos de parámetros personalizables
Como C# es un lenguaje fuertemente tipado, es necesario especificar tipos de datos al declarar variables y propiedades de clase en cBots, indicadores y plugins. En contraste, Python es de tipado dinámico, por lo que los tipos de variables se infieren automáticamente. Sin embargo, al desarrollar cBots utilizando la API de cTrader, se conservan los mismos tipos conceptuales para mantener la consistencia entre ambos lenguajes.
La API de cTrader Algo no permite utilizar todos los tipos de datos como parámetros personalizables, por lo que es esencial que los desarrolladores de algoritmos comprendan y naveguen cuidadosamente por los tipos admitidos.
Nota
Los cBots, indicadores y plugins de Python utilizan parámetros personalizables declarados en sus archivos .cs.
Casos de uso de parámetros y UI
cTrader solo admite estos tipos de parámetros con los casos de uso clave y los elementos de UI relacionados reflejados en la tabla a continuación.
| C# | Python | Casos de uso | Elemento de UI |
|---|---|---|---|
int | int | Volumen de orden, número de barras, número de períodos, etc. | Campo de entrada numérica (con incrementador) |
double | float | Valor de precio, volumen de orden, etc. | Campo de entrada numérica (con incrementador) |
string | str | Mensaje personalizado, etiqueta de posición, etc. | Campo de entrada de texto |
bool | bool | Mecanismos de protección, permitir operaciones, permitir correo electrónico, etc. | Lista desplegable sí/no |
DataSeries | api.DataSeries | Fuente de precios de mercado, etc. | Lista desplegable |
TimeFrame | api.TimeFrame | Período de tiempo elegido, etc. | Selector de período |
enum | Enum | Alineación de dibujos en el gráfico, niveles de riesgo individuales, etc. | Lista desplegable |
Color | Color | Dibujos en el gráfico, color de los medios de análisis técnico, elementos personalizados, etc. | Selector de color |
DateTime | DateTime | Obtener fecha y hora fuertemente tipadas en la zona horaria del algoritmo | Selector de fecha y hora |
DateOnly | DateOnly | Obtener fecha fuertemente tipada | Selector de fecha |
TimeSpan | TimeSpan | Obtener intervalo de tiempo o hora del día fuertemente tipados | Selector de hora |
Symbol | Symbol | Obtener un solo símbolo fuertemente tipado | Selector de símbolo |
Symbol[] | Symbol[] | Obtener múltiples símbolos fuertemente tipados en un array | Selector de múltiples símbolos |
Enum[] | Enum[] | Obtener múltiples valores de un tipo Enum fuertemente tipados en un array | Selector de múltiples valores de enum |
TimeFrame[] | TimeFrame[] | Obtener múltiples valores TimeFrame fuertemente tipados en un array | Selector de múltiples períodos |
Advertencia
Es posible que no pueda utilizar algunos de los tipos de parámetros anteriores si está utilizando una versión anterior de cTrader o Algo API.
Por ejemplo, la UI de cTrader refleja los tipos bool, double, int de C# y bool, float, int de Python de la siguiente manera.

Los siguientes tres ejemplos muestran los tipos de datos DataSeries, enum personalizado, string de C# y api.DataSeries, Enum, str de Python (para los cuales también proporcionamos el código completo en esta guía).
Como se muestra a continuación, el tipo de parámetro Color de C# y Color de Python está representado por un selector de color.

Finalmente, la UI del tipo de datos TimeFrame de C# y api.TimeFrame de Python refleja las opciones de período disponibles en los gráficos de operaciones dentro de la aplicación Trade.

Ejemplos de cBot
La etiqueta de posición es un parámetro string de C# y str de Python en el siguiente cBot.
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 | |
Nota
Los cBots de Python utilizan parámetros personalizables declarados en sus archivos .cs.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Los tipos de datos DataSeries, int, bool de C# y api.DataSeries, int, bool de Python se ejemplifican en el algoritmo a continuación.
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 | |
Nota
Los cBots de Python utilizan parámetros personalizables declarados en sus archivos .cs.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Este cBot utiliza Color como parámetro para definir la visualización del texto en el área del gráfico:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
En el ejemplo siguiente, el tipo de datos double de C# y float de Python sirve como parámetro para ingresar el volumen de la orden en lotes. El cBot ejecuta una orden de compra de mercado después de tres barras rojas consecutivas.
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 | |
Nota
Los cBots de Python utilizan parámetros personalizables declarados en sus archivos .cs.
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 | |
En el ejemplo siguiente, los tipos de datos DateTime, DateOnly y TimeSpan sirven como parámetros.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
Nota
Los cBots de Python utilizan parámetros personalizables declarados en sus archivos .cs.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Nota
El valor del parámetro DateTime se convierte automáticamente de la zona horaria de la plataforma del usuario a la zona horaria del algoritmo, eliminando la necesidad de conversión manual.
En el ejemplo siguiente, el tipo de datos Symbol sirve como parámetro.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Nota
Los cBots de Python utilizan parámetros personalizables declarados en sus archivos .cs.
1 2 3 4 5 6 7 8 9 10 11 12 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
En el ejemplo siguiente, utilizamos los tipos de parámetros multi Enum, Symbol y TimeFrame, que están representados por un tipo de array de C#.
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 | |
Nota
Los cBots de Python utilizan parámetros personalizables declarados en sus archivos .cs.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Ejemplos de indicadores
El siguiente código de indicador ilustra cómo se utilizan los parámetros TimeFrame:
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 | |
Hay un indicador divertido (prueba de daltonismo) que ofrece opciones de visión del color enum (por ejemplo, normal, daltónico y escala de grises) para que los usuarios determinen el color de una línea horizontal dibujada en el gráfico.
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 | |
En resumen, al elegir el tipo de datos correcto para las variables declaradas y las propiedades de clase, podrá crear cBots e indicadores que puedan manejar incluso tareas no estándar.



