请观看如何免费下载自动交易
请在Twitter上找到我们!
加入我们粉丝页
您可以访问代码库从您的MetaTrader 5客户端
不能找到合适的代码?定制它在工作项目
如何编写EA交易或指标

MetaTrader 5的MQL5 源代码库

icon

这是MetaTrader 5平台程序最大的免费源代码库。在这里您可以找到现成的EA交易,技术指标,脚本和程序库。使用代码库学习MQL5语言并基于提供的代码开发您自己的自动交易程序。

您可以免费下载和测试发布的代码,并在MetaTrader 5启动。程序库也可以直接从MetaTrader 5平台和MetaEditor开发环境获得。

提交您的代码

这是一个辅助止盈止损工具,它可以帮助你严格止损,动态止盈。

这是MT5上驱动部分,负责把实时行情,持仓情况输出成csv文件,由python脚本再进行数据分析,并发送指令生成新的订单。 基于这个框架,我这边开发了一个网格交易系统。可以实现长期稳定的盈利。详细信息见下面的博客 https://www.mql5.com/zh/blogs/post/757314

"MQL5算法交易的神经网络"教程是一本全面的操作指南,涵盖了人工智能和神经网络的理论基础,以及使用MQL5编程语言在金融交易应用的实践方面。

在本书的最后,即第七部分讨论了MQL5 API的高级功能,这在为MetaTrader 5开发程序时发挥重要作用。其中包括自定义交易品种、内置经济日历事件以及网络、数据库和加密等通用技术。

在"交易者的MQL5编程(MQL5 Programming for Traders)"第六部分,我们将学习MQL5语言的一个关键组成部分 – 交易自动化。我们将首先介绍基本对象,如交易品种规格和交易账户设置。这些都是创建正常运行的EA交易的先决条件。

在本书的第五部分,我们将深入探讨与算法交易相关的API,包括金融数据分析和处理、图表可视化、自动化和用户交互。

在本书的第四部分,我们将重点掌握内置函数(MQL5 API),并将逐步深入研究专门的子系统。任何MQL5程序都可以利用大量技术和功能。因此,从大多数程序都能使用的最简单且最有用的函数开始是明智的。

第三部分 "MQL5中的面向对象编程"呈现了MQL5语言中面向对象编程(OOP)的世界。软件开发往往涉及与多个实体管理相关的复杂性,需要先进的技术来提高编程的便利性、效率和质量。

第二部分 "MQL5编程基础知识"介绍了该编程语言的核心概念。本书这一部分专门讨论数据类型、标识符、变量、表达式和运算符。您将学习了解如何组合不同的指令来形成程序逻辑。

本书第一章介绍了MQL5语言和开发环境。与MQL4(MetaTrader 4 语言)相比,MQL5语言其中一项新功能就是支持面向对象编程(OOP),这使其类似于C++。

此EA不用于交易。使用标准Canvas库实现的简单面板允许您用鼠标绘制数字。经过测试的mnist.onnx模型用于识别数字。

以ama和rsi指标作为交易标准

作用是检查是否产生新柱 这是一个类文件,可作为类使用,也可以复制到EA或脚本中使用

Relative Moving Average (RMA) is a variant of EMA the factor is 1/period

拉盖尔过滤器 - no gamma 基础上增加了买卖信号指示。

官方给的实例代码中,涉及到比较复杂的类封装。 这里给出一个比较简单容易上手的EA框架

彩色OsMA指标,在系统单色的OsMA基础上增加了色彩显示,默认情况下OsMA递增显示绿色,OsMA递减显示红色。

DatabaseXXX系列函数的封装,实现类似dapper功能

由人气指标(AR)和意愿指标(BR)两个指标构成。AR指标和BR指标都是以分析为手段的技术指标。

简述简述EA每日工作时间区间 限制EA每日工作时间区间 限制EA每日工作时间区间 限制EA每日工作时间区间

这是产品 More BackTest Result 的 .mqh 文件,你必须先下载产品 More BackTest Results 才能使用. Link: https://www.mql5.com/en/market/product/78103

该指标计算指定时期的平均价格。

自定义交易品种,可通过CustomRatesReplace新增或修改K线,频繁调用增加会导致磁盘空间快速占满,可通过此脚本快速压缩K线。

三條平均線完全按照高低排列後 可視為趨勢成形 在形態被破壞後 不再繪出影線 在沒有影線的條件下 視為不確定期間

MT5一键开仓脚本。包含两个脚本,一键开多单和一键开空单。可以设置魔术数,手数,止损点数,止盈点数,注释。

这是mt4 转 mt5的 剩余时间的指标,分享大家

无论是进行策略分析,还是进行交易系统设计,时间是一个非常重要的参照因素,特别是在进行历史数据回溯验证的时候,如果想快速定位到某个时间点,就需要找到一个办法在行情图表上进行明显的标记,比如在什么时间点出现了亏损、什么时间点出现了盈利,使用按时间标记功能,就可以快速标记所有位置,便于统计、分析。在这个例子中,我们运用的是画竖线的方式,并区分不同颜色的线,来实现需求。

价格是行情分析的重要参照因素,尤其是以支撑阻力位为核心的交易系统中,寻找合适的进场和出场价格位置是首要任务。那么按价格标记出这些参照位置就对分析、统计有实际意义。

MT5挂单类型有六种,能够很好地适应回调和突破场景,在一些突破策略交易系统中应用较多,当挂单条件不再有效的时候,就会涉及到挂单的取消操作。六种挂单应用说明如下: Buy Limit(回踩买入):在当前价格下方,等待行情下跌到挂单位置触发买入单。 Sell Limit(回踩卖出):在当前价格上方,等待行情上涨到挂单位置触发卖出单。 Buy Stop(突破买入):在当前价格上方,等待行情上涨到挂单位置触发买入单。 Buy Stop(突破卖出):在当前价格下方,等待行情下跌到挂单位置触发卖出单。 Buy Stop Limit(突破回踩买入):在当前价格上方,等待行情上涨到突破位置后,再下跌到回踩位置,触发买入单。 Sell Stop Limit(突破回踩卖出):在当前位置下方,等待行情下跌到突破位置后, 再上涨到回踩位置,触发卖出单。

MT5已经自带了很多指标,给交易带来了极大便利,作为辅助工具,很多时候我们需要对其进行进一步改造,或重新自定义指标,本例通过实现双线一柱变色MACD指标来进行说明。

在手动或自动化交易中,一键平仓功能都是比较常用的,特别是在涉及风控管理的时候,能够快速止损,有效控制风险。这个脚本功能实现起来并不难,但在程序化实现的过程中,会有一些不同的应用场景。

这是一个MT5的程序,它显示未平仓头寸的总止损和止盈价值。

实现OnBar事件

當兩條平均移動線交叉穿越時畫出影線 讓圖表更容易閱讀

股票常用的BIAS指標做成的指標 用來判斷目前價格的乖離率 使用日線判斷會有比較好的效果

计算预期波的相位和

对趋势行情由波动率寻找入场价与止损价

在做EA账户风控时,有时候需要知道账户各个时间段的资金数据,本EA可以基于每个净值变动来记录,并画出图表K线或保存至Excel。

于主图显示,类似于期货日内均线,可以选择更多的结算周期

该指标可以获取两个不同货币对各个时期的K线价格,然后通过简单的加减乘除显示在副图上,用来分析当前平台上没有的自定义商品走势。

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158