![价格直方图(市场概况)及其在 MQL5 中的实施](https://c.mql5.com/2/0/price__1.png)
![价格直方图(市场概况)及其在 MQL5 中的实施](https://c.mql5.com/i/articles/overlay.png)
价格直方图(市场概况)及其在 MQL5 中的实施
“市场概况”由真正才华横溢的思想家 Peter Steidlmayer 所提出。他建议使用有关“水平”和“垂直”市场动态信息的替代表示法,从而给出一套完全不同的模型。他认为存在市场深层次的摆动或称之为平衡和失衡周期的基本模式。在本文中,我将会探讨价格直方图(市场概况的一种简化模型)以及它在 MQL5 中的实施。
![以经济方式计算指标的原则](https://c.mql5.com/2/0/optimize_MQL5.png)
![以经济方式计算指标的原则](https://c.mql5.com/i/articles/overlay.png)
以经济方式计算指标的原则
调用用户指标和技术指标在自动交易系统的程序代码中只占很少的空间。通常它仅仅只是行代码。但是经常出现正是这几行代码占用测试 EA 交易程序所需的大部分时间的情况。因此,与指标内的数据计算有关的所有一切都需要更加彻底地考虑,而不能随意决定。本文正是探讨这一点。
![创建一个在若干工具上交易的 EA 交易程序](https://c.mql5.com/2/0/multi_assets_EA_MQL5__1.png)
![创建一个在若干工具上交易的 EA 交易程序](https://c.mql5.com/i/articles/overlay.png)
创建一个在若干工具上交易的 EA 交易程序
金融市场中资产的多样化是一个非常旧的概念,并且始终吸引着新入门的交易者。在本文中,作者提出了一个最简单的方法用以构建一个多货币 EA 交易程序,以便对这种方向的交易策略提供一个初步介绍。
![分析烛的图案](https://c.mql5.com/2/0/candlestick_research_MQL5__1.png)
![分析烛的图案](https://c.mql5.com/i/articles/overlay.png)
分析烛的图案
日本烛形图的构建和烛图案的分析构成了技术分析的一个迷人领域。烛形图的优点在于它们以您能够跟踪数据动态的方式表示数据。在本文中,我们将分析烛的类型、烛图案的分类并提出一个能够确定烛图案的指标。
![依据 Heiken-Ashi 指标的交易系统示例](https://c.mql5.com/2/0/Heikin_Ashi_MQL5.png)
![依据 Heiken-Ashi 指标的交易系统示例](https://c.mql5.com/i/articles/overlay.png)
依据 Heiken-Ashi 指标的交易系统示例
在本文中我们将探讨在交易中使用 Heiken-Ashi 指标的问题。依据此指标考虑了一个简单的交易系统,并编写了一个 MQL5 EA 交易程序。依据标准类库中的类实施交易操作。复核后的交易策略的测试结果以历史记录为基础,并使用内建的 MetaTrader 5 策略测试程序获得,也在本文中提供。
![用于在以仓位为中心的 MetaTrader 5 环境中跟踪订单的虚拟订单管理程序](https://c.mql5.com/2/0/virtual__1.png)
![用于在以仓位为中心的 MetaTrader 5 环境中跟踪订单的虚拟订单管理程序](https://c.mql5.com/i/articles/overlay.png)
用于在以仓位为中心的 MetaTrader 5 环境中跟踪订单的虚拟订单管理程序
可以将此类库添加到 MetaTrader 5 EA 交易程序,从而能够通过一种与 MetaTrader 4 非常类似的以订单为中心的方法编写程序(与基于仓位的 MetaTrader 5 相比较)。它通过在 MetaTrader 5 客户端跟踪虚拟订单,同时为每个仓位维护一个保护性经纪人止损,从而提供灾难防护来实现这一目的。
![MetaTrader 5:在博客、社交网络和专业网站上通过电子邮件发布交易预测和实时交易声明](https://c.mql5.com/2/0/social-network.png)
![MetaTrader 5:在博客、社交网络和专业网站上通过电子邮件发布交易预测和实时交易声明](https://c.mql5.com/i/articles/overlay.png)
MetaTrader 5:在博客、社交网络和专业网站上通过电子邮件发布交易预测和实时交易声明
本文旨在使用 MetaTrader 5 提供用于发布预测的即用型解决方案。它涵盖各种各样的想法:从使用针对发布 MetaTrader 声明的专业网站,到几乎不需要任何 Web 编程经验就可搭建自己的网站,再到与允许很多读者加入并关注预测的社交网络微博服务的集成,无所不包。在此处提供的所有解决方案都是百分百免费的,并且能够由具备电子邮件和 FTP 服务基本知识的任何人所搭建。使用相同的技术来提供专业托管和商业性交易预测服务也毫无问题。
![利用模糊逻辑创建指标的简单示例](https://c.mql5.com/2/0/Fuzzy_logic_MQL5.png)
![利用模糊逻辑创建指标的简单示例](https://c.mql5.com/i/articles/overlay.png)
利用模糊逻辑创建指标的简单示例
本文专门讲解金融市场分析模糊逻辑理念的实际应用。 我们会根据两条模糊规则和轨道线指标,提供生成信号的指标示例。 开发出的指标会采用多个指标缓冲区:7 个计算用缓冲区,5 个图表显示用缓冲区和 2 个颜色缓冲区。
![Simulink: EA 交易开发人员指南](https://c.mql5.com/2/0/Simulink_MQL5__1.png)
![Simulink: EA 交易开发人员指南](https://c.mql5.com/i/articles/overlay.png)
Simulink: EA 交易开发人员指南
我不是专业的程序员。 正因如此,对于我来说,要进行交易系统开发,“由简入繁”是最最重要的原则。 那么,对我来说,怎样才算是简单呢? 首先,是创建系统过程的可视化,及其工作的逻辑。 还有,手写代码要尽可能地少。 在本文中,我将尝试根据 Matlab 软件包完成交易系统的创建和测试,然后再编写一个 MetaTrader 5 “EA 交易”。而测试过程会采用 MetaTrader 5 的历史数据。
![如何快速创建一个"2010 年自动交易锦标赛"专用"EA 交易"](https://c.mql5.com/2/0/Fast_Expert_Advisor_Writing_MQL5.png)
![如何快速创建一个"2010 年自动交易锦标赛"专用"EA 交易"](https://c.mql5.com/i/articles/overlay.png)
如何快速创建一个"2010 年自动交易锦标赛"专用"EA 交易"
为了开发出一种参与“2010 年自动交易锦标赛”的“EA 交易”,我们使用一个即用的“EA 交易”模板。 即便是 MQL5 程序员初哥也能胜任此任务,因为您策略的基类、函数和模板都已经开发完毕。 编写少量的代码来实现您的交易理念就足够了。
![使用TesterWithdrawal() 函数模拟利润提取](https://c.mql5.com/2/0/TesterWithdrawal_MQL5.png)
![使用TesterWithdrawal() 函数模拟利润提取](https://c.mql5.com/i/articles/overlay.png)
使用TesterWithdrawal() 函数模拟利润提取
本文讲述的是用于交易系统风险评估的TesterWithDrawal()函数的用法,即运行期间提取一部分资产。此外,还会讲到此函数对于策略测试程序中资产净值减少的计算算法的作用。在优化您的EA交易的时候,就会用到此函数。
![利用 MQL5 面向对象编程法编写"EA 交易"](https://c.mql5.com/2/0/Expert_Advisor_classes_MQL5.png)
![利用 MQL5 面向对象编程法编写"EA 交易"](https://c.mql5.com/i/articles/overlay.png)
利用 MQL5 面向对象编程法编写"EA 交易"
本文将着重讲述的是面向对象法,将我们曾在"针对初学者以 MQL5 编写"EA 交易"的分步指南"文中谈到的内容落到实处-创建简单的"EA 交易"。 很多人都觉得难,但是,我向您保证,看完本文之后,您就能够编写自己的面向对象 "EA 交易"了。
![MQL5 Cookbook: 减少过度配合的影响以及处理报价缺失](https://c.mql5.com/2/0/Reduce_Overfitting_avatar.png)
![MQL5 Cookbook: 减少过度配合的影响以及处理报价缺失](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: 减少过度配合的影响以及处理报价缺失
无论您使用何种交易策略,总会有一个问题:怎样选择参数以保证未来的利润。本文提供了一个EA交易的实例,使您可以同时优化多个交易品种的参数,这种方法是未了减少参数的过度配合以及处理在研究中来自单个交易品种的数据不足的问题。
![MQL5 Cookbook: 把交易历史写入文件以及为每个交易品种在Excel中创建余额图表](https://c.mql5.com/2/0/avatar11.png)
![MQL5 Cookbook: 把交易历史写入文件以及为每个交易品种在Excel中创建余额图表](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: 把交易历史写入文件以及为每个交易品种在Excel中创建余额图表
当在各种论坛做沟通时,我经常使用我自己的测试结果作为例子,这些结果显示为Microsoft Excel中的图表截图。很多时候都有人问我这些图表是怎样创建的,最终,我现在有时间在本文中解释其中的全部了。
![MQL5 Cookbook: 使用不限数量的参数开发多币种EA交易](https://c.mql5.com/2/0/avatar__5.png)
![MQL5 Cookbook: 使用不限数量的参数开发多币种EA交易](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: 使用不限数量的参数开发多币种EA交易
在本文中,我们将创建一种模式,它会使用一系列参数为交易系统作优化,而且允许不加数量限制的参数。交易品种的列表将在标准文本文件(*.txt)中创建,每个交易品种的输入参数也将存储于文件中。使用这种方法,我们将能够免除终端中对EA输入参数个数的限制。
![6 步创建您自己的交易机器人!](https://c.mql5.com/2/0/make_trade_signals.png)
![6 步创建您自己的交易机器人!](https://c.mql5.com/i/articles/overlay.png)
6 步创建您自己的交易机器人!
如果您不清楚交易类如何构造,而且一看到面向对象编程之类的词就害怕,那么,本文正适合您。实际上,那些编写您自己的交易信号模块的细节,您无需知道。只需遵循几条简单法则即可。MQL5 向导会完成所有其余工作,而您则会得到一个即用型的交易机器人!
![面向对象法建立多时间表及多货币面板](https://c.mql5.com/2/0/Multi-Currency-Panels_MQL5.png)
![面向对象法建立多时间表及多货币面板](https://c.mql5.com/i/articles/overlay.png)
面向对象法建立多时间表及多货币面板
本文讲述如何利用面向对象编程创建 MetaTrader 5 多时间表与多货币面板。主要目标在于建立一个可用于显示多种不同类型数据(比如价格、价格变动、指标值或自定义买/卖条件)、且无需修改面板本身代码的通用面板。
![利用MQL5创建您自己的图形面板](https://c.mql5.com/2/0/graph_pannels_MQL5.png)
![利用MQL5创建您自己的图形面板](https://c.mql5.com/i/articles/overlay.png)
利用MQL5创建您自己的图形面板
MQL5程序的可用性,是由其丰富的功能性和制作精细的图形用户界面所决定的。视觉感知有时比快速且稳定的运行更加重要。根据标准库类,您可以自行创建显示面板,以下即逐步操作指南。
![自定义图形控件。第 3 部分 表单](https://c.mql5.com/2/0/Custom_Graphic_Controls_part3.png)
![自定义图形控件。第 3 部分 表单](https://c.mql5.com/i/articles/overlay.png)
自定义图形控件。第 3 部分 表单
专门讲解图形控件的有三篇文章,此为最后一篇。其中涵盖主要图形界面组件的创建 - 表单 - 及其同其它控件的搭配使用。除表单类之外,CFrame、CButton、CLabel 类亦已添加到此控件库。
![自定义图形控件。第 2 部分 控件库](https://c.mql5.com/2/0/Graphic_Controls_Library_MQL5.png)
![自定义图形控件。第 2 部分 控件库](https://c.mql5.com/i/articles/overlay.png)
自定义图形控件。第 2 部分 控件库
自定义图形控件系列的第二篇文章引入了一个控件库,而该控件库旨在处理程序(EA 交易、脚本、指标)与用户交互过程中产生的主要问题。库中包含大量的类(CInputBox、CSpinInputBox、CCheckBox、CRadioGroup、CVSсrollBar、CHSсrollBar、CList、CListMS、CComBox、CHMenu、CVMenu、CHProgress、CDialer、CDialerInputBox、CTable)及其使用示例。
![在 MQL5 中使用资源](https://c.mql5.com/2/72/resources_600x314.jpg)
在 MQL5 中使用资源
MQL5程序不仅仅对例行计算进行自动化,还能够创建全功能图形环境。现在,创建真实互动控制的功能,几乎与经典编程语言一样丰富。如果您希望以 MQL5 编写一个完全成熟的独立程序,请使用MQL5中的资源。带有资源的程序更容易维护与分发。
![MQL5 中的绘图风格](https://c.mql5.com/2/0/180x180LoongIndicator.png)
![MQL5 中的绘图风格](https://c.mql5.com/i/articles/overlay.png)
MQL5 中的绘图风格
MQL4 中有 6 种绘图风格,而到 MQL5 则增加到了 18 种。因此,可能很有必要撰写一篇文章,专门介绍 MQL5 的绘图风格。我们会在本文研究 MQL5 中的绘图风格详情。此外,我们还会创建一个指标来展示如何使用这些绘图风格,并细化标绘。
![使用信号指标的简单交易系统](https://c.mql5.com/2/0/Semafor.png)
![使用信号指标的简单交易系统](https://c.mql5.com/i/articles/overlay.png)
使用信号指标的简单交易系统
如果我们完整地检查任何复杂的交易系统,就会发现它们都是基于一组简单的交易信号。因此,新手开发人员无需立即开始复杂算法的编写。本文讲述的是一套使用信号指标执行交易的交易系统示例。
![MQL5 Cookbook: 多币种EA交易 - 简洁而快速的途径](https://c.mql5.com/2/0/avatar__3.png)
![MQL5 Cookbook: 多币种EA交易 - 简洁而快速的途径](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: 多币种EA交易 - 简洁而快速的途径
本文将介绍一个针对多币种EA交易的简单而合适的实现。意思是说您可以设置EA交易,针对多币种在同一条件下测试/交易,但是为每个交易品种设置不同的参数。作为例子,我们将创建针对两个交易品种的模式,但是通过这种方法可以还增加另外的交易品种,如有必要只需修改很少的代码。
![MQL5 Cookbook: 基于三重滤网策略开发交易系统框架](https://c.mql5.com/2/0/avatar__2.png)
![MQL5 Cookbook: 基于三重滤网策略开发交易系统框架](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: 基于三重滤网策略开发交易系统框架
在本文中,我们将基于三重滤网(Triple Screen)策略,使用MQL5开发一个交易系统的框架。EA交易不会从头开始开发,我们会简单地修改前一篇文章, 即"MQL5 Cookbook: 在EA交易中使用指标设置交易条件"中的程序,它已经基本上满足了我们的目标。所以这篇文章也会向您展示如何简单地修改已经完成的程序的模式。
![MQL5 Cookbook: 在EA交易中使用指标来设置交易条件](https://c.mql5.com/2/0/Avatar__1.png)
![MQL5 Cookbook: 在EA交易中使用指标来设置交易条件](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: 在EA交易中使用指标来设置交易条件
在本文中,我们将继续修改之前在MQL5 Cookbook系列文章中的EA交易,这一次,EA交易将进一步增强,使用指标来检查建仓条件。为了增加点乐趣,我们会在外部参数中创建一个下拉列表,可以从三个交易指标中选择一个。
![MQL5 Cookbook: 交易历史和取得仓位信息的函数库](https://c.mql5.com/2/0/avatar-history.png)
![MQL5 Cookbook: 交易历史和取得仓位信息的函数库](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: 交易历史和取得仓位信息的函数库
现在是时候简单总结一下之前关于仓位属性文章的内容了,在本文中,我们会额外创建几个函数来取得只能通过访问交易历史才能获得的属性,我们也会对数据结构更加熟悉,这使我们可以用更加方便的方法访问仓位和交易品种属性。
![MQL5 中的交易操作 - 很简单](https://c.mql5.com/2/0/egg.png)
![MQL5 中的交易操作 - 很简单](https://c.mql5.com/i/articles/overlay.png)
MQL5 中的交易操作 - 很简单
几乎所有的交易者都是为了赚钱而进入市场,但也有一些交易者却是享受交易过程的本身。然而,并不是只有手动交易才能给您兴奋的体验。自动化交易系统开发也可以让您欲罢不能。创建一个交易机器人,可以像读一本出色的悬疑小说一样有趣。
![MQL5 快速上手](https://c.mql5.com/2/68/dive_600x314.jpg)
MQL5 快速上手
您已决定学习 MQL5 交易策略的编程语言,但却对其一无所知?我们尝试从新人的视角来看待 MQL5 和 MetaTrader 5 终端,并撰写了此篇简短的介绍性文章。本文中简要地讲述了该语言的多种可能性,还包含有关使用 MetaEditor 5 及此终端的一些小贴士。
![MQL5 Cookbook: 怎样在设置/修改交易参数时避免错误](https://c.mql5.com/2/0/avatar1.png)
![MQL5 Cookbook: 怎样在设置/修改交易参数时避免错误](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: 怎样在设置/修改交易参数时避免错误
作为我们在系列前一篇文章,"MQL Cookbook: 在MetaTrader 5策略测试器中分析仓位属性"中EA交易工作的继续,我们将使用很多有用的函数,以及提高和优化已有的函数来增强它。这一次EA交易有可以在MetaTrader 5策略测试器中优化的外部参数,并且在某些方面组成了一个简单的交易系统。
![MQL5 Cookbook: 在MetaTrader 5策略测试器中分析仓位属性](https://c.mql5.com/2/0/Avatar_Recipes_tester.png)
![MQL5 Cookbook: 在MetaTrader 5策略测试器中分析仓位属性](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: 在MetaTrader 5策略测试器中分析仓位属性
我们将会展示一个来自前一篇文章,"MQL5 Cookbook: 自定义信息面板上的仓位属性"的修改版的EA交易。我们将会解决一些问题,包括从柱中获得数据,在当前交易品种中检查新柱事件,在文件中包含标准库中的交易类,创建一个函数来搜索交易信号,还有一个执行交易操作的函数以及在OnTrade()函数中判断交易事件。
![MQL5 Cookbook: 自定义信息面板上的仓位属性](https://c.mql5.com/2/0/Info-Panel-avatar.png)
![MQL5 Cookbook: 自定义信息面板上的仓位属性](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: 自定义信息面板上的仓位属性
这一次我们创建一个简单的EA交易,它可以取得当前交易品种的仓位属性并且在人工交易的时候在自定义信息面板上显示它们。信息面板将使用图形对象创建,显示的信息在每当有订单时都会刷新,这将比系列文章的前一篇 - "MQL5 Cookbook: 获取仓位属性"中提到的每次必须人工运行脚本要方便得多。
![MQL5 Cookbook: 获取仓位属性](https://c.mql5.com/2/0/avatar3__2.png)
![MQL5 Cookbook: 获取仓位属性](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: 获取仓位属性
在本文中,我们将创建一个脚本来获得所有的仓位属性,并用对话框向用户显示它们。通过运行这个脚本,您可以从外部参数下拉列表的两种模式中选择:只看当前交易品种的仓位属性,或者查看所有交易品种的属性。
![MQL5 Cookbook: 使用不同的打印模式](https://c.mql5.com/2/0/avatar2__2.png)
![MQL5 Cookbook: 使用不同的打印模式](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: 使用不同的打印模式
这是 MQL5 Cookbook 系列的第一篇文章,我将会从简单的实例开始,让那些刚刚开始编程的人逐渐熟悉这门新语言。我还记得我开始设计和编写交易系统时的尝试,可以说是非常困难,事实上那是我所学的第一门编程语言,然而,后来还是比我想象的简单一些,我只用了几个月的时间就能够开发相对复杂的程序了。
![在 MQL5 中使用 WinInet。第二部分:POST 请求和文件](https://c.mql5.com/2/0/Wininet_partII.png)
![在 MQL5 中使用 WinInet。第二部分:POST 请求和文件](https://c.mql5.com/i/articles/overlay.png)
在 MQL5 中使用 WinInet。第二部分:POST 请求和文件
在本文中,我们将继续学习使用 HTTP 请求处理互联网和与服务器进行信息交换的原则。它介绍了 CMqlNet 类的新函数、从表单发送信息的方法、使用 POST 请求发送文件的方法以及使用 Cookie 在您登录网站时进行身份验证。