![用 MQL5 创建“贪吃蛇”游戏](https://c.mql5.com/2/0/snake__2.png)
![用 MQL5 创建“贪吃蛇”游戏](https://c.mql5.com/i/articles/overlay.png)
用 MQL5 创建“贪吃蛇”游戏
本文描述一个“贪吃蛇”游戏编程的例子。在 MQL5 中,游戏编程变为可能主要是因为事件处理功能。面向对象编程大大简化了这个过程。在本文中,您将学习事件处理功能,标准 MQL5 库类的使用例子以及定期函数调用的详细信息。
![图形界面 II: 设置库的事件处理函数 (第三章)](https://c.mql5.com/2/22/Graphic-interface-part2__2.png)
![图形界面 II: 设置库的事件处理函数 (第三章)](https://c.mql5.com/i/articles/overlay.png)
图形界面 II: 设置库的事件处理函数 (第三章)
之前的文章中包含了用于创建主菜单构成部分类的实现. 现在, 是时候在主基础类和创建控件的类中关注事件处理函数了. 我们将特别关注根据鼠标光标的位置来管理图表的状态.
![神经网络变得轻松(第五部分):OpenCL 中的多线程计算](https://c.mql5.com/2/49/Neural_Networks_Easy_005_600x314.jpg)
神经网络变得轻松(第五部分):OpenCL 中的多线程计算
我们早前已经讨论过某些类型的神经网络实现。 在所研究的网络中,每个神经元都重复相同的操作。 逻辑上进一步应利用现代技术提供的多线程计算功能来加快神经网络学习过程。 本文介绍了一种可能的实现方式。
![神经网络变得轻松(第四部分):循环网络](https://c.mql5.com/2/49/Neural_Networks_Easy_004_600x314.jpg)
神经网络变得轻松(第四部分):循环网络
我们继续研究神经网络的世界。 在本文中,我们将研究另一种类型的神经网络,循环网络。 此类型建议与时间序列配合使用,其在 MetaTrader 5 交易平台中由价格图表呈现。
![构建自动运行的 EA(第 06 部分):账户类型(I)](https://c.mql5.com/2/50/aprendendo_construindo_006_600x314.jpg)
构建自动运行的 EA(第 06 部分):账户类型(I)
今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。 当前状态下,我们的 EA 已能在任何状况下工作,但尚未准备好自动化。 我们仍然需要在几点上努力。
![处理 MQL5“EA 交易”的 GSM 调制解调器](https://c.mql5.com/2/0/P2090169__.png)
![处理 MQL5“EA 交易”的 GSM 调制解调器](https://c.mql5.com/i/articles/overlay.png)
处理 MQL5“EA 交易”的 GSM 调制解调器
当前,有相当数量的方式可以对交易账户进行轻松的远程监视:移动终端、推送通知、ICQ 。但都需要互联网连接。本文描述了“EA 交易”的创建程序,即使在移动互联网不可用的情况下,其也允许您通过电话或短信与交易终端保持联系。
![从头开始开发智能交易系统(第 9 部分):概念上的飞跃 (II)](https://c.mql5.com/2/49/Developing_a_trading_Expert_Advisor_from_scratch_014_600x314.jpg)
从头开始开发智能交易系统(第 9 部分):概念上的飞跃 (II)
在本文中,我们将把 Chart Trade 这个应用程序放置在浮动窗口当中。 在前一篇中,我们创建了一个基本系统,该系统支持在浮动窗口中使用模板。
![从头开始开发智能交易系统(第 22 部分):新订单系统 (V)](https://c.mql5.com/2/49/Developing_a_trading_Expert_Advisor_001_600x314.jpg)
从头开始开发智能交易系统(第 22 部分):新订单系统 (V)
今天,我们将继续开发新订单系统。 实现一个新系统并非那么容易,因为我们经常会遇到各种问题令过程复杂化。 当这些问题出现时,我们必须停下来重新分析我们前进的方向。
![从头开始开发智能交易系统(第 7 部分):添加价格成交量(Volume)指标(I)](https://c.mql5.com/2/49/Developing_a_trading_Expert_Advisor_from_scratch_012_600x314.jpg)
从头开始开发智能交易系统(第 7 部分):添加价格成交量(Volume)指标(I)
这是目前最强力的指标之一。 任何满怀信心尝试交易的人都必须在他们的图表上拥有这个指标。 最常用的指标都是那些喜欢在交易时“读磁带”的人所采用。 此外,而该指标则是那些交易时仅依据价格动作的人会采用。
![基于预定义的风险和风险/回报比建立互动式半自动拖放“EA 交易”](https://c.mql5.com/2/0/z5491084X.png)
![基于预定义的风险和风险/回报比建立互动式半自动拖放“EA 交易”](https://c.mql5.com/i/articles/overlay.png)
基于预定义的风险和风险/回报比建立互动式半自动拖放“EA 交易”
部分交易人员选择自动执行所有交易,而另外一些交易人员基于多个指标的输出混合使用自动和手动交易。作为后者中的一员,我需要一个互动式工具以直接从图表动态地评估风险和回报价格水平。本文将介绍通过预定义的资产净值风险和风险/回报比实施互动式半自动“EA 交易”的方法。“EA 交易”风险、风险/回报和手数参数可于运行时期间在 EA 面板上更改。
![构建自动运行的 EA(第 09 部分):自动化(I)](https://c.mql5.com/2/50/aprendendo_construindo_009_600x314.jpg)
构建自动运行的 EA(第 09 部分):自动化(I)
尽管创建自动 EA 并非一项非常困难的任务,但在缺乏必要知识的情况下可能会犯许多错误。 在本文中,我们将研究如何构建初级自动化,其中包括创建一个触发器来激活盈亏平衡和尾随停止价位。
![来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数](https://c.mql5.com/2/42/tipstricks__1.png)
![来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数](https://c.mql5.com/i/articles/overlay.png)
来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数
这些来自专业程序员关于方法、技术和辅助工具的一些提示,可令编程变得更轻松。 我们将讨论终端重启(关闭)后如何恢复参数。 所有示例都是来自我的 Cayman 项目的真实工作代码片段。
![构建自动运行的 EA(第 12 部分):自动化(IV)](https://c.mql5.com/2/50/aprendendo_construindo_012_600x314.jpg)
构建自动运行的 EA(第 12 部分):自动化(IV)
如果您认为自动化系统很简单,那么您可能并未完全理解创建它们需要什么。 在本文中,我们将谈谈杀死大量智能系统的问题。 不分青红皂白地触发订单是解决这个问题的可能方法。
![构建自动运行的 EA(第 08 部分):OnTradeTransaction](https://c.mql5.com/2/50/aprendendo_construindo_008_600x314.jpg)
构建自动运行的 EA(第 08 部分):OnTradeTransaction
在本文中,我们将目睹如何利用事件处理系统快速有效地处理与订单系统相关的问题。 配合这个系统,EA 就能更快地工作,如此它就不必持续不断地搜索所需的数据。
![神经网络实验(第 2 部分):智能神经网络优化](https://c.mql5.com/2/51/neural_network_experiments_p2_600x314.jpg)
神经网络实验(第 2 部分):智能神经网络优化
在本文中,我将利用实验和非标准方法开发一个可盈利的交易系统,并验证神经网络是否对交易者有任何帮助。 若在交易中运用神经网络的话, MetaTrader 5 完全可作为一款自给自足的工具。
![在莫斯科交易所(MOEX)里使用限价订单进行自动网格交易](https://c.mql5.com/2/49/Automated-grid-trading-using-limit-orders-on-Moscow-Exchange-6MOEXe_600x314.jpg)
在莫斯科交易所(MOEX)里使用限价订单进行自动网格交易
本文研究针对 MetaTrader 5 平台开发 MQL5 智能交易系统(EA),旨在能在 MOEX 上操作。 该 EA 采用网格策略,面向 MetaTrader 5 终端,并在 MOEX 上进行交易。 EA 包括了依据止损和止盈平仓,以及在某些市场条件下取消挂单。
![从头开始开发智能交易系统(第 20 部分):新订单系统 (III)](https://c.mql5.com/2/49/Developing_a_trading_Expert_Advisor_from_scratch_011_600x314.jpg)
从头开始开发智能交易系统(第 20 部分):新订单系统 (III)
我们继续实现新的订单系统。 创建这样的一个系统需要熟练地掌握 MQL5,以及了解 MetaTrader 5 平台的实际工作方式,及其提供的资源。
![从市场里选择智能交易系统的正确途径](https://c.mql5.com/2/49/choose_expert_from_market_600x314.jpg)
从市场里选择智能交易系统的正确途径
在本文中,我们将研究购买智能交易系统时应该注意的一些要点。 我们还将寻求提升盈利的方法,从而明智地花钱,并从付出中获取盈利。 此外,读完本文之后,您会发现,即便使用简单免费的产品也有可能赚到钱。
![神经网络变得轻松(第八部分):关注机制](https://c.mql5.com/2/49/Neural_Networks_Easy_008_600x314.jpg)
神经网络变得轻松(第八部分):关注机制
在之前的文章中,我们已经测试了组织规划神经网络的各种选项。 我们还研究了自图像处理算法中借鉴而来的卷积网络。 在本文中,我建议研究关注机制,它的出现为开发语言模型提供了动力。
![神经网络变得轻松(第七部分):自适应优化方法](https://c.mql5.com/2/49/Neural_Networks_Easy_007_600x314.jpg)
神经网络变得轻松(第七部分):自适应优化方法
在之前的文章中,我们利用随机梯度下降法针对网络中的所有神经元按照相同的学习率训练神经网络。 在本文中,我提议着眼于自适应学习方法,该方法能够改变每个神经元的学习率。 我们还将研究这种方法的利弊。
![DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合](https://c.mql5.com/2/41/MQL5-avatar-doeasy-library__5.png)
![DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合](https://c.mql5.com/i/articles/overlay.png)
DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合
鉴于程序在其运行时可能会用到不同的品种,因此应为每个品种创建一个单独的列表。 在本文中,我将把这些列表合并到一个即时报价数据集合。 实际上,这将是一个常规列表,基于指向标准库 CObject 类及其衍生类实例指针的动态数组。
![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交易的实例,使您可以同时优化多个交易品种的参数,这种方法是未了减少参数的过度配合以及处理在研究中来自单个交易品种的数据不足的问题。
![一张图表上的多个指标(第 05 部分):将 MetaTrader 5 转变为 RAD 系统(I)](https://c.mql5.com/2/49/Multiple-indicators-on-one-chart-9Part-05a-Turning-MetaTrader-5-into-a-RAD-system-yI6_600x314.jpg)
一张图表上的多个指标(第 05 部分):将 MetaTrader 5 转变为 RAD 系统(I)
有很多人不知道如何编程,但他们很有创造力,亦有杰出的想法。 然而,由于缺乏编程知识,他们无法实现这些想法。 我们一起看看如何利用 MetaTrader 5 平台本身创建图表交易,就如同它是一个 IDE。
![神经网络变得轻松(第二十一部分):变分自动编码器(VAE)](https://c.mql5.com/2/49/Neural_Networks_Easy_013_600x314.jpg)
神经网络变得轻松(第二十一部分):变分自动编码器(VAE)
在上一篇文章中,我们已熟悉了自动编码器算法。 像其它任何算法一样,它也有其优点和缺点。 在其原始实现中,自动编码器会尽可能多地将对象与训练样本分开。 这次我们将讨论如何应对它的一些缺点。
![MetaTrader 中的多机器人:从单图表中启动多个机器人](https://c.mql5.com/2/53/launching_multiple_robots_600x314.jpg)
MetaTrader 中的多机器人:从单图表中启动多个机器人
在本文中,我将研究一个简单的模板,用来创建通用的 MetaTrader 机器人,该机器人可以在多个图表上使用,同时仅附加到一个图表,无需在每个单独的图表上为每个机器人实例进行配置。
![了解使用MQL5下单](https://c.mql5.com/2/58/Understanding-order-placement_600x314.jpg)
了解使用MQL5下单
在创建任何交易系统时,我们都需要有效地处理一项任务。这项任务是下单,或者让创建的交易系统自动处理订单,因为它在任何交易系统中都至关重要。因此,您将在本文中找到您需要了解的关于这项任务的大多数主题,以有效地创建您的交易系统。
![从头开始开发智能交易系统(第 12 部分):时序与交易(I)](https://c.mql5.com/2/49/Developing_a_trading_Expert_Advisor_from_scratch_003_600x314.jpg)
从头开始开发智能交易系统(第 12 部分):时序与交易(I)
今天,我们将创建时序与交易,从而快速解读订单流程。 这是我们构建系统的第一部分。 在下一篇文章中,我们将补全该系统缺失的信息。 为了实现这一新功能,我们需要在智能交易系统代码中添加一些新的内容。
![连续前行优化 (第八部分): 程序改进和修复](https://c.mql5.com/2/49/Continuous-Walk-Forward-Optimization_008_600x314.jpg)
连续前行优化 (第八部分): 程序改进和修复
根据本系列文章的用户和读者的评论和要求,程序已进行了修改。 本文包含一个自动优化器的新版本。 该版本实现了所需的功能,并提供了其他改进,这些是我运用该程序操作时发现的。
![构建自动运行的 EA(第 14 部分):自动化(VI)](https://c.mql5.com/2/51/aprendendo_construindo_014_600x314.jpg)
构建自动运行的 EA(第 14 部分):自动化(VI)
在本文中,我们将把本系列中的所有知识付诸实践。 我们最终将建立一个 100% 自动化和功能性的系统。 但在此之前,我们仍然需要学习最后一个细节。