1. 数据源与数据流
市场数据来自 MetaTrader 5。系统分析的输入包括开盘价、最高价、最低价和收盘价、成交量、当前市场价格、价格动态、选定的技术指标以及机器学习模型生成的信号。分析在 M30 周期上进行,每根 K 线代表 30 分钟。
来自 MetaTrader 5 的数据会传入本地 JupyterLab 环境,在其中运行模型和决策策略。其输出返回 MT5 中的智能交易程序(EA),由 EA 将神经网络估计与技术指标信号进行比较。当满足所需条件时,EA 决定执行还是拒绝交易,并将当前状态发布到网页面板。
流程: MetaTrader 5 → 市场数据 → AI 模型与策略 → 过滤器 → BUY、SELL 或 NO TRADE → 执行或拒绝 → 发布到门户。
2. 人工智能模型
这些模型并不像人类那样理解市场。它们处理价格行为和指标表现的数值描述,然后给出预测或质量评估。每项输出都是概率估计,并非对未来必然发生情况的确定说明。
- Direction_CNN1D_Net — 估计价格更可能上涨还是下跌。
- Range_MLP_Net — 估计可能的有利价格波动、潜在回撤以及预期收益风险比(显示为 RR)。
- Filter_CNN1D_Net — 评估当前市场条件是否达到考虑建立仓位前所要求的质量阈值。
后续版本还可能使用用于检测方向变化、衡量不同信号一致性或阻止较高风险交易设置的模型。研究环境中可见的模型并不一定都会影响实际交易。
3. 训练资料
EUR/USD 项目准备了覆盖 2000 至 2026 年的数据集。每一行描述一根 M30 K 线,包含 OHLCV 数据、技术指标以及来自之前六个 30 分钟周期的特征。根据数据集版本不同,变量数量接近 300 个,训练数据行数接近一百万。
大型数据集并不能消除错误风险。模型可能学习到只适用于历史样本的关系,而这些关系在实时市场中未必再次出现。因此,回测和历史结果不能保证实时交易表现。
4. 决策策略
单一神经网络输出并不一定足以建立仓位。策略可能要求多个独立要素一致,例如方向、可接受的 Range RR 数值、通过质量过滤器、技术指标确认以及不存在排除信号。
- ANALOG — 根据 MT5 图表上约定的一组技术指标得出的方向。
- DIRECTION — 由使用价格数据和技术特征训练的网络给出的方向估计。
- RANGE — 对可能价格区间、止盈水平、回撤和收益风险比的估计。
- FILTER — 评估当前市场条件是否超过所要求的质量阈值。
策略可以返回 BUY、SELL 或 NO TRADE。NO TRADE 本身也是有效结果,表示系统没有找到足够的确认条件来建立或反转仓位。
5. 由 EA 执行交易
在收到经核准的讯号后,专家顾问会将其与当前的技术逻辑进行比对,并检查安全条件。具体而言,会检查系统中是否已存在仓位、讯号是否为最新、与分析模组的连线是否正常、是否符合所需的过滤条件,以及交易是否因使用者设定而被封锁。
软件还包含保护机制,用于减少启动后、手动平仓后或平台状态变化后意外重新入场的情况。最终行为取决于相关观察期间所使用的 EA 版本和当时有效的设置。
6. 仓位规模、获利了结(TP)、止损(SL)及追踪止损
仓位规模会根据帐户资本、杠杆比例及程式限制自动设定。在特定的测试期间内,系统可能会使用极高比例的可用资金进行操作。这是一种针对特定帐户的高风险实验性配置,并非建议的资金管理模式。
止盈水平可以来自 Range MLP 预测,并在后续估计显示潜在价格波动更大时更新。根据测试配置,止损水平可以设定为具体数值,也可以不设置。附加的追踪功能可能对剧烈价格变化作出反应、保护已积累的结果,或在特定条件下平仓并反向建立仓位。因此,不同交易的保护参数可能不同,并且可能在入场后发生变化。
7. LIVE 面板的内容
LIVE 面板显示 EUR/USD 系统的当前状态。它可以显示仓位及方向、入场时间和价格、当前市场价格、点数结果、可用的止损和止盈水平,以及最新有效读数的时间。图表会标记仓位的开仓点或平仓点。
当没有活动仓位时,面板可能显示最近一笔已平仓交易,或显示“无持仓”消息。这样可以把空仓状态与加载错误区分开来。
8. 历史与图表
仓位平仓后,系统会将记录写入专用的 EUR/USD 历史表。记录可包括开仓和平仓时间、方向、价格、点数结果、最大回撤、累计结果、平仓原因以及开仓/平仓图表。折线图从零开始跟踪累计结果,柱状图则分别显示每笔交易。
图像并非用以取代数值资料,而是用于记录市场状况。图像的储存与纪录的储存是透过独立的技术通道进行,因此两者的时间点可能会略有差异。
9. 资料更新
面板会自动刷新,通常每两秒一次。显示的时间代表最新有效读数。如果交易平台、本地计算机、服务器或分析模块失去连接,门户可能暂时显示最后可用状态、等待消息或无数据。