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

【黄金对冲1.0】50天盈利3.7倍。

[复制链接]

8026

主题

54

回帖

4871

积分

管理员

积分
4871
发表于 5 天前 | 显示全部楼层 |阅读模式





# 匯鹰·对冲 EA v1.00 策略介绍


## 一、产品定位


**匯鹰·对冲 EA v1.00** 是一套基于:


> **双向突破挂单 + 同方向递增加仓 + 反方向对冲 + 分方向均价退出**


构建的 MT4 自动交易系统。


它不是依靠均线、MACD、RSI 等指标预测行情方向的信号型EA,而是通过价格突破、挂单跟随、仓位递增和多空篮子管理,应对震荡、突破、回撤及趋势延续等不同市场状态。


图表中的辅助均线仅供人工观察,不参与自动开仓和加仓判断。EA的交易方向、挂单距离、手数递增、移动止损、反向开仓、时间过滤和面板显示均可独立配置。


---


## 二、策略核心思想


该策略不提前判断市场一定上涨或下跌,而是在当前价格上下预设突破挂单:


* 价格向上突破,触发多单;

* 价格向下突破,触发空单;

* 行情继续沿原方向运行时,可以顺势增加仓位;

* 行情向持仓不利方向回撤时,也可能按固定间距继续建立同方向仓位;

* 单侧持仓达到一定数量后,可以建立反方向仓位,形成双向持仓;

* 多单和空单分别计算加权平均价,分别管理和退出。


因此,它本质上不是单纯趋势EA,也不是单纯逆势网格,而是一套:


> **突破入场、顺逆双向扩仓、分方向管理的混合型对冲系统。**


---


# 三、完整交易流程


## 1. 初始双向挂单


当当前品种、当前魔术号下没有多单和空单时,EA分别计算:


* 多方向:在当前 `Ask` 上方放置 `BUYSTOP`;

* 空方向:在当前 `Bid` 下方放置 `SELLSTOP`。


挂单与当前价格之间的距离由 `FirstStep` 控制。


默认设置:


```text

FirstStep = 60

```


该距离会按照品种报价位数自动转换,并受到经纪商最小挂单距离 `STOPLEVEL` 的限制。


由于多空两个挂单模块都会在空仓状态下运行,因此正常情况下,EA会在价格上下同时布置突破挂单。


---


## 2. 挂单跟随机制


初始挂单建立后,如果价格没有触发挂单,而是向相反方向移动,EA会调整挂单位置,使挂单继续保持在当前市场价格附近。


具体表现为:


* 当价格下跌时,未成交的多方向 `BUYSTOP` 可以向下移动;

* 当价格上涨时,未成交的空方向 `SELLSTOP` 可以向上移动;

* 每次调整必须至少达到 `StepTrallOrders` 设置的移动距离。


默认值:


```text

StepTrallOrders = 15

```


该机制的目的不是追逐已经快速远离的价格,而是让突破触发位置随市场重新定位,减少挂单长期停留在过远位置的问题。


---


## 3. 同方向加仓逻辑


一侧已经产生持仓后,EA会根据该方向订单的:


* 最高开仓价;

* 最低开仓价;

* 当前市场价格;

* 最小挂单距离;

* 核心订单间距;


判断是否继续布置同方向突破挂单。


### 顺势增加仓位


以多单为例:


当新的多方向挂单价格高于现有最高多单价格,并至少满足 `Step` 间距时,可以继续向上追加多方向挂单。


该功能由:


```text

OpenTrend = true

```


控制。


关闭 `OpenTrend` 后,会禁止部分顺势方向的追加条件,但不会关闭逆势间距加仓。


### 逆势增加仓位


当价格向持仓不利方向运行,并且新的挂单位置与现有最低价或最高价达到 `Step` 要求时,EA也可以建立新的同方向挂单。


因此,这套策略同时具备:


* 顺势递增;

* 逆势摊平;


两种扩仓方式。


这也是策略能够提高篮子回本能力的原因,同时也是其主要风险来源。


---


## 4. 手数递增方式


首单使用固定基础手数:


```text

lot

```


后续订单使用以下结构计算:


