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

MetaTrader 5的MQL5脚本源代码

icon

脚本在MetaTrader 5中执行使用MQL5程序时的一次性操作并在之后从图表直接删除。功能样例包括上传交易历史,生成报告和通过电邮将其发送,从文件下载和处理数据。脚本也可以被用来创建图形界面或快速执行单一类型交易操作,例如,马上全部平仓。

您可以在MetaTrader 5下载和启动提供的脚本。脚本程序库也能够从MetaEditor开发环境直接获得,以便允许您学习MQL5编程。

提交您的代码
已添加 | 最好的

一个原生 MQL5 脚本,用于分析账户回撤的结构,而不仅仅是单一的“最大回撤”数值。它读取日度权益曲线(Date,DailyPnL CSV 格式),重建亏损曲线,并将其拆分为各个回撤阶段,同时记录各阶段的回撤幅度、持续时间和恢复时间。 随后,该脚本会报告“溃疡指数”、“痛苦指数”、“恢复因子”以及处于亏损状态的时间,并将这些指标整合为一个综合韧性评分(A+ 至 F),并附带建议,显示在“专家”选项卡中。无需外部库;若未找到文件,它会自动生成一条示例曲线,因此开箱即用。

一个原生 MQL5 脚本,用于衡量策略盈利的集中程度——即优势是广泛分布,还是仅依赖于少数几笔幸运交易。该脚本读取按单笔交易分列的 CSV 文件(日期、盈利),并报告最大交易占净利润的比例、 获利交易的基尼系数、集中度分布图、一项剔除最佳几笔交易后重新计算净利润和利润因子的生存测试,以及单日最大收益与可配置的一致性阈值的对比,并将这些结果整合为一个集中度与一致性综合评分(A+至F),并附带建议。 若未找到文件,程序将自动生成样本集,因此开箱即用。无需外部库、无需Python、无需AI。辅助程序ExportTrades.mq5会根据您的交易历史生成该文件。

一款开源的MT5脚本,可将XAUUSD/GOLD交易符号的设置、点差、点值、合约规模、成交量步长、止损/冻结水平、隔夜利息以及账户上下文信息记录到日志中,并可选地导出为CSV文件。

一个诊断脚本,用于比较“市场观察”中每个交易代码的 SYMBOL_TRADE_TICK_VALUE、SYMBOL_TRADE_TICK_VALUE_LOSS 和 SYMBOL_TRADE_TICK_VALUE_PROFIT 值。 将每个符号归类为以下四类之一(ALL_EQUAL、TV_MATCHES_PROFIT、TV_MATCHES_LOSS、ALL_DIFFER),并提供汇总报告及解读提示。 该功能有助于在EA中实现基于风险的仓位大小调整时,验证应采用哪种点值属性。可将每个交易符号的完整报告导出为CSV文件,并保存在MQL5/Files目录下。

该脚本可根据账户货币计价的止损目标(例如每笔头寸50美元)为每笔已开仓头寸设置止损。适用于任何入金货币和任何外汇交易品种。会验证经纪商的止损/冻结水平。货币转换由系统自动处理。

三重屏障标注管道通常使用一个任意常数(0.5–1.0%)或传统的点差假设作为 min_ret 阈值。如果将阈值设定在实际往返交易成本之下,会导致该管道将成本驱动的噪声误判为可交易信号。 由此标注的数据集会系统性地高估边际效应,而基于这些标签训练的任何模型都会过度拟合于标注方案产生的伪影,而非真实的市场结构。 TransactionCostCollector.mq5 是一个独立脚本,可解决该问题中的数据采集环节。

平仓盈利头寸

用于 MQL5 的 NeuroPro 语言化转换器

本脚本是开发人员如何使用 MQL5 以编程方式处理文件的实用示例。其关键目标之一是演示有效的项目文件组织,这对于开发大型系统或旨在创建可移植、独立项目的开发人员来说至关重要。这一概念还可以进一步扩展和完善,以支持更先进的开发工作流程。

实时显示 Binance 报价

这是一个简单的程序,用于比较异步和同步全部关闭的情况。 这是一个示例程序,因此可以根据自己的测试目的进行修改,例如添加条件。

例如:用 "M1 "代替 "PERIOD_M1"。

