跳转至

使用 Visual Studio 和其他 IDE

创建新的 cBot/指标

您可以选择使用外部 IDE 创建新的 cBot/指标,而不是使用内置代码编辑器。 使用外部 IDE 有几个优势,如能够使用自定义 IDE 扩展,包括代码检查器和自动格式化工具。

外部 IDE

以下是 cTrader 当前支持的外部 IDE 完整列表。

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

如果您有权访问算法的源代码,可以使用上述任何一种 IDE 编辑算法。 在列表中选择这样的算法,并打开代码编辑器窗口顶部的 编辑于... 下拉菜单。 在菜单中,选择您想要用来打开算法的 IDE。

尽管有大量适合处理 C# 和 .NET 的 IDE,我们推荐使用 Microsoft Visual StudioVisual Studio Code。 这两种 IDE 都易于使用,并提供广泛的可自定义设置,便于处理 C# 和 .NET。 我们的文档仅涵盖这些 IDE。

Visual Studio

安装 cTrader.Automate NuGet 包

在创建 cBot 或指标之前,请安装 cTrader.Automate NuGet 包。 您可以通过执行以下操作来完成安装:

  • 在 Visual Studio 中打开项目菜单,选择管理 NuGet 包
  • 选择 nuget.org 作为包源,并在搜索栏中输入 cTrader
  • 点击 cTrader.Automate 包并选择安装

Image title

注意

如果您使用的是较旧版本的 Visual Studio(2015 或更早版本),您还需要安装 NuGet 包管理器。 有关更多信息,请参阅此文档

或者,打开工具菜单,选择 NuGet 包管理器,然后打开包管理器控制台。 在控制台中,输入 Install-Package cTrader.Automate

安装 cTrader.Automate NuGet 包后,每当您构建 cBot/指标项目时,Visual Studio 将自动在其 build 目录中为您的项目创建一个 .algo 文件。 在 Windows 中工作时,该包还将在 ../Documents/cAlgo/Sources/{Robots/Indicators} 文件夹中创建相应的 .algo 文件。

在 Visual Studio 中创建新的 cBot 和指标

要创建新的 cBot/指标,请在 Visual Studio 中创建一个新项目,并选择类库。 为您的项目命名,这将是您的 cBot/扩展的名称。

Image title

在 "Class1.cs" 文件中,编写您的 cBot/指标代码。 之后,打开生成菜单并选择生成解决方案。 或者,按 Ctrl+Shift+B。 成功构建后,您应该在上述指定的目录中看到一个 .algo 文件。

如果您在 cTrader 用户界面中没有看到新的 cBot/指标,请重新启动 cTrader 平台,它应该会出现在其他扩展中。

有关 Visual Studio 的更多信息,请参阅此文档

Visual Studio Code

与 Visual Studio 相比,VS Code 是一个更轻量级的代码编辑器,这解释了它在开发人员中日益增长的受欢迎程度。 要通过 VS Code 创建 cBot/指标,您必须满足以下先决条件。

  • 安装 .NET SDK。
  • 在 VS Code 中安装 C# 扩展。

要安装合适的扩展,请打开扩展市场,在搜索栏中输入 C#,然后选择官方 Microsoft 扩展或任何其他合适的附加组件。

Image title

之后,您需要使用 .NET 命令行界面 (CLI) 创建一个解决方案和包含您的 cBot/指标的类库项目。

注意

只有在使用 Windows 系统时,您才应该使用 Documents\cAlgo\Sources,否则您可以在任何目录中创建和构建指标/cBot 项目。

创建指标

要通过 VS Code 创建指标,请通过选择终端菜单中的新建终端来打开一个新的 PowerShell 终端。 或者,按 Ctrl+Shift+`

1. 在终端中,打开您的 Documents\cAlgo\Sources\Indicators 目录。

cd Documents\cAlgo\Sources\Indicators\

2. 为您的指标创建一个新目录。 它将包含您的指标解决方案和项目。 切换到这个新创建的目录。

mkdir MyIndicator
cd MyIndicator

3. 在新创建的目录中创建一个新的 .NET 解决方案。

dotnet new sln

4. 创建一个类库 .NET 项目。

dotnet new classlib --name MyIndicator

这个项目将在 MyIndicator 目录中创建。

5. 将项目添加到您的解决方案中。

dotnet sln add .\MyIndicator\MyIndicator.csproj

6. 安装 cTrader.Automate NuGet 包。

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

7. 添加一个指标类。 为此,将 Class1.cs 文件重命名为 MyIndicator.cs 并打开它,然后用以下占位符代码替换其内容。 在 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. 构建项目。

dotnet build --configuration Release

您也可以使用源代码构建项目。

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

如果您想调试指标,可以将构建配置更改为 Debug

成功构建后,您将在项目的 bin 文件夹中以及 Documents\cAlgo\Sources\Indicators\ 文件夹中(如果您使用的是 Windows)找到指标的 .algo 文件。

创建 cBot

创建 cBot 与创建指标类似,只是您必须使用 Robot 类而不是 Indicator 类,并使用 Documents\cAlgo\Sources\Robots\ 目录而不是 Documents\cAlgo\Sources\Indicators\

您可以使用以下示例代码作为 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
    }
}

其他 .NET IDE

如果您愿意,可以使用其他 IDE 来处理 cBot、插件和指标。 按照以下步骤创建有效的 cTrader 扩展:

  1. 创建一个 .NET 类库项目。
  2. 安装 cTrader.Automate NuGet 包。
  3. 创建一个包含 cBot/指标源代码的类文件。 指标继承自 Indicator 类,而 cBot 必须继承自 Robot 类。
  4. 构建您的扩展。 有关编译/构建的更多信息,请查看本文档的相关部分