```text

下一单手数 =

当前已有订单数 × PlusLot

+ lot × K_Lot ^ 当前已有订单数

```


其中:


| 参数          | 作用             |

| ----------- | -------------- |

| `lot`       | 首单基础手数         |

| `K_Lot`     | 指数递增倍数         |

| `PlusLot`   | 每增加一层额外增加的固定手数 |

| `DigitsLot` | 手数保留的小数位数      |

| `MaxLot`    | 单笔订单最大手数       |


默认设置:


```text

lot       = 0.01

K_Lot     = 1.3

PlusLot   = 0

DigitsLot = 2

MaxLot    = 10

```


当计算出的订单手数超过 `MaxLot` 时,单笔订单手数会被限制在 `MaxLot`。


需要明确:


> `MaxLot`限制的是单笔订单手数,并不限制总持仓手数,也不限制最大订单数量。


手数倍数越高,回本速度可能越快,但保证金消耗和极端行情风险也会呈指数上升。


---


## 5. 反向开仓与对冲机制


当某一方向持仓数量达到:


```text

OppositeOrderThreshold

```


EA可以允许建立反方向挂单。


默认值:


```text

AllowOppositeOrders    = true

OppositeOrderThreshold = 4

```


例如:


* 当前已有4笔或更多多单;

* 没有空方向挂单;

* 空方向没有触发浮亏暂停条件;


EA可以重新建立空方向 `SELLSTOP`。


反方向订单成交后,账户可能同时持有多单和空单,进入对冲或锁仓状态。


### 必须说明的实际行为


初始空仓时,EA本身就可能同时建立多空两个挂单。第一侧成交以后,另一侧挂单并不会因为第一侧成交而必然删除。


因此,从当前代码执行流程看:


> 反方向仓位有可能在达到设定门槛之前,由初始保留的另一侧挂单触发。


`OppositeOrderThreshold`主要控制的是:当反方向挂单不存在时,达到多少笔持仓后允许重新补充反方向挂单,而不是绝对禁止门槛之前出现反向持仓。


---


# 四、止盈机制


## 1. 多空分方向管理


EA不会把全部多单和空单合并成一个总篮子退出,而是分别管理:


* 多单篮子;

* 空单篮子。


每个方向分别计算:


```text

加权平均价 =

所有订单开仓价 × 对应手数之和

÷ 该方向总手数

```


多单达到多单目标后,只平多方向订单;


空单达到空单目标后,只平空方向订单。


对应方向平仓时,还会删除该方向尚未成交的挂单。


---


## 2. 均价目标退出


多单目标价:


```text

多单加权均价 + 目标价格距离

```


空单目标价:


```text

空单加权均价 - 目标价格距离

```


目标距离使用:


```text

AvgProfit / TickValue

```


计算。


当市场价格到达相应目标后,EA关闭该方向全部市价单,并删除该方向挂单。


### 重要参数解释


`AvgProfit = 1.0`不能简单理解为:


> “整个篮子盈利1美元就平仓。”


它实际是通过经纪商提供的 `TickValue` 折算成价格距离,没有结合该方向总手数和 `TickSize`进行完整的固定金额反算。


因此,不同品种、不同合约、不同经纪商下,相同的 `AvgProfit`可能产生不同的实际账户盈利结果。


更准确的叫法应当是:


> **均价目标距离参数。**


---


# 五、移动止损机制


EA支持三种移动止损模式:


| `TrailingStop` | 模式        |

| -------------: | --------- |

|            `0` | 关闭移动止损    |

|            `1` | 根据K线高低点移动 |

|            `2` | 根据分形位置移动  |

|           `>2` | 使用固定平台点距离 |


移动止损还受到以下条件限制:


* 止损位置必须越过该方向的篮子平均价;

* 至少达到 `MinProfit` 设置的盈利距离;

* 新止损必须比旧止损推进 `TrailingStep`;

* 必须符合经纪商的最小止损距离;

* `delta`可以在K线或分形位置基础上增加偏移。


移动止损最终写入每一笔市价订单的服务器止损位置,而不是只在图表上虚拟显示。


当:


```text

TF_Tralling = 0

```


移动止损使用当前图表周期。


