跳转至

如何使用 cTrader Algo 参考资料和指南

cTrader 配备了全套补充材料,包括广泛的文档(您目前正在阅读的部分)和教育视频。 在本文中,我们解释了如何有效地使用这些宝贵的信息。 算法 API 有许多成员,了解如何快速获取所需信息至关重要。

文档更新

文档会定期更新以匹配新的 cTrader 版本。 在某些情况下,您可能会看到文档讨论的 API 改进在 cTrader 中尚无法访问。 您可以将这些情况视为未来 cTrader 版本的预览。

访问文档和指南

您可以直接在 cTrader Windows 中轻松找到教育材料。 为此,请打开 Algo 应用程序并选择任意算法。 在代码编辑器窗口右侧的列中,您应该会看到完全集成在平台内的 API 文档。

Image title

事实上,您很有可能正在 cTrader 内阅读本文。

或者,您可以访问 cTrader 帮助中心 并打开涵盖算法交易的部分。 在其中,您应该会看到与常规 cTrader Windows 相同的界面和结构。 最后但同样重要的是,您可以访问我们的 YouTube 频道,在那里您可以观看涵盖 cTrader 算法的视频指南。 请注意,所有这些指南也以嵌入式视频的形式在帮助中心和集成的 API 文档中提供。

浏览文档

文档包含几个重要部分。

C# 和 .NET 基础。 这篇简短的 C# 和 .NET 核心原理介绍非常适合任何想要开始创建自定义算法的人。

cBot指标。 这些指南涵盖了从零开始创建 cBot 和指标的过程,并提供了几个代码片段,您可以在制作自己的算法时自由重用。

API 功能。 本节中的文档详细介绍了如何使用 Algo API 的几个主要功能,尤其是网络访问和本地存储。 高级 cBot 操作高级指标操作 指南包含了复杂类型的 cTrader 算法的代码片段,例如嵌套指标。

参考。 API 参考包含每个 API 成员的描述,这意味着您可以阅读有关通过某些属性可以获取或设置的内容、各种 enum 的可能值以及某些方法返回的信息。 当您将鼠标悬停在特定 API 成员上时,代码编辑器窗口中也会提供相同的信息。

使用代码片段

广泛的代码片段是本文档的关键功能之一。 无论您想创建哪种类型的算法,文档中都很有可能包含您可以自由重用的代码。 为了演示这一点,我们可以创建一个简单的 cBot,它几乎完全运行于从文档中提取的代码,并进行了一些小的修改。

为此,我们首先将创建一个新的 cBot。 这可以通过点击 新建 cBot 按钮来完成,或者如果您看不到它,可以打开算法列表顶部的下拉菜单并选择相同的选项。

Image title

我们将创建一个交易多个交易品种的简单 cBot。 我们希望交易新闻,因此拥有一个交易与该新闻相关的所有交易品种的算法是有意义的。

为此,我们将打开集成的 Algo API 文档,并在其搜索栏中输入“multiple symbols”。 如搜索结果所示,cBot 高级操作 指南中有一个讨论交易其他交易品种的子部分。 如果我们点击这个特定的结果,我们将立即被带到相关的代码片段以及一些补充信息。 我们可以立即将代码片段复制并粘贴到我们的 cBot 中。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
  [Robot()]
  public class Sample_cBot : Robot
  {
    protected override void OnStart()
    {
        var symbol = Symbols.GetSymbol("GBPUSD");

        if (symbol is not null)
        {
            _ = ExecuteMarketOrder(TradeType.Sell, symbol.Name, symbol.VolumeInUnitsMin);
        }
    }
  }

代码片段上方的信息告诉我们,我们可以使用 Symbols 集合来查找我们想要的交易品种。 假设美国财政部正在就利率周期发表另一次演讲,我们希望开盘时对几个美国指数(但不包括我们的 cBot 所附加的交易品种)开立卖出头寸。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
[Robot()]
  public class Sample_cBot : Robot
  {
    protected override void OnStart()
    {
        var symbolOne = Symbols.GetSymbol("US 500");

        var symbolTwo = Symbols.GetSymbol("US 30");

        var symbolThree = Symbols.GetSymbol("US TECH 100");

        if (symbolOne is not null && symbolTwo is not null && symbolThree is not null)
        {
            ExecuteMarketOrder(TradeType.Sell, symbolOne.Name, symbolOne.VolumeInUnitsMin);
            ExecuteMarketOrder(TradeType.Sell, symbolTwo.Name, symbolTwo.VolumeInUnitsMin);
            ExecuteMarketOrder(TradeType.Sell, symbolThree.Name, symbolThree.VolumeInUnitsMin);
        }
    }
  }

在启动时,我们的 cBot 将执行所需的操作。 参考 API 文档使我们能够通过重用现有代码并仅稍作修改以满足我们的需求,从而节省大量时间。

总结

cTrader 允许您在多个不同的地方访问 API 文档,尤其是在平台本身内。 这是一种极其方便的方式来增强您的算法,因为您只需在引入所需修改后重用文档中的代码片段。 我们还强烈建议订阅我们的 YouTube 频道,以便在我们发布新的教育视频时及时获取更新。