MQL4 和 MQL5 的源代码库
您不知道在哪开始学习MQL5或MQL4编程语言?这里提供适用于您MetaTrader程序端的各种程序。下载并学习已发布的代码示例,开发您自己的指标和EA交易。在最大的MQL5和MQL4代码程序库中发布您的程序,它们将提供给每一个MetaTrader程序端和MetaEditor。
您的MQL4 和 MQL5代码示例将分布于世界各地,成百上千的交易者们将会认识您!
- 免费交易应用程序
- 8,000+信号可供复制
- 探索金融市场的经济新闻
审核“基于真实 tick 数据的每 tick 回测”所重放的 tick 历史数据。 针对每个交易品种,对过去 N 天内的数据进行五项检查:不可能报价和交叉报价、时间戳倒退或重复、单个报价点价格反转幅度达到该交易品种自身中位数点差的倍数、经纪商声明的报价时段内出现数据缺失,以及报价点与 M1 K 线不一致的分钟区间。 每项检测结果均以带毫秒级时间戳的CSV格式输出,且工具会打印其计算过程,以便对报告进行复核。仅限读取:无交易功能、无DLL、无网络连接。
一款适用于M15周期的免费、完全开源的JPN225(日经225)自动交易策略。当价格呈上行趋势、动能未过度扩张且成交量清淡时买入。 2022年至2026年的回测结果:盈利因子1.68,年化收益率+18.5%,通过了15次压力测试。17:00前持平。
绘制亚洲、伦敦和纽约交易时段的波动区间框,并标记流动性扫盘:即收盘价位于已结束交易时段高点或低点之外,但最终收盘价又回到了该区间内的K线。支持不重绘的箭头、扩展交易时段水平线、警报以及支持iCustom的缓冲区。
带内置账户保护功能的开盘区间突破EA模板。标记交易时段开盘后前N分钟的高点和低点,并在区间上方和下方设置OCO止损单。包含基于风险的仓位管理、每日亏损限额、最大回撤限额、ATR区间过滤器、交易方向过滤器,以及针对隔夜持仓的保护机制。 所有交易时段时间均为可配置参数。本模板仅供学习参考,并非保证盈利的交易系统。在实盘交易前请务必在模拟账户上进行测试。
只需单击一下,即可打开所有“市场观察”代码或自定义代码列表的图表,支持任意时间周期,并可选择为每个图表应用模板。该功能会跳过已打开的图表,并限制同时打开的图表数量。
该功能将已平仓交易导出为CSV文件,其中包含基于M1历史数据计算的“最大不利波动”(MAE)和“最大有利波动”(MFE)值(以点数和金额为单位),以及每笔交易所捕捉到的可用波动比例。
审核终端实际存储的K线历史数据,即每次回测和每个指标所读取的历史数据。每个交易品种进行六项检查:不合理的OHLC值、K线时间异常、经纪商自身会话表显示正在报价时却缺失的K线、空K线和平K线、与经纪商自身M1系列不一致的K线,以及点差合理性。 核心指标是交易时段覆盖率,而非主要衡量您审计了多少个周末的网格百分比。每项发现都会连同其K线时间一并导出为CSV文件,且可导出已审计的K线数据及交易时段表,以便通过本工具以外的其他方式重新计算整份报告。
根据魔术号,镜像同一对冲账户中由另一个EA开仓、修改和平仓的交易。默认情况下,它会反转交易方向(买入↔卖出,止损↔止盈),因此您可以使用真实的点差、滑点和成交情况对策略的反向操作进行回测。
奥尔森团队的Alpha Engine的移植版本:八个限价交易代理在对冲账户上交易内在时间的趋势反转。它们在价格超调时加仓,并在趋势反转获利时减仓。
通过实际检测指标是否发生重绘,而非直接采信相关声明。该功能会重新读取已收盘K线上的任何自定义指标缓冲区,统计每个发生变化、出现或消失的数值,并记录该现象仍存在的最远回溯点。针对图表面板上的每个缓冲区给出判定结果,并将每项事件写入CSV文件。
显示止损位可能位于何处,以及哪些止损位刚刚被触发。流动性池 = 价格尚未突破的已确认震荡高点和低点、等价高点/低点(更大的池)以及昨日的高点和低点。 当K线突破某个价格池时,该池会被标记为“已被扫过”;若同一根K线收盘价回撤至该价格池内,则标记为“被触及并被拒绝”。不重绘:只有在价格在价格池两侧各收盘N根K线后,才将该波段视为有效。 该面板是一幅绘制在 CCanvas 上的霓虹城市:价格是一辆飞行汽车,卖出止损位是其下方的塔楼,买入止损位是其上方的漂浮平台,昨日价位是金色的广告牌,一束探照灯扫过天空,而电子显示屏则滚动显示当天的“渔获”。 两个缓冲区提供上方和下方最近的活跃价格池,供专家顾问使用。仅限指标:该指标从不进行交易。
一个图表面板,用于显示决定仓位规模和交易成本(点值、点差成本、保证金、掉期、成交规则)的合约规格详情(以账户货币为单位),会就那些会悄无声息地破坏手数代码的经纪商设置发出警告,并能将每个“市场观察”符号的审计记录导出为CSV文件。
显示每服务器小时的实际点差,数据源自您的经纪商自身的 tick 历史记录:每小时的中位数和第 90 百分位数,可选的点差成本(占止损价的百分比及每手成本),以及 CSV 导出功能。
ZoneUS30 是一款简单的 US30 专家顾问,专注于价格上涨后出现的做空机会。 该策略将均值回归概念与套利交易理念相结合:当空头头寸获得正的隔夜掉期收益时,该EA既能从价格回调中获利,又能从长期持仓中获益。 本策略专为US30设计,仅供实验和教育用途。逆势交易存在重大风险,尤其是使用大仓位时。
一个小型演示专家顾问:基于快速/慢速EMA交叉的入场策略(仅基于已收盘K线进行评估,无重绘现象),基于ATR的止损和止盈,点差过滤器,以及适用于对冲账户和净额结算账户的仓位管理。包含用于一致性测试的Python参考实现。 这是一个可交付的示例,并非交易建议——随附的权益曲线来自合成数据,仅用于展示方法,而非反映交易优势。
在黄金和24/7比特币图表上查找周末CME缺口,将每个未填补的缺口保留在图表上直至价格回补,并显示缺口被填补的频率、速度、价格最初的运行幅度,以及若顺势交易能获得多少收益。不重绘,并为专家顾问(EA)预留缓冲区。
一款适用于黄金的“乌龟”式突破型EA。当H4K线在上升趋势中收盘价高于20根K线的高点时买入,止损设为2个ATR,目标价设为2R。 在XAUUSD上进行了2020年1月至2026年9月的回测:以10,000为本金、1%风险率,盈利9,029.72;盈利系数1.77;最大回撤11.38%;7年中6年盈利。
可拖拽至图表上的手动交易面板,具备多时间周期偏好、ATR止损/止盈提示、追踪止损以及一键“买入/卖出/全部平仓”功能。
针对自营交易公司账户的账户级保护机制。该机制会监控账户中的每笔头寸,在达到每日或最大亏损限额时平仓所有头寸,限制每笔头寸的风险金额,平仓未设置止损的交易,并在重大消息发布时平仓所有头寸。
标记推动力K线:实体长度至少为ATR乘以系数,实体长度至少占K线波动范围的设定比例,收盘价接近极值,可选的 tick 量确认。看涨推动力K线下方显示绿色箭头,看跌推动力K线上方显示红色箭头。 仅显示已收盘K线,不重绘。信号存储在两个缓冲区中,因此专家顾问可通过iCustom读取这些信号。
一款适用于MetaTrader 5的顺势交易专家顾问,结合了Supertrend的趋势方向与ADX和DI的确认信号。采用基于ATR的止损策略,每笔交易的风险控制在净值0.5%以内。
黄金市场的“龟式”唐奇安突破策略,随后采用三种止盈方式同时执行:ATR追踪止损、龟式止盈通道以及固定目标价。该策略在2025年和2026年的XAUUSD H1和H4图表上进行了回测,结果显示全部十二种组合均获利。 该策略不回绘,并为专家顾问(EA)预留了缓冲区。
只有在N根已收盘K线确认后,才会标记波段高点和低点,因此绘制的波段线不会移动或消失。
Pine Script ATR 追踪止损指标的 MQL5 移植版:nLoss = ATR × 倍数,在上涨趋势中止损位随价格下移,在下跌趋势中随价格上移,当价格收盘突破该位置时,止损位会反转(并显示买入/卖出箭头)。 包含一个 Python 参考移植版本,以及一个等效性测试,用于验证两者是否均与 Pine 语义(na/nz/系列历史数据)的逐根 K 线逐字转录结果一致。
将您的MT5开仓和平仓信息发布到Telegram聊天群:交易方向、交易品种、入场点、止损和目标点(以点为单位)、手数,以及平仓时的结果、点数、R倍数和持仓时间。支持重试队列,重启后数据不丢失,绝不进行交易。适用于MT5的免费Telegram和Discord交易通知工具
用于MT5对冲账户的培训交易面板,具备风险控制、点差保护、持久的每日亏损锁定、盈亏平衡和追踪止损功能。
一个真正的经济日历新闻过滤器,在回测中同样有效。只需通过脚本将事件导出一次,即可在实时交易和策略测试器中阻止新闻发布期间的新建仓操作。该工具可修正历史日历时间中因夏令时调整导致的一小时时间偏差。
将EA中的每种交易策略分别记录在独立的记录中,而不是将其合并到一条净值曲线上。该工具在初始化时会根据账户的交易历史自动重建自身,因此重启不会导致记录丢失。在原始胜率旁边显示威尔逊评分下限,这样三笔交易的连胜就不再看起来像是一种优势了。
从法兰克福、伦敦、纽约或东京的现货开盘开始,对当前交易日的每根K线进行编号。基准时间会从交易所当地时间转换为经纪商服务器时间,并自动调整夏令时,因此无论夏季还是冬季,开盘后的第一根K线始终编号为1。
教育版MT5自动交易程序(EA):基于闭市K线的EMA交叉入场策略,基于ATR的止损和止盈设置,通过OrderCalcProfit根据净值固定百分比计算手数,点差过滤器,魔术号码隔离以及服务器返回代码检查。这是一个用于构建风险可控EA的简洁模板。不作任何盈利承诺。
利用ADX、赫斯特指数和滞后1的自相关系数对市场进行分类,将每个K线分流至突破模块或均值回归模块,并针对每个市场状态分别维护一个胜率记录表(采用威尔逊95%下限),以便您能清楚地看到其中哪一半策略真正有效。
Read-only panel watching two four-corner basis groups: live divergence in pips, with only real edges flagged.
三种起作用不同的仓位规模保护机制;正是因为混淆了它们,才导致如此多的账户被清零: - 阶梯式:每X的余额对应一份合约,始终作为上限(CAP)应用,即使手动设定手数也是如此; - 底限(floor):余额低于最低资本要求时停止交易;需进行新的入金; - 断路器(breaker):无论账户规模大小,当余额跌破峰值X%时触发止损,且不会自动重置。 本库解决了一个几乎所有其他库都未解决的问题:入金不等于盈利,提现不等于亏损。 断路器是根据账户余额峰值来衡量跌幅的。如果不加以处理,在回撤期间进行的入金会同时推高余额和峰值,导致保护机制恰恰在最需要发挥作用的时候无法识别跌幅。在此情况下,入金和出金会以相同幅度改变峰值。 峰值会被保存到文件中:如果一个止损机制在终端重启后会忘记峰值,那它就称不上是止损机制。 该演示程序模拟了在回撤谷底进行入金的情况。请分别开启和关闭入金功能运行程序,并比较“跌幅”列的数据。