因此,虽然开仓逻辑基本不依赖挂载周期,但使用K线或分形移动止损时,改变图表周期会改变止损行为。实盘运行期间不应随意切换周期。


---


# 六、浮亏限制机制


`MaxLoss`用于限制单侧继续加仓。


例如:


```text

MaxLoss = 1000

```


当多方向浮动盈亏,包括手续费和库存费,达到 `-1000`或更低时:


* 暂停多方向继续增加仓位;

* 图表显示多方向亏损达到限制;

* 已有多单不会因此自动平仓;

* 已有亏损不会被锁定;

* 不会触发账户级强制止损。


空方向采用相同逻辑。


这意味着:


> `MaxLoss`是“停止继续加仓线”,不是“最大亏损止损线”。


---


## 固定止损参数说明


当前版本虽然显示:


```text

StopLoss

```


但该参数属于预留参数,尚未接入实际固定止损或篮子强平逻辑。源码参数注释也明确标注其当前未接入执行链。


因此,不能把它当成真正有效的最大风险保护。


---


# 七、时间过滤与冷却机制


## 时间过滤


启用:


```text

sj = true

```


后,EA只允许在服务器时间满足以下条件时建立新挂单:


```text

Hour() > star

并且

Hour() < end

```


默认:


```text

star = 1

end  = 20

```


由于使用严格的大于和小于判断,实际允许的整数服务器小时为:


```text

02:00至19:59

```


不是完整的01:00至20:59。


---


## 全平冷却


当EA检测到市价持仓从有单变为空仓时,会启动:


```text

PauseMinutes

```


设置的冷却时间。


冷却期间EA暂停新的交易管理循环,冷却结束后重新允许开仓。相关状态会显示在面板中。


需要注意:冷却逻辑本身不会主动删除之前遗留的服务器挂单。已有服务器挂单仍有可能被市场触发。


---


# 八、报价和执行适配


EA可以根据品种报价位数自动转换:


* `FirstStep`

* `MinDistance`

* `Step`

* 第二档距离参数


同时会读取经纪商:


```text

MODE_STOPLEVEL

```


避免挂单距离低于平台允许的最小值。


滑点参数:


```text

SlippagePoints = -1

```


表示自动设置:


* 三位或五位报价:30个平台点;

* 二位或四位报价:0个平台点。


也可以手动输入固定允许滑点。


当前版本没有独立的最大点差过滤参数,面板虽然显示实时点差,但不会因为点差过高自动禁止开仓。


---


# 九、控制面板功能


面板实时显示:


* 账户余额;

* 当前净值;

* 可用保证金;

* 实时点差;

* 多单数量和总手数;

* 空单数量和总手数;

* 多空加权平均价;

* 多方向浮动盈亏;

* 空方向浮动盈亏;

* 当前总盈亏;

* 当前运行状态;

* 首单手数、首单距离和递增倍数。


面板提供以下人工控制按钮:


| 按钮  | 功能                 |

| --- | ------------------ |

| 做多  | 按首单手数直接建立市价多单      |

| 做空  | 按首单手数直接建立市价空单      |

| 平盈利 | 平掉当前所有盈利市价单        |

| 平亏损 | 平掉当前所有亏损市价单        |

| 平多  | 平掉全部多单             |

| 平空  | 平掉全部空单             |

| 全平  | 平掉全部多空市价单,并删除本EA挂单 |


面板支持拖动、展开和最小化。最小化后只保留“匯鹰.对冲 +”短条。


“平盈利”“平亏损”“平多”和“平空”主要处理市价持仓;需要连同挂单一起清除时,应使用“全平”。


---


# 十、挂载与使用要求


## 运行平台


```text

MetaTrader 4

```


## 适用品种


代码具备报价位数自适应能力,技术上可以加载到:


* 黄金;

* 白银;

* 外汇;

* 原油;

* 股指;

* 其他MT4差价合约品种。


但参数不能跨品种直接照搬。


黄金的1点、外汇的1点以及股指的1点,对应的价格距离、波动率、点值和保证金完全不同。


## 挂载周期


开仓逻辑主要基于实时价格、挂单位置和已有订单,不依赖图表指标信号,因此没有唯一固定开仓周期。


