多策略并行 · 自适应动量捕捉 · 三重信号共振过滤
专为高波动市场设计的量化交易解决方案
基于布林带收缩后的波动率爆发捕捉,结合成交量确认的M1周期突破策略。
基于RSI极值偏离与VWAP锚定的M5均值回归策略,在超买超卖区域进行逆向交易。
基于多时间框架EMA排列与OBV背离检测的趋势跟踪策略。
做多入场条件(同时满足):
做空入场条件(同时满足):
出场规则:
做多入场条件(同时满足):
做空入场条件(同时满足):
出场规则:
做多入场条件(同时满足):
做空入场条件(同时满足):
出场规则:
| 风控层级 | 规则 | 参数 | 触发动作 | 优先级 |
|---|---|---|---|---|
| L1 单笔风控 | 单笔最大亏损占账户净值比例 | ≤ 2% | 强制止损平仓 | 最高 |
| L1 单笔风控 | 单笔最大持仓时间 | 策略A:15M1 / B:25M5 / C:50M1 | 时间止损强平 | 最高 |
| L2 策略风控 | 单策略同时最大持仓数 | ≤ 3 笔 | 禁止新开仓 | 最高 |
| L2 策略风控 | 单策略连续亏损次数上限 | 5 次 | 暂停该策略30分钟 | 高 |
| L3 组合风控 | 全策略总持仓保证金占比 | ≤ 净值的60% | 禁止所有新开仓 | 高 |
| L3 组合风控 | 同方向总仓位上限 | ≤ 总仓位的70% | 反向单优先入场 | 高 |
| L4 日度风控 | 当日最大回撤 | ≤ 净值的10% | 当日全部停止交易 | 最高 |
| L4 日度风控 | 当日最大交易次数 | ≤ 80 次 | 当日停止交易 | 中 |
| L5 系统熔断 | 周度最大回撤 | ≤ 净值的25% | 系统熔断48小时 | 最高 |
| L5 系统熔断 | 价差(Spread)异常检测 | > 正常值的3倍 | 暂停交易至价差恢复 | 高 |
| L5 系统熔断 | 滑点异常检测 | 连续3笔滑点>5点 | 暂停交易15分钟 | 高 |
Lots = (Equity × RiskPct) / (SL_Points × TickValue × TickSize)
盈利加仓、亏损减仓,与传统马丁格尔相反。
//+------------------------------------------------------------------+ //| TripleMomentum_EA.mq4 | //| 三倍动量高频交易系统 - MT4版 | //| 策略:闪电突破 + 弹性回归 + 量价共振 | //+------------------------------------------------------------------+ #property copyright "TripleMomentum Quant Lab" #property version "3.00" #property strict //=== 全局参数 === extern string Sep1 = "===== 通用参数 ====="; extern double RiskPercent = 2.0; // 单笔风险% extern int MaxDailyTrades = 80; // 日最大交易次数 extern double MaxDailyDD = 10.0; // 日最大回撤% extern double MaxWeeklyDD = 25.0; // 周最大回撤% extern int MaxSameDir = 70; // 同向仓位上限% extern int MaxSpreadPts = 30; // 最大允许点差 extern int MagicBase = 300000; // Magic基数 extern string Sep2 = "===== 策略A 闪电突破 ====="; extern bool EnableStratA = true; extern int A_BBPeriod = 20; extern double A_BBDeviation = 2.0; extern int A_ATRPeriod = 14; extern double A_VolMulti = 1.5; extern double A_SL_ATR = 1.5; // 止损ATR倍数 extern double A_TP_ATR = 3.0; // 止盈ATR倍数 extern double A_TrailATR = 1.0; // 追踪止损ATR倍数 extern int A_MaxBars = 15; // 最大持仓K线数 extern int A_MaxPositions = 3; extern string Sep3 = "===== 策略B 弹性回归 ====="; extern bool EnableStratB = true; extern int B_RSIPeriod = 7; extern double B_RSILow = 15.0; extern double B_RSIHigh = 85.0; extern int B_StochK = 5; extern int B_StochD = 3; extern int B_StochSlow = 3; extern double B_SL_ATR = 2.0; extern int B_MaxBars = 25; extern int B_MaxPositions = 3; extern string Sep4 = "===== 策略C 量价共振 ====="; extern bool EnableStratC = true; extern int C_EMAFast = 5; extern int C_EMAMid = 13; extern int C_EMASlow = 34; extern int C_MACDFast = 6; extern int C_MACDSlow = 13; extern int C_MACDSignal = 4; extern double C_SL_ATR = 0.5; extern int C_MaxBars = 50; extern int C_MaxPositions = 3; //=== 全局变量 === int g_todayTrades = 0; double g_dayStartEquity = 0; double g_weekStartEquity = 0; int g_consecutiveWins = 0; int g_consecutiveLoss = 0; int g_lastTradeDay = 0; bool g_dayHalted = false; bool g_weekHalted = false; //+------------------------------------------------------------------+ //| 初始化 | //+------------------------------------------------------------------+ int OnInit() { g_dayStartEquity = AccountEquity(); g_weekStartEquity = AccountEquity(); g_lastTradeDay = DayOfYear(); Print("[TripleMomentum] 系统初始化完成 | 净值: ", AccountEquity()); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| 每Tick核心逻辑 | //+------------------------------------------------------------------+ void OnTick() { //仅展示部分
//+------------------------------------------------------------------+ //| TripleMomentum_EA.mq5 | //| 三倍动量高频交易系统 - MT5版 | //+------------------------------------------------------------------+ #property copyright "TripleMomentum Quant Lab" #property version "3.00" #include <Trade\Trade.mqh> #include <Trade\PositionInfo.mqh> #include <Indicators\Indicators.mqh> //=== 输入参数 === input group "===== 通用参数 =====" input double InpRiskPct = 2.0; // 单笔风险% input int InpMaxDailyTrades = 80; // 日最大交易次数 input double InpMaxDailyDD = 10.0; // 日最大回撤% input double InpMaxWeeklyDD = 25.0; // 周最大回撤% input int InpMaxSpread = 30; // 最大允许点差 input ulong InpMagicBase = 300000; // Magic基数 //仅展示部分
{TripleMomentum 三倍动量综合指标} {========== 通用参数 ==========} N1:=20; {BB周期} N2:=14; {ATR周期} N3:=7; {RSI周期} {========== 策略A 闪电突破信号 ==========} {布林带} MID:=MA(CLOSE, N1); UPPER:=MID + 2 * STD(CLOSE, N1); LOWER:=MID - 2 * STD(CLOSE, N1); {带宽} BW:=(UPPER - LOWER) / MID * 100; MINBW:=LLV(BW, N1); SQUEEZE:=BW <= MINBW * 1.05; {ATR波动率扩张} ATR14:=MA(TR, N2); ATREX:=ATR14 > REF(ATR14, 1) * 1.2; {成交量确认} VOLAVG:=MA(VOL, N1); VOLCFM:=VOL > VOLAVG * 1.5; {闪电突破信号} A_BUY:=SQUEEZE AND CLOSE > UPPER AND VOLCFM AND ATREX; A_SELL:=SQUEEZE AND CLOSE < LOWER AND VOLCFM AND ATREX; {========== 策略B 弹性回归信号 ==========} RSIVALS:=RSI(CLOSE, N3); {随机指标} //仅展示部分