该脚本有助于检查 ONNX 模型的结构,深入了解输入和输出、名称及其属性。它尤其有助于调试和了解机器学习应用中使用的 ONNX 模型的特性。

该脚本收集所有 MQL5 内置指标缓冲区,并将其存储到 CSV 文件中,以用于分析。

这是一个脚本,用于打印历史上某个特定时间的所有未结交易及其 PnL。

该函数执行开仓交易的主要逻辑。 根据符号信息和用户提供的参数计算开仓价、获利水平和止损。 准备一个包含必要信息的交易请求(MqlTradeRequest),如符号、交易量、订单类型、偏差、注释、神奇数字等。调用 OrderSend 函数发送操作请求并获取结果。 SetTypeFillingBySymbol 函数:根据符号的填充策略确定订单填充类型(填充或杀死、立即或取消或返回)。 GetMinTradeLevel 函数:根据冻结水平和符号停止水平计算最低操作水平。 调整最低水平以确保其在一定范围内,并返回结果。

Sec-WebSocket 密钥生成器

创建本筛选器的目的是简化寻找以折扣价交易的资产的过程。由于所有选定工具的数据加载过程,初始使用时间可能稍长。该工具可以扫描所有可用的经纪资产,也可以仅限于特定的资产类别。

手动调整单笔交易的止损以匹配其开盘价是一项相对简单的任务,但单独管理众多头寸则会非常繁琐且耗时。适用于 MT4/MT5 的 Titik Impas 盈亏平衡脚本简化了这一过程,为交易者处理多个仓位提供了效率和便利。

该功能执行开仓交易的主要逻辑。它根据用户提供的符号信息和参数计算开仓价、止盈水平和止损。准备一个交易请求(MqlTradeRequest),其中包含必要的信息,如符号、交易量、订单类型、滑点、评论、神奇数字等。调用 OrderSend 函数发送交易请求并获取结果。SetTypeFillingBySymbol 函数:根据符号的执行策略确定订单执行类型(成交或取消、立即或取消或返回)。GetMinTradeLevel 函数:根据符号的冻结水平和停止水平计算最低交易水平。调整最低水平以确保其在一定范围内,并返回结果。

Clean Market Watch 脚本是一款简单实用的工具,只需单击一下即可快速删除 MetaTrader 5 Market Watch 窗口中的所有符号。当您想从一个干净的工作区重新开始,或者当您的市场观察已被太多的符号弄得杂乱无章时,这个工具尤其有用。 目的 随着时间的推移,交易者经常会在他们的市场观察窗口中积累大量的符号,这使得他们难以专注于他们积极交易的工具。逐个手动删除符号既乏味又耗时。本脚本可自动完成整个过程,在数秒内清除所有符号。

该脚本用于将当前图表符号的汇率和刻度值导出为与 MT5 导出/导入格式兼容的 CSV 文件。

这是一个脚本,用于显示下一个条形图到达前的剩余时间。

用于替代 ChartXYToTimePrice 和 ChartTimePriceToXY 的函数,可在整个输入参数范围内正确快速地运行

脚本会计算自相关函数和偏自相关函数,并将其显示在图表上

脚本以确定您的经纪商是否遵循美国、英国或澳大利亚的夏令时(DST)时间表。

显示未结头寸更新数据的脚本。

该脚本提供了一套用于创建所有标准图形对象的函数,供您在开发过程中使用。脚本中提供的函数可以 "按原样 "使用,也可以根据您的要求进行修改。

该脚本可帮助交易者了解特定时期内蜡烛图的分布和广度,从而有助于做出交易决策,例如根据历史价值选择止盈或止损。

该脚本可帮助交易者了解特定时间段内蜡烛图的分布和范围,有助于做出交易决策,例如确定止盈或止损使用的历史值。

使交易时段名称与经纪商服务器时间和当地时间保持一致的工具

计算牛市或熊市连续条数的示例代码。

高影响力陷阱新闻脚本

将编译后的可执行文件拖到图表上时,它会删除图表上的所有对象

展示不同的阿罗恩数值计算方法

脚本会删除当前图表中的所有自动交易图标

该脚本会将图表上的所有 OHLCV 数据保存到 CSV 文件中。

脚本在 MT5 窗口中以当前价格建立买入仓位,并指定止损(以点为单位)和止盈(以点为单位)。

提供写入 CSV 文件的最简单类

123456