---
title: "有关开发交易应用程序的文章 - MetaEditor 帮助"
description: "MQL5 社区 网站提供大量函数库 文章，它们均与 MQL4/MQL5 编程有关 。 这些文章是创建应用程序的绝佳指南，因为它们涵盖了涉及算法交易的许多实际任务。 每周都会发布新文章。 所有可用文章的列表直接显示在 MetaEditor 之中。... - 有关开发交易应用程序的文章 - MetaEditor 帮助"
image: "https://www.metatrader5.com/i/logo_metatrader5.png"
url: "https://www.metatrader5.com/zh/metaeditor/help/articles"
---

[MetaEditor 帮助](https://www.metatrader5.com/zh/metaeditor/help) → 有关开发交易应用程序的文章

# 有关开发交易应用程序的文章

[MQL5 社区](https://www.mql5.com/) 网站提供大量函数库 [文章，它们均与 MQL4/MQL5 编程有关](https://www.mql5.com/zh/articles)。 这些文章是创建应用程序的绝佳指南，因为它们涵盖了涉及算法交易的许多实际任务。 每周都会发布新文章。

所有可用文章的列表直接显示在 MetaEditor 之中。 若要查找必要的素材，请使用 [在线搜索](https://www.metatrader5.com/zh/metaeditor/help/toolbar/toolbar_search)。

![有关 MQL4/MQL5 编程的文章](https://www.metatrader5.com/i/help/metaeditor/en/articles.png)

## 为初学者推荐的文章

| ![MQL5 快速入门](https://www.metatrader5.com/i/help/metaeditor/en/article_fast_dive.png) | [MQL5 快速入门](https://www.mql5.com/zh/articles/447)<br><br>您已决定学习 MQL5 交易策略的编程语言，但却对其一无所知？我们尝试从新人的视角来看待 MQL5 和 MetaTrader 5 终端，并撰写了此篇简短的介绍性文章。本文中简要地讲述了该语言的多种可能性，还包含有关使用 MetaEditor 5 及此终端的一些小贴士。 |
| --- | --- |
| ![MQL5: 创建您自己的指标](https://www.metatrader5.com/i/help/metaeditor/en/article_create_indicator.png) | [MQL5: 创建您自己的指标](https://www.mql5.com/zh/articles/10)<br><br>什么是指标？指标是我们希望以便利方式在荧幕上显示的一组计算值。这一组值在程序中以数组表示。因此，创建指标意即编写用于处理数组（价格数组）的算法并将处理结果记录在其他数组（指标值）中。本文使用真实强度指数指标的开发作为示例，在 MQL5 中解决编写指标的问题。 |
| ![将一个指标应用于另一个指标](https://www.metatrader5.com/i/help/metaeditor/en/article_indiacator_on_indicator.png) | [将一个指标应用于另一个指标](https://www.mql5.com/zh/articles/15)<br><br>在编写使用 OnCalculate() 函数调用的简短形式指标时，您可能会错过一个事实，即指标不仅可以通过价格数据进行计算，也可以通过其它指标的数据进行计算 (不管它是否是内置的或是自定义的)。 是否要改进指标以使其可以正确应用至其他指标的数据？在本文中，我们将回顾这些修改所需的所有步骤，并概述正确创建此类指标的附加规则。 |
| ![MQL 5中对象创建和注销的顺序](https://www.metatrader5.com/i/help/metaeditor/en/article_object_creation_destruction.png) | [MQL 5中对象创建和注销的顺序](https://www.mql5.com/zh/articles/28)<br><br>每个对象 (无论是自定义对象，动态数组还是对象数组) 在 MQL5 程序中拥有自身的创建和注销功能。 一些对象通常是其他对象的一部分，且在逆初始化时对象的注销顺序变得尤为重要。 本文提供了若干用来理解对象操控机制的示例。 |
| ![在 MQL5 中使用对象指针](https://www.metatrader5.com/i/help/metaeditor/en/article_object_pointers.png) | [在 MQL5 中使用对象指针](https://www.mql5.com/zh/articles/36)<br><br>默认情况下，所有 MQL5 对象都通过引用传递，但也可以使用对象指针。 这也许会导致得到一个未经初始化的对象指针作为函数参数。 在这种情况下，程序操作极度危险并随之卸载。 自动创建的对象通常不会导致这样的错误，并且在这方面它们非常安全。 在本文中，我们尝试挖掘出引用和指针之间的区别是什么，何时使用指针，以及如何编写安全访问指针的合理代码。 |
| ![MQL5 中的交易操作 ― 很简单](https://www.metatrader5.com/i/help/metaeditor/en/article_easy_trade_operations.png) | [MQL5 中的交易操作 ― 很简单](https://www.mql5.com/zh/articles/481)<br><br>几乎所有的交易者都是为了赚钱而进入市场，但也有一些交易者却是享受交易过程的本身。然而，并不是只有手动交易才能给您兴奋的体验。自动化交易系统开发也可以让您欲罢不能。创建一个交易机器人，可以像读一本出色的悬疑小说一样有趣。 |
| ![MetaTrader 5 终端的策略测试器中生成逐笔报价的算法](https://www.metatrader5.com/i/help/metaeditor/en/article_tick_generation.png) | [MetaTrader 5 终端的策略测试器中生成逐笔报价的算法](https://www.mql5.com/zh/articles/75)<br><br>MetaTrader 5 允许我们通过智能交易系统和 MQL5 语言，在嵌入式策略测试器中模拟自动交易。 这种类型的仿真称为智能交易系统的测试，可以使用多线程优化来实现，也可以同时用于多种工具。 为了提供完整的测试，逐笔报价的生成需要基于可用的分钟历史数据执行。 本文提供了算法的详细说明，通过该算法为 MetaTrader 5 客户端中的历史测试生成逐笔报价。 |
| ![智能交易系统中的资金管理函数](https://www.metatrader5.com/i/help/metaeditor/en/article_money_management.png) | [智能交易系统中的资金管理函数](https://www.mql5.com/zh/articles/113)<br><br>交易策略的开发主要着重于搜索进入和退出市场的模式以及维持仓位。如果我们能够将某些模式公式化为自动交易规则，则交易者面临计算持仓量、预付款数额}{\f8 等问题，以及在自动模式中维持抵押资金的安全水平以保证未平仓位的问题。在本文中，我们将使用 MQL5 语言构建几个进行这些计算的简单例子。 |
| ![MQL5 向导: 新版本](https://www.metatrader5.com/i/help/metaeditor/en/article_mql5_wizard.png) | [MQL5 向导: 新版本](https://www.mql5.com/zh/articles/275)<br><br>本文将介绍在新版 MQL5 向导中实现的功能。 在信号架构中的变化允许您创建基于不同行情模型组合的交易机器人。 用一个具体的例子来分析一个成品智能系统的交互开发。 |
| ![MetaTrader 5 中的订单，仓位和成交](https://www.metatrader5.com/i/help/metaeditor/en/article_orders_deals_positions.png) | [MetaTrader 5 中的订单，仓位和成交](https://www.mql5.com/zh/articles/211)<br><br>不理解 MetaTrader 5 交易系统的机制，就不能创建一个强大的交易机器人。客户端从交易服务器接收有关仓位、委托和成交的信息。为了使用 MQL5 正确处理这些数据，有必要深入理解 MQL5 程序和客户端之间的交互。 |
| ![在 MetaTrader 5 中创建和测试自定义品种](https://www.metatrader5.com/i/help/metaeditor/en/article_custom_symbols.png) | [在 MetaTrader 5 中创建和测试自定义品种](https://www.mql5.com/zh/articles/3540)<br><br>创建自定义品种可以推动交易系统和金融市场分析的发展。 现在交易者可以在无数金融产品上绘制图表并测试交易策略。 |
| ![MetaTrader 5中的交易事件](https://www.metatrader5.com/i/help/metaeditor/en/article_trade_events.png) | [MetaTrader 5中的交易事件](https://www.mql5.com/zh/articles/232)<br><br>监视交易帐户的当前状态意味着控制未平仓位和委托。在一个交易信号变为成交之前，它应作为一个请求从客户端发送到交易服务器，在服务器中，它将被放入等待处理的委托队列中。接受交易服务器的请求，在交易过期时将其删除，或在其基础上进行成交 - 所有这些动作都伴随交易事件; 交易服务器会向终端通知这些事件。 |
| ![在 MQL5 中使用资源](https://www.metatrader5.com/i/help/metaeditor/en/article_resources.png) | [在 MQL5 中使用资源](https://www.mql5.com/zh/articles/261)<br><br>MQL5 程序不仅仅对例行计算进行自动化，还能够创建全功能图形环境。用于创建真正交互式控件的函数如今与传统编程语言中的函数一样丰富。 如果您希望以 MQL5 编写一个完全成熟的独立程序，请使用 MQL5 中的资源。带有资源的程序更容易维护与分发。 |
| ![MetaTrader 5 测试的基础](https://www.metatrader5.com/i/help/metaeditor/en/article_testing.png) | [MetaTrader 5 测试的基础](https://www.mql5.com/zh/articles/239)<br><br>MetaTrader 5 中三种测试模式有何区别？应该特别注意什么？如何测试在几个工具上同时进行交易的 EA？在测试期间何时及如何计算指标值？如何处理事件？如何在 "仅限开盘价" 模式的测试期间内同步来自不同金融产品的柱线？本文旨在回答这些问题以及很多其他问题。 |
| ![交易机器人在市场上发布之前必须通过检测](https://www.metatrader5.com/i/help/metaeditor/en/article_market_checks.png) | [交易机器人在市场上发布之前必须通过检测](https://www.mql5.com/zh/articles/2555)<br><br>任何产品在市场上发布之前，必须进行强制性的初步检测，以确保统一的质量标准。 本文参考了许多开发人员在其技术指标和交易机器人中出现的最常见错误。 它还展示了如何在将产品发送到市场之前对产品进行自我测试。 |
| ![如何快速开发和调试交易策略](https://www.metatrader5.com/i/help/metaeditor/en/article_develop_debug_strategy.png) | [如何快速开发和调试交易策略](https://www.mql5.com/zh/articles/2661)<br><br>剥头皮自动系统理所当然地被视为算法交易的巅峰，但同时它们的代码也是最难编写的。 在本文中，我们将展示如何基于接收的逐笔报价分析使用内置调试工具和可视化测试来构建策略。 开发入场和离场规则通常需要数年的手动交易。 但在 MetaTrader 5 的帮助下，您可以在真实历史上快速测试任何有关策略。 |

## In this section

- [启动](https://www.metatrader5.com/zh/metaeditor/help/beginning/open)
- [设置](https://www.metatrader5.com/zh/metaeditor/help/beginning/settings)
- [与其它集成开发环境整合](https://www.metatrader5.com/zh/metaeditor/help/beginning/integration_ide)
- [主菜单](https://www.metatrader5.com/zh/metaeditor/help/main_menu)
- [工具栏](https://www.metatrader5.com/zh/metaeditor/help/toolbar)
- [工作区](https://www.metatrader5.com/zh/metaeditor/help/workspace)
- [项目和 MQL5 存储](https://www.metatrader5.com/zh/metaeditor/help/mql5storage)
- [MQL4/MQL5 向导](https://www.metatrader5.com/zh/metaeditor/help/mql5_wizard)
- [开发程序](https://www.metatrader5.com/zh/metaeditor/help/development)
- [SQL数据库操作](https://www.metatrader5.com/zh/metaeditor/help/database)
- [使用机器学习模型](https://www.metatrader5.com/zh/metaeditor/help/machine_learning)
- [程序开发示例](https://www.metatrader5.com/zh/metaeditor/help/project_example)
- [MetaEditor 环境文件夹](https://www.metatrader5.com/zh/metaeditor/help/structure)
- [MQL5 社区: 交易者的社区](https://www.metatrader5.com/zh/metaeditor/help/mql5community)
- [内置帮助](https://www.metatrader5.com/zh/metaeditor/help/mql5_help)
- 有关开发交易应用程序的文章
- [交易平台指南视频](https://www.metatrader5.com/zh/metaeditor/help/video_guides)

```json
{"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ {"@type": "ListItem", "position": 1, "item": {"@id": "https://www.metatrader5.com/zh/metaeditor/help", "name": "MetaEditor 帮助"}}, {"@type": "ListItem", "position": 2, "item": {"@id": "https://www.metatrader5.com/zh/metaeditor/help/articles", "name": "有关开发交易应用程序的文章"}} ]}
{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{ "@type": "Question", "name": "MetaTrader 5: 有关开发交易应用程序的文章", "acceptedAnswer": { "@type": "Answer", "text": "MQL5 社区 网站提供大量函数库 文章，它们均与 MQL4/MQL5 编程有关 。 这些文章是创建应用程序的绝佳指南，因为它们涵盖了涉及算法交易的许多实际任务。 每周都会发布新文章。 所有可用文章的列表直接显示在 MetaEditor 之中。 若要查找必要的素材，请使用 在线搜索..." } }] }
```
