Basalt Breakout
- 专家
- 版本: 1.15
- 激活: 7
Basalt Breakout:市场构筑价位,你抓住突破。
Basalt Breakout 将支撑位和阻力位的突破转化为具有明确入场和出场规则的交易。
市场花几个小时构筑一个价位……却只用几秒钟将它突破。大多数交易者不是进得太早,就是进得太晚。Basalt Breakout 早已就位:它追踪关键高点和低点,耐心等待,并在行情启动的位置挂好 Buy Stop 或 Sell Stop。
无需猜测。无需紧盯图表。无需追涨杀跌。
首次向你开放
这款 EA 我们已经实盘运行了 7 年,如今首次决定向其他交易者开放。它的背后是 18 年的市场经验和真正的交易逻辑,而不是一个黑箱:你可以查看每一个变量和每一个参数,因为我们坚持透明。你也不会孤军奋战:我们提供一流的技术支持。我们不是新手。给它一个机会,亲自试一试吧!
每一笔交易都有计划
- 由你决定入场距离、挂单数量及其有效时长。
- 内置止损、止盈、追踪止损、追踪止盈和保本功能。
- 可选点差、交易时段和新闻过滤(非农、利率决议、CPI)。
- 可配置的保证金与回撤保护。
- 新闻过滤器实时读取 MQL5 经济日历;在测试器中使用历史事件 CSV 文件。
几分钟即可上手:从 XAUUSD/D1 开始。 内置预设可加载完整配置,你可以在自己的经纪商上重复测试,亲眼验证结果。初始手数:0.10。在交易账户上使用前,请检查计算出的手数。该预设中的新闻过滤器为禁用状态。
策略测试器结果,XAUUSD/D1 预设
| 期间 | 净结果 | 盈利因子 |
|---|---|---|
| 2024 | +6,966.29 USD | 1.96 |
| 2025 | +21,085.88 USD | 11.04 |
| 2026年1月1日 – 10月5日 | +7,650.69 USD | 2.74 |
三个期间,三次正收益。 不必只听我们说。加载预设,运行测试器,自己判断这些数字。
初始设置
请在 XAUUSD 的 D1 图表上运行本 EA。XAUUSD/D1 的参数已作为默认设置内置,无需导入 .set 文件。在此配置下,入场在 H1 周期检查( Entry_Timing ),持仓在每个 tick 进行管理( UseEveryTick=true )。交易前请确认交易品种、交易量以及经纪商的条件。
风险控制通过 Risk 、 StartLots 以及(模式 2 下的) Manual_RiskPerTrade 进行设置。 InpMaxDailyDrawdownPercent 和 InpMaxEquityDrawdownPercent 两个限制相互独立,设为 0 即禁用。交易机会的频率取决于检测到的价位和过滤条件;本 EA 没有自动频率选择器。
入场与价位
- AllowBuyTrades / AllowSellTrades → 分别启用 Buy Stop 和 Sell Stop 挂单。
- ST1_Timeframe → 搜索高点和低点的周期; Current 使用图表周期(预设中为 D1)。
- Entry_Timing → 该周期新 K 线开始时触发入场分析;默认为 H1。
- ST1_HL_strength_L / ST1_HL_strength_R → 确认局部高点或低点时,两侧各需的 K 线数量。
- ST1_countback → 搜索价位时检查的已收盘 K 线最大数量。
- ST1_MinDist_to_HL / ST1_MinDist_to_HL_percentage → 价格与价位之间的最小距离,以内部价格单位或价位的百分比表示;取两者中的较大值。
- ST1_UpDiff / ST1_DownDiff → 挂单相对于检测到的高点或低点的偏移距离。
- ST1_MaxPendingOrders → 每个方向的最大挂单数量;EA 可能用更近的挂单替换现有挂单。
- MaxTrades → 每个方向的最大持仓数量。
- MinDist_orders → 同类型订单之间的最小间距;也可避免重复使用过于接近的价位。
- ST1_Expiration_hours → 挂单的有效时长,与 Virtual_expiration 配合使用。
- EA_MagicNumber → 本 EA 订单和持仓的识别号。如果在同一品种上运行多个配置,请使用不同的编号。
- EA_Comment → 订单注释。默认值为 Basalt Breakout ;如果旧的 .set 文件中包含 “Ultimate” 或 “UBS”,EA 将以 Basalt Breakout 作为注释发送。
- InpRequireUnbrokenLevel → 要求该高点或低点此后未被价格突破。
出场与持仓保护
- Exit_Timing → 当 UseEveryTick=false 时检查出场的周期。当 UseEveryTick=true 时,每个 tick 都执行管理。
- UseEveryTick → 启用每个 tick 的持仓管理。
- Exit_stop / Exit_limit → 止损和目标距离。 Exit_stop 也是按风险计算手数时使用的基准。
- Exit_TrailSL_size / Exit_TrailSL_Start → 追踪止损的距离,以及激活追踪止损所需的盈利。
- Exit_TrailSL_Stop / Exit_TrailSL_step → 追踪止损相对于开仓价的限制,以及修改止损所需的最小改善幅度。
- Exit_TrailTP_size / Exit_TrailTP_Start → 当持仓累计亏损达到设定阈值时,将目标价拉近。
- Exit_BE_start / Exit_BE_extra_pips → 激活保本的盈利阈值,以及止损的额外偏移量。当 Exit_BE_start=0 时,该功能不激活。
- Exit_TrailSL_after_X_Minutes / Exit_TrailSL_after_X_Minutes_size → 自开仓起经过指定时间后的额外追踪止损;两者都必须大于零。
- useVirtualStops → 值不为零时,EA 可在价格达到 Exit_stop 的虚拟距离时平仓。
- InpHardStopMultiplier → 对发送给经纪商的初始止损距离进行倍乘;设为 0 时不发送初始止损。它不能替代 EA 的出场管理。
距离通过内部单位 Pip() 和 EA 的缩放系数计算。在两位小数的 XAUUSD 上,一个基础单位在应用缩放系数之前相当于 0.01 的价格;请在策略测试器中核实实际价位。
交易量、缩放与点差
- Risk → 0 或 1 :使用 StartLots 作为固定手数。 2 :根据 Manual_RiskPerTrade 计算手数。 3 、 4 、 5 、 6 和 7 :分别对应内部百分比 0.1%、0.2%、0.5%、1% 和 2%。在模式 2–7 中, StartLots 仍是计算中使用的最小值,因此实际风险可能超过所选百分比。
- StartLots → 初始手数,也是百分比风险模式的最小手数。如果低于经纪商的最小值,订单将不会发送。
- Manual_RiskPerTrade → 余额或净值的百分比,仅在 Risk=2 时使用。
- MaxLots → 手数上限,在经纪商限制之外额外生效。
- UseEquity → 使用净值而不是余额计算百分比手数。
- OnlyUp → 防止计算基数低于 EA 启动以来记录的最高余额。
- CheckMargin → 如果可用保证金不足以开仓,则跳过该订单。
- SpreadFilter / MaxSpread → 启用点差过滤并设置下新订单时允许的最大点差。
- DistForSpreadFilter → 当点差超过最大值时,取消距价格在此距离以内的挂单。
- Virtual_expiration → 设为 true 时,EA 在 ST1_Expiration_hours 后取消挂单;设为 false 时,如果该品种允许,则向经纪商请求设置到期时间。
- ATRDefault / ATR_Period / ATR_Timeframe → 当 ATRDefault>0 时,使用 ATR 缩放距离。
- DefaultValue → 如果不使用 ATR 缩放,则按最近一根已收盘 D1 K 线的开盘价除以此值来缩放距离。设为 0 且不使用 ATR 时,系数为 1。
新闻
- UseMQL5Calendar → 至少启用一个新闻过滤器时,实时查询 MQL5 经济日历。在测试器中,历史事件从 InpNewsFile 指定的 CSV 文件读取。
- MQL5_CalendarDays → 实时日历中向前查询的天数。
- EnableNFP_Filter / EnableIR_Filter / EnableCPI_Filter → 启用美国非农就业、利率决议和 CPI 过滤器。在提供的预设中三者均为禁用。
- NFP_MinutesBefore / NFP_MinutesAfter、IR_MinutesBefore / IR_MinutesAfter 和 CPI_MinutesBefore / CPI_MinutesAfter → 每个事件前后禁止入场的时间窗口。
- NFP_CloseOpenTrades / IR_CloseOpenTrades / CPI_CloseOpenTrades → 如果对应过滤器已启用,则在事件窗口内平掉本 EA 的持仓。
- NFP_ClosePendingOrders / IR_ClosePendingOrders / CPI_ClosePendingOrders → 在该窗口内删除本 EA 的挂单。
- InpNewsFile → 位于 Terminal/Common/Files 中的历史 CSV 文件名。格式: server_time,category ,使用服务器时间,类别为 NFP 、 IR 或 CPI 。回测时启用过滤器需要此文件;若 UseMQL5Calendar=false ,实盘中也会使用。
交易时段与限制
- UseTradingTimeZones → 启用交易时段。预设中为禁用。
- Time_Source → 交易时段使用的时钟: 0 GMT, 1 电脑本地时间, 2 经纪商时间。
- MondayStart/MondayEnd、TuesdayStart/TuesdayEnd、WednesdayStart/WednesdayEnd、ThursdayStart/ThursdayEnd、FridayStart/FridayEnd、SaturdayStart/SaturdayEnd 和 SundayStart/SundayEnd → 每天的开始和结束时间,格式为 HH:MM ;支持跨越午夜的时段。如需设置周五截止时间,请启用 UseTradingTimeZones 并调整 FridayEnd 。
- KillPending / KillOpen → 超出交易时段时,分别取消本 EA 的挂单或平掉本 EA 的持仓。
- InpMaxDailyDrawdownPercent → 当净值从当日开始下跌达到此幅度时,禁止新入场并取消挂单,直到次日。 0 表示禁用。
- InpMaxEquityDrawdownPercent → 当净值从 EA 启动以来观测到的最高净值下跌达到此幅度时,在该实例运行期间禁止新入场并取消挂单。 0 表示禁用。这两个限制本身不会平掉已开的持仓。
- InpDeviationPoints → 交易请求使用的最大偏差,以品种点数表示。
- InpVerbose → 在日志中显示被拒绝的订单和修改的额外诊断信息。
为兼容性保留的参数
LotsAdjustMinChangePercent 、 LotPerBalance_step 、 VirtualSL_Safety_Hardstop_dist 、 Broker_GMT_OFFSET_Summer 、 Broker_GMT_OFFSET_Winter 和 AutoGMT 仍然可见,以便加载旧预设;1.12 版本的交易逻辑不使用这些参数。交易时段的时钟调整通过 Time_Source 完成。
