Saltar a contenido

Usar Visual Studio y otros IDEs

Crear nuevos cBots/indicadores

Puede elegir usar IDEs externos para crear nuevos cBots/indicadores en lugar de hacerlo usando el editor de código integrado. El uso de IDEs externos tiene varias ventajas, como poder usar extensiones de IDE personalizadas, incluyendo linters y formateadores automáticos.

IDEs externos

Aquí está la lista completa de IDEs externos actualmente compatibles con cTrader.

  • Visual Studio
  • Visual Studio Code
  • Rider
  • Sublime Text

Puede usar cualquiera de los anteriores para editar un algoritmo si tiene acceso a su código fuente. Seleccione dicho algoritmo en la lista y abra el menú desplegable Editar en... en la parte superior de la ventana del editor de código. En el menú, seleccione el IDE con el que desea abrir el algoritmo.

Aunque existe un gran número de IDEs adecuados para trabajar con C# y .NET, recomendamos usar Microsoft Visual Studio o Visual Studio Code. Ambos IDEs son fáciles de usar y ofrecen una amplia gama de configuraciones personalizables que facilitan el trabajo con C# y .NET. Nuestra documentación solo cubre estos IDEs.

Visual Studio

Instalar el paquete NuGet cTrader.Automate

Antes de crear un cBot o un indicador, instale el paquete NuGet cTrader.Automate. Puede hacerlo realizando las siguientes acciones:

  • Abra el menú Proyecto en Visual Studio y seleccione Administrar paquetes NuGet.
  • Seleccione nuget.org como su fuente de paquetes y escriba cTrader en la barra de búsqueda.
  • Haga clic en el paquete cTrader.Automate y seleccione Instalar.

Image title

Nota

Si está trabajando con una versión anterior de Visual Studio (2015 o anterior), también necesitará instalar el Administrador de paquetes NuGet. Para obtener más información, consulte esta documentación.

Alternativamente, abra el menú Herramientas, seleccione Administrador de paquetes NuGet y abra la Consola del Administrador de paquetes. En ella, escriba Install-Package cTrader.Automate.

Después de instalar el paquete NuGet cTrader.Automate, cada vez que construya un proyecto de cBot/indicador, Visual Studio creará automáticamente un archivo .algo para su proyecto en su directorio build. Cuando trabaje en Windows, el paquete también creará un archivo .algo correspondiente en la carpeta ../Documents/cAlgo/Sources/{Robots/Indicators}.

Crear nuevos cBots e indicadores en Visual Studio

Para crear un nuevo cBot/indicador, cree un nuevo proyecto dentro de Visual Studio y elija Biblioteca de clases. Nombre su proyecto como desee que se llame su cBot/extensión.

Image title

En el archivo "Class1.cs", escriba el código para su cBot/indicador. Después, abra el menú Compilar y seleccione Compilar solución. Alternativamente, presione Ctrl+Shift+B. Después de una compilación exitosa, debería ver un archivo .algo en los directorios especificados anteriormente.

Si no ve su nuevo cBot/indicador en la interfaz de usuario de cTrader, reinicie la plataforma cTrader y debería aparecer entre otras extensiones.

Para obtener información adicional sobre Visual Studio, consulte esta documentación.

Visual Studio Code

En comparación con Visual Studio, VS Code es un editor de código mucho más ligero, lo que justifica su creciente popularidad entre los desarrolladores. Para crear cBots/indicadores a través de VS Code, debe cumplir con los siguientes requisitos previos.

  • Instale el SDK de .NET.
  • Instale una extensión de C# dentro de VS Code.

Para instalar una extensión adecuada, abra el mercado de extensiones, escriba C# en la barra de búsqueda y elija la extensión oficial de Microsoft o cualquier otro complemento adecuado.

Image title

Después, tendrá que usar la interfaz de línea de comandos (CLI) de .NET para crear una solución y un proyecto de biblioteca de clases que contenga su cBot/indicador.

Nota

