该脚本是一个参考解决方案,用于将用户在 MetaTrader 5 EA 或脚本中配置的符号名称与经纪商提供的实际名称进行映射。 它使用莱文斯坦距离算法自动识别市场观察中最相似的符号。 它是面临符号名称前缀或后缀兼容性问题的开发人员的理想选择。 这是一个可定制的起点,可适应任何特定需求。
一个纯MQL5脚本,用于衡量策略优势对执行成本的鲁棒性。该脚本读取包含已平仓交易日期、盈利和交易量的CSV文件,并将每笔交易的成本建模为固定部分加上按手数计算的部分。 该脚本会输出每笔交易的盈亏平衡成本、缓冲系数(即在假设的实际成本的多少倍时,净利润会降至零)、按假设成本重新定价后的净利润和利润因子、因成本导致盈利交易转为亏损交易的比例,以及包含建议的A+至F等级的综合成本稳健性评分。 若未提供文件,程序将生成可复现的样本并进行分析,因此首次运行即可查看输出结果。无需外部库、无需 Python、无需 AI。
一个诊断脚本,用于比较“市场观察”中每个交易代码的 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目录下。
这是一个简单的程序,用于比较异步和同步全部关闭的情况。 这是一个示例程序,因此可以根据自己的测试目的进行修改,例如添加条件。
将编译后的可执行文件拖到图表上时,它会删除图表上的所有对象
一个快速的小脚本,让交易者的生活更轻松。有一件事总是让我很苦恼,那就是重新设置新图表的属性(如颜色),使其看起来是我喜欢的样子。因此,这里有一个脚本可以让事情变得更简单。
无论是进行策略分析,还是进行交易系统设计,时间是一个非常重要的参照因素,特别是在进行历史数据回溯验证的时候,如果想快速定位到某个时间点,就需要找到一个办法在行情图表上进行明显的标记,比如在什么时间点出现了亏损、什么时间点出现了盈利,使用按时间标记功能,就可以快速标记所有位置,便于统计、分析。在这个例子中,我们运用的是画竖线的方式,并区分不同颜色的线,来实现需求。
本脚本是开发人员如何使用 MQL5 以编程方式处理文件的实用示例。其关键目标之一是演示有效的项目文件组织,这对于开发大型系统或旨在创建可移植、独立项目的开发人员来说至关重要。这一概念还可以进一步扩展和完善,以支持更先进的开发工作流程。
一个原生 MQL5 脚本,用于分析账户回撤的结构,而不仅仅是单一的“最大回撤”数值。它读取日度权益曲线(Date,DailyPnL CSV 格式),重建亏损曲线,并将其拆分为各个回撤阶段,同时记录各阶段的回撤幅度、持续时间和恢复时间。 随后,该脚本会报告“溃疡指数”、“痛苦指数”、“恢复因子”以及处于亏损状态的时间,并将这些指标整合为一个综合韧性评分(A+ 至 F),并附带建议,显示在“专家”选项卡中。无需外部库;若未找到文件,它会自动生成一条示例曲线,因此开箱即用。
将您在可配置时间段内已平仓的头寸导出到 CSV 文件中,以便在 Excel 或 Google 表格中进行交易日志分析:建仓和平仓的时间及价格(针对部分成交采用成交量加权法计算)、成交量、点数收益、佣金、掉期费用、净利润和交易时长。
针对运行多个专家顾问(EA)的账户提供的只读分析功能。该功能按魔术号码对已平仓交易进行分组,并衡量同时运行这些系统能为您实际节省多少:独立运行与组合运行的回撤对比、以热力图形式在图表上绘制的成对相关性矩阵,以及对投资组合各期回报进行的蒙特卡洛重排。
一个用于运行多个EA(或同时进行手动交易)的账户的只读审计脚本。它按魔术号对已平仓交易记录进行分组,并按每个魔术号输出一行: 已平仓的往返交易、包含交易双方掉期和佣金在内的净盈亏、胜率、盈利因子、平均盈亏、当前持仓和挂单、交易日期及交易代码——按净结果排序,并支持导出为 CSV 文件以便在电子表格中使用。
显示那些会默默拒绝订单的隐性合约限制:止损价位、冻结价位、最小/步长/最大手数、点值和点差、点差类型、成交模式、掉期费用,以及最小手数所需保证金与您的可用保证金之间的对比。
在您花费数周时间围绕该信号构建专家顾问(EA)之前,先评估该入场信号是否确实能跑赢交易成本。该工具会报告扣除成本后的净收益、基于非重叠样本的客观t统计量,并提供随机对照。不会下达任何订单。
“神经网络亏损模式审计器”利用已平仓交易历史数据,训练一个完全用原生 MQL5 从零编写的小型前馈神经网络,以测试行为特征和市场背景特征能否预测哪些交易更可能亏损。 该工具报告的准确率优于简单基线模型、概率校准表、特征重要性排列以及可配置的A-F综合评分(附带建议)。 首次运行时,它会使用内置的合成模拟数据,因此无需任何设置即可立即查看输出结果;若将其中一个输入参数设置为 InpUseDemoData=false,则可转而分析真实账户的历史数据。纯 MQL5 实现:不使用任何外部库、Python 语言或任何形式的人工智能服务。
通过一个简单的提示文件,您可以自定义 MetaTrader 5 AI 助手,选择其语言、个性、菜单和行为。
该函数执行开仓交易的主要逻辑。 根据符号信息和用户提供的参数计算开仓价、获利水平和止损。 准备一个包含必要信息的交易请求(MqlTradeRequest),如符号、交易量、订单类型、偏差、注释、神奇数字等。调用 OrderSend 函数发送操作请求并获取结果。 SetTypeFillingBySymbol 函数:根据符号的填充策略确定订单填充类型(填充或杀死、立即或取消或返回)。 GetMinTradeLevel 函数:根据冻结水平和符号停止水平计算最低操作水平。 调整最低水平以确保其在一定范围内,并返回结果。
手动调整单笔交易的止损以匹配其开盘价是一项相对简单的任务,但单独管理众多头寸则会非常繁琐且耗时。适用于 MT4/MT5 的 Titik Impas 盈亏平衡脚本简化了这一过程,为交易者处理多个仓位提供了效率和便利。