Tipos de parámetros en cTrader algo
En este artículo y su correspondiente vídeo demostraremos cómo puede declarar y utilizar parámetros personalizables en sus cBots e indicadores. Desarrollaremos un indicador simple y le mostraremos cómo configurar los parámetros desde la interfaz de usuario de cTrader. También explicaremos qué tipo de parámetros puede utilizar en un cBot o indicador de cTrader e ilustraremos cómo se declaran y utilizan en su código.
Parámetros personalizables
Los parámetros personalizables son valores configurables que se pueden establecer al añadir, iniciar o utilizar un algoritmo. Permiten que usted y otros usuarios personalicen el comportamiento de cBots, indicadores y plugins sin modificar el código fuente.
Uso de parámetros en cBots, indicadores y plugins
- Para cBots, puede configurar variables o ajustes que influyan en la ejecución, como los niveles de stop loss y take profit.
- Para indicadores, puede configurar variables que afecten a los resultados del indicador, como los períodos considerados o la fuente de datos que se utilizará.
- Para plugins, puede configurar variables, como opciones de interfaz de usuario o claves API, que determinen cómo interactúa el plugin con la interfaz o los servicios externos.
Como se ha explicado anteriormente, cTrader admite estos tipos de parámetros:
intdoublestringboolDataSeriesTimeFrameenumColorDateTimeDateOnlyTimeSpanSymbolSymbol[](multi-symbol)Enum[](multi-enum)TimeFrame[](multi-period)
Nota
Los algoritmos de Python utilizan parámetros personalizables declarados en sus archivos .cs.
Crear un indicador simple con parámetros
Para demostrar cómo puede utilizar parámetros en indicadores personalizados, crearemos un nuevo indicador y lo llamaremos Desviación Estándar.
Para calcular la desviación estándar, primero necesitamos calcular la media móvil del precio. Posteriormente, declararemos los parámetros necesarios para un indicador de media móvil comenzando con el período de la media móvil.
1 | |
Cualquier propiedad pública que tenga uno de los tipos admitidos puede convertirse en un parámetro del indicador. Para transformar nuestra propiedad MaPeriod en un parámetro, todo lo que tenemos que hacer es añadir la declaración requerida.
1 2 | |
El atributo Parameter indica a cTrader que presente esta propiedad como un parámetro en el panel de parámetros del indicador utilizando el nombre definido ("MA Period").
Como se muestra a continuación, el atributo Parameter también le permite definir algunas propiedades del parámetro, como el nombre mostrado, el valor predeterminado, el grupo en el que se colocará este parámetro, los valores máximo y mínimo, así como el paso en que el parámetro cambiará cuando se presionen las flechas arriba y abajo (solo para valores numéricos).
1 2 | |
Ahora añadiremos el resto de los parámetros necesarios para un indicador de media móvil. El parámetro MaType nos ayudará a determinar el tipo de media móvil. Es un enum que aparecerá como un menú desplegable en la interfaz de usuario de cTrader.
1 2 | |
El parámetro Source dará a los usuarios la opción de especificar la fuente de datos para nuestro indicador de media móvil. Este parámetro es del tipo DataSeries.
1 2 | |
Ahora que los parámetros requeridos están declarados, definiremos e inicializaremos nuestra media móvil.
1 2 3 4 5 6 | |
En este punto, estamos listos para implementar el cálculo de nuestra desviación estándar. La plantilla de código predeterminada ya contiene la propiedad Output que podemos usar para mostrar los resultados del cálculo.
1 2 | |
Por último, pero no menos importante, implementaremos el cálculo de la desviación estándar en el método Calculate().
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Si agregamos nuestro indicador a un gráfico, deberíamos ver todos nuestros parámetros en la ventana Añadir instancia.
Agregar parámetros adicionales
Con nuestra desviación estándar completada, también podemos agregar una línea horizontal que servirá como umbral visual para el indicador. Para este propósito, necesitaremos agregar algunos parámetros más.
El primero será un parámetro booleano que determinará si nuestra línea se mostrará o no.
1 2 | |
El parámetro LineLevel nos permitirá determinar el nivel de precio en el que se debe dibujar la línea.
1 2 | |
También agregaremos un parámetro que permita elegir el color de la línea.
1 2 | |
Con todos los parámetros necesarios en su lugar, podemos escribir código para dibujar la línea en el gráfico donde está adjunto nuestro indicador.
1 2 3 4 | |
Si construimos el indicador nuevamente y agregamos una nueva instancia, podremos ocultar/mostrar la línea, moverla hacia arriba o hacia abajo y seleccionar el color de nuestra elección como color de línea.
Como se muestra en el ejemplo a continuación, los parámetros también se pueden usar para asegurar que nuestro indicador solo se muestre cuando se agregue a gráficos para un período de tiempo específico.
1 2 | |
En el método Initialize() verificaremos el período de tiempo del gráfico al que está adjunto nuestro indicador. Si no es igual al valor del parámetro TF, evitaremos que se muestre el indicador.
1 2 3 4 5 6 7 8 9 10 11 12 | |
Esperamos que esta guía haya sido útil para comprender los parámetros y cómo funcionan en las operaciones algorítmicas de cTrader.