找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
首页论坛EAHub 外汇论坛
查看: 9|回复: 0

外汇取款机-EA更偏向保守的趋势跟踪,适合追求稳定、低回撤的交易者。

[复制链接]

4万

主题

54

回帖

4万

积分

管理员

积分
45954
发表于 2026-8-23 14:42:00 | 显示全部楼层 |阅读模式
该EA是一个日内趋势突破策略,基于CCI和动量指标(Momentum)的双重确认,在固定时间窗口(UTC 5:30)入场,并配有完整的移动止损、保本止损、固定止盈/止损等风控模块。以下是对其交易逻辑的详细拆解:1. 核心参数


[td]参数名典型值说明StartHour5交易开始小时(UTC时间)StartMinute30交易开始分钟止损40固定止损点数(若启用)止盈35固定止盈点数(若启用)开仓价保护20盈利达到该点数后,移动止损至开仓价+偏移BreakEvenAddPips0保本后的额外偏移点数TrailingStopPips0移动止损点数(0表示关闭)资金管理TRUE是否使用基于账户余额的风险计算风险系数2每笔交易风险占总资金的百分比有效手数小数点2手数保留小数位数UseLongCandleFilterTRUE是否启用长K线过滤(避免追高杀低)Email发送信号TRUE开仓时发送邮件通知MagicNumber12345EA魔术号

2. 入场条件(信号生成)时间窗口EA在每个tick执行 start()。仅当当前时间的小时==StartHour (5) 且 分钟==StartMinute (30) 时,才尝试开仓。同时通过 g_day_268 确保一天只开一次仓(避免同一根K线重复触发)。

信号产生(getSignal)调用 checkMomentum()(动量指标,周期60,价格类型PRICE_TYPICAL):

计算 ld_8 = 100 * (Momentum - 100)(实际为百分比变动)。若 |ld_8| > 80(即动量变化超过80%),则返回0(无信号),认为是异常波动。否则,ld_8 > 0 返回1(多),ld_8 < 0 返回-1(空)。

调用 checkCCI()(CCI指标,周期60,PRICE_TYPICAL):

若 CCI > 0 返回1(多),CCI < 0 返回-1(空),等于0返回0。

信号有效性:两个指标的方向必须完全相同(均为正或均为负),否则返回0(无信号)。长K线过滤(UseLongCandleFilter):

若启用,扫描最近 gi_164 = 15 根K线,计算每根K线的实体长度 High-Low。若存在某根K线的长度 ≥ ATR(20) * gd_172(3.0),即认为是长K线(剧烈波动),此时返回0(不开仓)。意图:避免在刚刚发生过大幅波动的行情中入场,防止被反转套住。

最终开仓动作若信号为 +1(多):市价买(Ask),手数由资金管理决定,止损价 = 开仓价 - BrokerStopLossPips(初值55点)* 方向系数,止盈价 = 开仓价 + BrokerProfitTargetPips(初值55点)。若信号为 -1(空):市价卖(Bid),止损 = 开仓价 + 55点,止盈 = 开仓价 - 55点。

注意:代码中实际使用的是 gd_224 和 gd_232,它们来自 BrokerStopLossPips 和 BrokerProfitTargetPips 经过 gd_200 转换后的点数,默认均为55点。

开仓后立即修改订单,将SL/PT设置为上述值。3. 资金管理若 资金管理 == TRUE:

计算 风险金额 = 账户余额 * (风险系数 / 100.0)。若 止损 > 5 则使用参数止损,否则使用默认 BrokerStopLossPips(55点)作为止损点数。手数 = 风险金额 / (10.0 * 止损点数),并归一化到 有效手数小数点 位。再与平台最小/最大手数比较,约束在合法范围内。

若 资金管理 == FALSE:直接使用参数 Lots。

例如:余额[size=1.21em]10000,风险系数210000,风险系数2200 → 手数 = 200/(10*55)=0.3636,取小数点后2位为0.36手。4. 持仓管理(manageTrade)该函数在每次 start() 开头被调用,对当前EA的所有订单实施风控(按顺序执行):移动止损(TrailingStopPips)若该值 > 0:

买单:当 Bid > 当前止损 + TrailingStopPips 时,将止损上移到 Bid - TrailingStopPips。卖单:当 Ask < 当前止损 - TrailingStopPips 时,将止损下移到 Ask + TrailingStopPips。

开仓价保护(保本止损)若 开仓价保护 > 0:

买单:当盈利 ≥ 开仓价保护 点,且当前止损仍低于开仓价时,将止损移到 开仓价 + BreakEvenAddPips。卖单:当盈利 ≥ 开仓价保护 点,且当前止损仍高于开仓价时,将止损移到 开仓价 - BreakEvenAddPips。

此功能独立于移动止损,可同时使用。

固定止盈若 止盈 > 0:

买单:当盈利 ≥ 止盈 点 → 立即平仓(市价平多)。卖单:当盈利 ≥ 止盈 点 → 立即平仓。

固定止损(硬止损)若 止损 > 0:

买单:当亏损 ≥ 止损 点 → 立即平仓。卖单:当亏损 ≥ 止损 点 → 立即平仓。

注意:固定止盈/止损的优先级高于移动止损和保本止损(它们直接平仓,而不仅仅是移动止损)。

参数中的 止损 和 止盈 如果未启用(=0),则完全依赖开仓时设置的55点固定SL/PT以及后续的移动管理。5. 其他辅助机制重试机制:开仓若遇 REQUOTE 或 INVALID_TRADE_VOLUME,会重试最多2次,并动态调整手数。日志与邮件:开仓成功或每日无信号时,均可发送邮件通知。防重复开仓:通过全局变量 g_day_268 记录上次开仓的日期,当天不会再次开仓。

6. 策略本质与适用场景策略类型:固定时间动量+CCI双重确认,类似“开盘突破”但并非开盘,而是选择UTC凌晨5:30(对应亚洲早盘或美洲收盘后的清淡时段)。核心逻辑:在特定时间,如果短期动量方向与CCI方向一致,且近期没有超大K线干扰,则顺着动能入场,并依靠窄止损(55点)和移动止盈/保本控制风险。特点:

每天最多一单,交易频率低。资金管理使每单风险可控(总资金的固定百分比)。长K线过滤试图规避剧烈波动后的不确定性。

风险点:

固定时间入场可能忽略当时的波动率环境,虽有用ATR过滤历史K线,但非实时过滤。初始止损为55点,若点差较大或快速行情,易被扫损。动量指标参数60周期,在5:30时刻使用的是前一周期收盘的数据,有一定滞后性。

适用品种:倾向于波动温和、趋势性较好的货币对(如EURUSD、GBPUSD等),不适合剧烈震荡或高突发性品种。我用的是exness平台,其他平台没有试过。策略测试图片
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EAHub外汇论坛

GMT+8, 2026-10-13 10:12 , Processed in 0.105945 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表