FJ Universe Quant Intelligence
- 专家
- 版本: 2.0
- 激活: 5
概述
FJ UNIVERSE Quantum Intelligence EA 是一款面向 MetaTrader 5 的全自动智能交易系统,以马尔可夫(Markov)状态转换模型作为其核心信号引擎。它基于可配置的回溯窗口,通过价格的滚动对数收益率将市场划分为三种状态——多头、空头或盘整,随后构建一个实时转换矩阵,学习当前状态之后出现上涨与下跌的概率,并将其凝练为单一的方向性信号。只有当该概率优势足够强、能够越出可配置的死区时,系统才会考虑开仓,从而在震荡行情中保持空仓,仅在真正具有统计学把握时建仓。
本 EA 构建于经过验证的 FJUNIVERSE 系列框架之上,该框架由 ADX REGIME、RSI MACDON 与 HFT TURBO 共享。它增加了八种策略模式、可选的平均成本法(Dollar Cost Averaging)、可选的自动手数恢复、严格的多层风控模块、过度杠杆保护的保证金管理器、实时图表面板,以及完整的 Discord 与 Telegram 通知系统。该模型具备因果性与向前推进(walk-forward)特性,仅从已完成的 K 线中学习(无未来函数偏差)。在测试中,它作为日线级别、仅做多、趋势延续型系统应用于趋势性品种时表现最为稳健。
信号引擎——马尔可夫状态条件
每一次入场都由 FJU Quantum 引擎进行把关:
- 状态分类:滚动对数收益率将当前 K 线标记为多头(强势上涨)、空头(强势下跌)或盘整(位于区间之内)
- 自适应或固定阈值:自适应模式通过对绝对收益率的滚动分位数,将多头/空头边界自校准至各市场的波动率水平;固定模式则使用恒定的百分比
- 因果转换矩阵:在每根 K 线完成后,EA 记录该次状态转换,并更新一个经拉普拉斯平滑处理的 3x3 概率矩阵
- 方向性信号:下一步走向为多头的概率减去为空头的概率;其绝对值即为信心度
- 入场死区:仅当信号升至正阈值之上时做多,仅当信号跌至负阈值之下时做空
- 状态反转离场:一旦持仓的方向性优势消失,立即平仓
- 方向过滤器:可禁用做空交易以实现仅做多操作,这是在偏向上涨的资产上最为稳健的设置
回溯窗口、平滑度、最小学习样本量与入场阈值均可配置。由于该矩阵会持续从已完成的 K 线中重建,单一的自适应配置即可在股票、金属与加密货币之间通用,无需针对各市场进行曲线拟合。
交易策略
| 策略 | 说明 |
|---|---|
| CLASSIC | 按马尔可夫信号的方向开立一个仓位,每个魔术编号同一时间仅持有一个。推荐的默认设置。 |
| TREND | 在优势有效期间,以最近一根已完成的 K 线作为触发条件:上涨 K 线后买入,下跌 K 线后卖出。 |
| REVERSE | 逆势模式。在优势有效期间,逆着最近一根 K 线入场,实现均值回归型行为。 |
| CLASSIC_EXTREME | 与 CLASSIC 类似,但即使在已有持仓时,每出现一次确认信号便加仓一次。当 useDCA 启用时,为 DCA 摊平提供动力。 |
| TREND_EXTREME | 趋势确认变体,仅在无持仓时开仓。 |
| REVERSE_EXTREME | 逆势确认变体,仅在无持仓时开仓。 |
| CLASSIC_EXTREME_SMART | 首笔交易采用 CLASSIC 逻辑;后续 DCA 入场仅在出现有效信号且价格优于平均开仓价时才执行(多头要求卖价低于均价,空头要求买价高于均价)。可避免在更差的价位摊平。 |
| CLASSIC_EXTREME_SMART_PLUS | 与 SMART 类似,但以现有最有利的入场价(多头最低价/空头最高价)作为比较基准,过滤更为严格,确保每次加仓均处于更优价位。 |
止盈与止损
止盈与止损均为入场价的百分比,因此在外汇、金属、加密货币与指数上的运作方式完全一致,无需进行点数或小数位的重新换算。默认的 6% 止盈对应 2% 止损,构成 3:1 的盈亏比形态,让盈利充分奔跑,同时果断止损。状态反转离场可作为独立的离场方式启用。
手数计算
四种手数计算格式:
- LOT:直接输入手数
- CURRENCY_AMOUNT:以账户货币计的固定金额;手数会被计算为价格完全归零时恰好损失该金额
- PERCENT_OF_BALANCE:手数会被计算为价格完全归零时损失账户余额的配置百分比,因此一次典型的止盈或止损触及仅为其中的一小部分
- PERCENT_OF_EQUITY:采用相同算法,但使用实时净值
若计算出的手数超出经纪商限制,EA 会记录建议的最小与最大成本。所配置的金额相当于潜在亏损的硬性上限。
平均成本法(DCA)
当 DCA 启用时,随着市场逆着初始交易运行,EA 会加开仓位。每加一层后均价都会重新计算,止盈/止损随之移动至新的平均成本,因此整个仓位组合只需回升至均价加止盈百分比即可。止损可选择在首个 DCA 仓位开立前保持不激活。DCA 在 CLASSIC_EXTREME 与 SMART 模式下效果最佳。
自动手数恢复
当此前的交易产生净亏损时,自动手数恢复会调整下一笔交易的手数以弥补亏空,共有两种模式:
- 按魔术编号读取历史交易:读取本 EA 最近 N 笔已平仓交易的盈亏,并将手数调整至足以弥补总亏损外加一定百分比的缓冲
- 按净值与余额回撤:调整下一笔交易的手数以弥补实时净值缺口
恢复手数始终保持在经纪商成交量限制之内,保证金管理器则提供第二层过度杠杆保护。DCA 与自动手数恢复默认均为关闭;请先在模拟账户上测试。
严格风控模块
一个始终开启的多层风控模块保护账户。每一层均独立运作,触及硬性上限时会立即平掉所有仓位:
- 每日/每周亏损熔断开关:当当日或当周亏损达到所配置的净值百分比时,停止开新仓
- 最大连续亏损:连续亏损 N 次后暂停入场;出现盘整状态可清零连亏计数(设为 0 则禁用)
- 每日最大交易笔数:限制每日新开仓位数量
- 最大回撤熔断:硬性后盾——若净值较其峰值下跌所配置的百分比,EA 会平掉一切并停止开新仓
每一层的状态、当日与当周盈亏、回撤及连亏次数均在面板上实时显示。
保证金管理器
这是一个每个 tick 都运行的过度杠杆防护层。若已用保证金越过所配置的阈值,EA 会将其自身盈利超过最低百分比的任意分腿落袋为安,从而在不平掉任何亏损仓位的前提下释放保证金,并在其动作时发送一条橙色 Discord 警报。这可在深度 DCA 序列期间保护账户。
净值目标与最后周期
可设定一个目标净值,达到时平掉所有仓位并移除 EA,适用于挑战赛、资管及自营公司的盈利目标。最后周期(Last Cycle)设置会停止新入场,但仍通过止盈、止损、DCA 与反转离场继续管理现有交易,待空仓后移除 EA。
执行时机与图表面板
EA 每根已完成的 K 线(收盘)评估一次,与其日线设计相匹配,可避免错误的盘中信号并保持低 CPU 占用;保证金管理器与硬性回撤熔断开关则在每个 tick 检查。右上角的实时面板逐根 K 线更新,显示引擎状态(ACTIVE、WARMUP 或 RISK HALT)、当前状态、信号与信心度、多头与空头概率、偏向、样本量与最小值的对比、激活的模式、DCA 与恢复状态,以及您的当日盈亏、当周盈亏、回撤和连亏次数。
Discord 与 Telegram 通知
EA 会针对启动、关闭、入场、离场(含经纪商端止盈与止损)、状态反转平仓、风控事件、保证金管理器动作、净值目标及错误发送实时通知。消息以 3 秒间隔排队发送,并带有重复检测。已平仓交易由 OnTrade 处理器捕获,因此经纪商平仓、手动平仓与 EA 平仓的报告方式完全一致。Discord 采用颜色编码的嵌入式消息,可路由至最多三个 webhook(监控、日志、结果);Telegram 采用 HTML 与 UTF-8 编码,发送至共享的 FJUNIVERSE 频道及一个可选的用户频道。自定义品牌链接可附加在每条消息之后。
输入参数
FJU Quant 引擎
| 参数 | 默认值 | 说明 |
|---|---|---|
| InpLookback | 40 | 状态对数收益率的回溯窗口(以 K 线计)。在日线图上,40 大致相当于两个月。 |
| InpAdaptive | true | 自校准阈值。true 会将多头/空头边界自适应至各市场的波动率;false 则使用下方的固定百分比。 |
| InpBullPct | 2.0 | 固定模式下的多头阈值(百分比)。自适应开启时忽略此项。 |
| InpBearPct | 2.0 | 固定模式下的空头阈值(百分比)。自适应开启时忽略此项。 |
| InpAdaptWin | 200 | 自适应阈值的校准窗口(以 K 线计)。 |
| InpAdaptQ | 0.70 | 自适应分位数(0-1)。0.70 表示只有当某根 K 线的波动位于近期波动的前 30% 时,才被判定为多头或空头。 |
| InpAlpha | 1.0 | 拉普拉斯平滑,使历史数据较少的市场不会产生极端概率。 |
| InpMinSamples | 30 | 开始交易前所需的最小已学习转换次数。低于此值时面板显示 WARMUP。 |
| InpEntryThresh | 0.10 | 入场死区。信号必须超过正负此值方可动作。 |
| InpAllowShort | false | 允许做空交易。关闭即为仅做多,这是偏向上涨资产上最稳健的设置。 |
| InpExitOnFlip | true | 当状态优势消失时平掉持仓。 |
FJU Quant 下单手数
| 参数 | 默认值 | 说明 |
|---|---|---|
| QUANT_TP_PERC | 6.0 | 止盈距离,以入场价的百分比表示。 |
| QUANT_SL_PERC | 2.0 | 止损距离,以入场价的百分比表示。 |
| costOfSingleOrder | 1 | 基础交易规模数值,由 costFormat 进行解释。 |
| costFormat | PERCENT_OF_BALANCE | 交易规模单位:LOT、CURRENCY_AMOUNT、PERCENT_OF_BALANCE、PERCENT_OF_EQUITY。 |
| tradingStrategy | CLASSIC | 八种模式之一:CLASSIC、TREND、REVERSE、CLASSIC_EXTREME、TREND_EXTREME、REVERSE_EXTREME、CLASSIC_EXTREME_SMART、CLASSIC_EXTREME_SMART_PLUS。 |
FJU Quant 风控模块
| 参数 | 默认值 | 说明 |
|---|---|---|
| useRisk | true | 整个风控模块的总开关。 |
| maxDailyLossPct | 3.0 | 每日亏损熔断开关(净值百分比)。硬性突破时停止开新仓并平掉所有仓位。 |
| maxWeeklyLossPct | 6.0 | 每周亏损熔断开关(净值百分比)。 |
| maxConsecLosses | 0 | 连续亏损达到此次数后暂停;出现盘整状态可清零连亏计数。0 则禁用。 |
| maxTradesPerDay | 1 | 每日最大新开交易笔数。0 表示不限。 |
| maxDDPct | 25.0 | 硬性回撤熔断。若净值较其峰值下跌至此幅度,EA 会平掉一切并停止交易。 |
FJU 保证金管理器
| 参数 | 默认值 | 说明 |
|---|---|---|
| useMarginManager | true | 启用过度杠杆保证金管理器。仅在账户承压时才会动作。 |
| MMThresholdPerc | 75 | 触发它的已用保证金百分比。0 则禁用。 |
| MMMinProfitPerc | 0.1 | 只有盈利至少达到此百分比的仓位才会被落袋为安。 |
策略升级——DCA 与恢复
| 参数 | 默认值 | 说明 |
|---|---|---|
| useDCA | false | 启用平均成本法,以基于均价的共享仓位组合止盈进行操作。 |
| activateSLWithDCA | false | 为 DCA 仓位组合管理一个共享止损;否则仅运行至共享止盈。 |
| useAutoLotRecoveryByFJU | FALSE | 恢复方式:FROM_PAST_TRADES_BY_MAGIC_NUMBER、FROM_EQUITY_BALANCE_DRAWDOWN 或 FALSE(禁用)。 |
| recoveryRangeForPastTrades | 100 | 恢复计算所采用的历史已平仓交易笔数。 |
| additionalPercentageToRecovery | 10 | 在恢复金额之上额外附加的百分比,作为缓冲。 |
| useEquityManagerForAutoLotRecovery | true | 当净值恢复后重置仓位组合,适用于净值回撤模式。 |
| closeAllTradesOnEquityHigherThen | 0.00 | 当净值达到此数值时平掉所有交易并移除 EA。0 则禁用。 |
| lastCycleOfQUANT | false | 阻止新仓位;将现有仓位组合管理至止盈、止损或反转离场后停止。 |
EA 通用设置
| 参数 | 默认值 | 说明 |
|---|---|---|
| magicNumber | 260617 | EA 标识符。每个品种与图表实例必须唯一。 |
| useFillingPolicy | true | 自动检测经纪商成交策略(IOC、FOK 或 RETURN)。 |
| orderComment | FJUNIVERSE.COM | QUANT | TRADE | 附加在每个订单票据上的注释。 |
通知
| 参数 | 默认值 | 说明 |
|---|---|---|
| brandLinkName | (空) | 通知中品牌链接的显示名称(截断至 10 个字符)。 |
| brandLinkURL | (空) | 通知中品牌链接的 URL。 |
| discordNickName | ANONYMOUS | Discord 消息中显示的昵称。 |
| discordWebhookLogs | (空) | 用于入场、离场及系统事件的自定义 Discord webhook。留空则回退至内置的 FJUNIVERSE 频道。 |
| discordWebhookResults | (空) | 用于已平仓交易结果的自定义 Discord webhook。留空则使用内置的结果频道。 |
| telegramNickName | ANONYMOUS | Telegram 消息中显示的昵称。 |
| telegramBotToken | (空) | 来自 BotFather 的 Telegram Bot API 令牌。留空则使用内置的 FJUNIVERSE 频道。 |
| telegramChatID | (空) | 用于通知的 Telegram 聊天或频道 ID。 |
安装
- 将 FJUNIVERSE_QUANT_INTELLIGENCE 放入 MQL5 Experts 文件夹
- 打开 MetaEditor 并编译该文件(按 F7)
- 重启 MetaTrader 5 或刷新导航器面板
- 将 EA 拖放到图表上并启用自动交易
本 EA 可用于所有品种与时间周期,但其设计与测试在趋势性品种(如主要美国股票、黄金、白银及大市值加密货币)的日线(D1)时间周期上以仅做多模式表现最为稳健。要使用通知功能,请在“工具、选项、智能交易系统”中允许以下 URL:https://discord.com 与 https://api.telegram.org。若无需通知,请将 webhook 与令牌字段留空。
注意事项
- 该模型具备因果性与向前推进特性:它仅从已完成的 K 线中学习,因此不存在未来函数偏差。
- EA 在交易前至少需要 InpMinSamples 次已学习的转换;在此之前面板显示 WARMUP。
- 采用自适应阈值的仅做多模式是推荐的起始配置。
- CLASSIC_EXTREME 与 SMART 模式专为 DCA 设计;在首次入场时,SMART 模式的行为与 CLASSIC 相同。
- DCA 与自动手数恢复功能强大但风险更高,默认关闭。请先在模拟账户上测试。
- 魔术编号在跨品种与跨时间周期的每个图表实例上必须唯一。
风险免责声明:
交易涉及重大风险,过往业绩并不预示未来结果。本 EA 采用自动化策略,会同时放大盈利与亏损。马尔可夫模型具备真实但具选择性的优势;回测并非承诺,样本外结果会比样本内历史更为温和。本产品不保证盈利,您可能损失部分或全部资金。在持续不利的行情下,DCA 与手数恢复可能放大亏损。请始终自行研究并评估您的风险承受能力。FJUNIVERSE 对本 EA 使用者所遭受的任何损失概不负责。