但是:


* `TrailingStop=1`或`2`;

* `TF_Tralling=0`;


时,当前图表周期会直接影响移动止损。


实盘应固定一个周期运行,不要运行中随意切换。


## 魔术号


同一品种运行多套EA或多组参数时,必须使用不同的:


```text

Magic

```


否则不同图表上的订单可能被合并管理、平仓或修改。


---


# 十一、策略优势


1. **无需预测方向**

   通过价格上下突破挂单等待市场选择方向。


2. **多空独立管理**

   多方向和空方向分别计算均价、盈亏和退出目标。


3. **兼顾趋势与回撤**

   同方向仓位既可以顺势增加,也可以在回撤中按间距增加。


4. **挂单自动跟随**

   未成交挂单能够随市场重新定位,避免长期远离现价。


5. **支持对冲状态**

   可以同时持有多空仓位,在反复行情中分别寻找退出机会。


6. **人工接管方便**

   面板可以快速平盈利单、亏损单、单侧仓位或全部仓位。


7. **报价位数适配**

   能够适配不同报价精度及经纪商最小挂单距离。


---


# 十二、主要风险


## 1. 递增仓位风险


该策略采用指数递增手数。


当行情持续单边运行,或多次反复触发挂单时,订单数量、总手数和保证金需求可能迅速增加。


---


## 2. 没有有效的固定总止损


当前版本:


* 新订单初始止损为0;

* `StopLoss`没有接入执行;

* `MaxLoss`只停止加仓;

* 没有账户净值止损;

* 没有总浮亏强平;

* 没有最大总订单数量;

* 没有最大总持仓手数。


因此,该策略不能定义为低风险系统。


---


## 3. 对冲不等于风险消失


同时持有多空仓位只能暂时降低净方向敞口。


它不能消除:


* 已经产生的浮亏;

* 双边点差;

* 双边手续费;

* 库存费;

* 保证金占用;

* 后续解锁难度。


错误的对冲可能把浮亏固定下来,并持续消耗账户资金。


---


## 4. 依赖终端持续在线


均价止盈和浮亏暂停属于EA本地逻辑,不是所有订单都提前设置服务器止盈。


当出现以下情况时,EA可能无法及时执行:


* MT4关闭;

* VPS断线;

* 网络延迟;

* 经纪商服务器无响应;

* 自动交易被关闭;

* EA被移除。


实盘必须使用稳定VPS,并持续检查EA运行状态。


---


## 5. 点差和滑点风险


当前版本没有最大点差拦截。


在以下时间段,成交成本和滑点可能明显扩大:


* 重大数据公布;

* 市场开盘和收盘;

* 流动性不足时段;

* 周末前后;

* 经纪商报价异常时。


---


# 十三、实际使用原则


* 首单手数必须根据账户资金和品种保证金设定;

* 不要因为历史回测盈利就提高 `K_Lot`;

* `MaxLot`应设置为账户真实能够承受的单笔上限;

* 小资金账户不应使用过高倍数;

* 使用前必须进行长周期回测、模拟盘和小资金实盘测试;

* 回测必须加入真实点差、手续费、库存费和滑点;

* 同一品种多开时必须使用不同魔术号;

* 实盘期间保持MT4、VPS和自动交易持续开启;

* 重大数据和流动性异常时段应谨慎运行;

* 必须持续监控总手数、保证金比例和单侧订单数量。


---


# 十四、策略总结


**匯鹰·对冲 EA v1.00** 的核心不是精准预测行情,而是通过双向突破挂单捕捉波动,通过递增仓位调整持仓均价,通过反向仓位应对行情反复,再以多空分方向均价目标完成退出。


它的优势是交易逻辑直接、自动化程度高、适应多种价格运动方式;它的弱点也非常明确:**递增仓位、缺少固定总止损、对资金规模和行情极端程度高度敏感。**


因此,这套EA更准确的定位应当是:


> **一套具有高资金利用率和高风险特征的双向突破递增对冲系统,而不是低风险、保本或保证盈利的交易工具。**
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-8-25 21:33 , Processed in 0.113005 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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