我们可以毫无疑问地说,编程或编码的重要性在我们世界的各个领域每天都在提升。故此,我们可以观察编程或编码为我们的生活变得更轻松如何做出贡献,而且可以根据您想要的、和您之前确定的内容保证准确的输出。
一旦进入交易世界—这个伟大的领域和职业—我们可以说,编程或编码令我们的交易变得简单,所创建程序会更加系统化;一旦我们依据自己的期望和想要的东西完成了一个精准和优秀的程序,它就可让我们实现更方便和自动化。编码的世界可以给我们带来很多益处,但在我看来,编码交易最重要之处是帮助您遵守纪律,就像我们所有人都知道的那样,作为交易员,我们的交易决策需要一直遵守纪律。纪律是关乎我们交易和投资结果的一个重要特征,因此遵守纪律在交易中并非选项。正如我常说的,纪律是您在交易和一生中能否成功的关键。为了用一种简单的方式明辨纪律,这意味着无论周围的环境如何,都要在正确的时间做您必须做的事情。当我们找到一个工具来帮助实现这一点时,我们必须要全神贯注,并了解它到底是什么。正确的编码工具。
众所周知,在交易过程中,阻碍我们自律的最常见事情就是情绪,我们必须避免这些情绪,或者当避免这些情绪对交易决策产生影响时采取消极方式。我想让大家想象一下,如果你们有一个系统,它能在不受人为干预的情况下,以预定的参数为你们工作。在此情况下,情绪对我们交易决策的负面影响就能被避免。好消息是,我们有一个工具可以帮助我们做到这一点。此处,我将为MetaTrader平台撰写关于MQL的文章。这个伟大的编程语言或工具将帮助我们设计自己的交易系统,我们指定的参数将保证具体的行动、或具体的交易决策。
如果您想更多地了解这个概念,我们来举一个例子。如果我们有两位投资者,他们的交易策略相同,在上升趋势中买入并持有,在逆转趋势时卖出;但他们每个人的行为不同—投资者A遵守约束,但投资者B不会。请看以下示意:
根据之前的数据,很明显,纪律对于良好的结果至关重要,但缺乏纪律会导致糟糕的结果。
本文的主要目的是通过学习MQL5的一些基础知识,引导初学者学习如何在MQL5中设计算法交易系统,从而获得一个简单交易系统的概念,在解释了MQL5的一些基础知识后,在本文会中逐步实现编码。我们会通过脚本针对它们编码,然后代码执行后会显示结果。为了增进您的理解,我建议您自己实现并编写在此阅读的内容,因为这将帮助您深入理解上述代码的概念。需要注意的是,本文中创建的全部代码、程序和交易策略都是为教育目的而设计的,而无其它目的。请注意,我们将使用MQL5编写代码。
我们在设计我们的算法交易时需要什么
在这一部分中,我会提及我们打算要用的工具,以及我们打算了解的工具:
MetaTrader5平台,又名MetaTrader5终端。通过终端执行命令和测试我们的代码。MetaTrader是最受欢迎的交易平台。
演示账户您可在您的经纪商那里开一个演示账户,在相同的市场环境下,无风险的用虚拟货币来测试您的交易策略。请务必使用演示帐户而不是您的实盘帐户实验编码,因为您所创建和执行的程序需要在您的帐户上执行交易。
MetaQuotes语言编辑器,我们将在其中编写代码或程序。下面的屏幕截将显示安装了MetaTrader后如何打开它。有三种方法可以打开它。
单击工具菜单,然后单击MMetaQuotes语言编辑器:
或者单击MetaQuotes编辑器标:
正在上传…重新上传取消
或者在打开终端后按键盘上的F4键。
下面的屏幕截展示了它的样子,于此我们编写程序和设计交易系统的大部分工作。
正在上传…重新上传取消
现在我们需要用这个编辑器来编写我们的第一个代码,所以按照下面的步骤来了解如何做到这一点。
单击“新建”,您将找到多种类型的程序可供选择:
在本文中,我们需要提及的是:智能交易系统、自定义指标和脚本。
智能交易系统:EA是终端中的一个程序,根据您设置的参数开发,并用于自动化分析和交易过程。自定义指标:是一段已编码的程序;它主要用于附属初步计算的形显示。脚本:是一个用于执行任何单一操作的程序,它可以实现分析和交易功能,并且与智能交易系统不同,它是根据请求执行的,而非基于即时报价执行。
启程的HelloWorld!程序
在这一部分中,我们将学习如何利用MQL5编写第一个程序和第一段代码。所有编程或编码的初学者都从编写“HelloWorld”代码开始他们的旅程。我们将首先编写一个程序,在终端屏幕上打印“HelloWorld”。我们开始吧…
如上所示打开MetaEditor编辑器,然后单击新建,然后从选项中选择,然后单击下一步。
单击“下一步”后,将出现以下窗口。填写您所需脚本的数据:
Name是脚本的名称Author是脚本的创作者吗Link是您的链接Parameter是您需要为脚本设置的参数,但此处我们不会为该脚本设置任何参数,因此跳过它。
然后单击完成。
单击“完成”后,将打开以下窗口。在这个窗口中,会生成我们的程序代码。正如我所提及的那样,我们需要设计一个在终端上显示“HelloWorld!”的程序。我们将开始在两个花括号之间编写代码。
在此我们会用:
Alert:它打印我确定的内容,或者在程序中显示一条预先确定的消息,而在我们的示例中是“HelloWorld!”:在引号里写入我想要的东西和预先确定的信息“HelloWorld!”或任何内容。;-分隔句子。
我们的代码如下相同:
文章为作者独立观点,不代表股票自动交易程序化数据接口观点