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

| 发表于 半小时前 | 显示全部楼层 |复制链接
最后由 8133 于 2026-4-30 09:12 编辑

该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平台,其他平台没有试过。
  • 策略测试图片

举报

评论 使用道具

精彩评论2

柏德
DDD
| 发表于 半小时前 | 显示全部楼层
有没有观摩呢?请问!
举报

点赞 评论 使用道具

youlingan
D
| 发表于 半小时前 | 显示全部楼层
这个应该不错
举报

点赞 评论 使用道具

发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册