Debe usar Documents\cAlgo\Sources solo si está utilizando un sistema Windows, de lo contrario puede crear y construir sus proyectos de indicador/cBot en cualquier directorio.

Crear un indicador

Para crear un indicador a través de VS Code, abra una nueva terminal PowerShell eligiendo Nueva terminal en el menú Terminal. Alternativamente, presione Ctrl+Shift+`.

1. En la terminal, abra su directorio Documents\cAlgo\Sources\Indicators.

cd Documents\cAlgo\Sources\Indicators

2. Cree un nuevo directorio para su indicador. Contendrá su solución y proyecto de indicador. Cambie a este directorio.

mkdir MyIndicator
cd MyIndicator

3. Cree una nueva solución .NET dentro del directorio recién creado.

dotnet new sln

4. Cree un proyecto de biblioteca de clases .NET.

dotnet new classlib --name MyIndicator

Este proyecto se creará dentro del directorio MyIndicator.

5. Agregue el proyecto a su solución.

dotnet sln add .\MyIndicator\MyIndicator.csproj

6. Instale el paquete NuGet cTrader.Automate.

dotnet add .\MyIndicator\MyIndicator.csproj package cTrader.Automate

7. Agregue una clase de indicador. Para hacerlo, renombre el archivo Class1.cs a MyIndicator.cs y ábralo, luego reemplace su contenido con el siguiente código de marcador de posición. Edite el código dentro de VS Code.

 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
using cAlgo.API;

namespace cAlgo;

[Indicator(AccessRights = AccessRights.None)]
public class MyIndicator : Indicator
{
    [Parameter(DefaultValue = "Hello world!")]
    public string Message { get; set; }

    [Output("Main")]
    public IndicatorDataSeries Result { get; set; }

    protected override void Initialize()
    {
        // To learn more about cTrader Algo visit our Help Center:
        // https://help.ctrader.com/ctrader-algo

        Print(Message);
    }

    public override void Calculate(int index)
    {
        // Calculate value at specified index
        // Result[index] =
    }
}

8. Construya el proyecto.

dotnet build --configuration Release

También puede construir su proyecto con código fuente.

dotnet build --configuration Release -p:IncludeSource=True

Puede cambiar la configuración de compilación a Debug si desea depurar su indicador.

Después de una construcción exitosa, tendrá el archivo .algo del indicador dentro de la carpeta bin de su proyecto y también dentro de la carpeta Documents\cAlgo\Sources\Indicators\ si está usando Windows.

Crear un cBot

Crear un cBot es similar a crear un indicador, excepto que debe usar la clase Robot en lugar de la clase Indicator y el directorio Documents\cAlgo\Sources\Robots\ en lugar de Documents\cAlgo\Sources\Indicators\.

Puede usar el código de muestra a continuación para su clase de 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
using cAlgo.API;

namespace cAlgo.Robots;

[Robot(AccessRights = AccessRights.None)]
public class MyRobot : Robot
{
    [Parameter(DefaultValue = "Hello world!")]
    public string Message { get; set; }

    protected override void OnStart()
    {
        // To learn more about cTrader Algo visit our Help Center:
        // https://help.ctrader.com/ctrader-algo

        Print(Message);
    }

    protected override void OnTick()
    {
        // Handle price updates here
    }

    protected override void OnStop()
    {
        // Handle cBot stop here
    }
}

Otros IDEs .NET

Si así lo desea, puede usar otros IDEs para trabajar con cBots, plugins e indicadores. Siga estos pasos para crear extensiones válidas de cTrader:

  1. Cree un proyecto de biblioteca de clases .NET.
  2. Instale el paquete NuGet cTrader.Automate.
  3. Cree un archivo de clase que contenga el código fuente de su cBot/indicador. Los indicadores heredan de la clase Indicator mientras que los cBots deben heredar de la clase Robot.
  4. Construya su extensión. Para obtener más información sobre la compilación/construcción, consulte la sección relacionada de esta documentación.