设为首页 收藏本站 切换语言
| 发表于 2025-7-1 10:07:10 | 显示全部楼层 |复制链接
© 本贴为 mogo123 首发,严禁抄袭!
# EA交易策略文档
## 1. 总体功能和设计思路
### 1.1 核心交易逻辑
- 利用1小时周期的EMA均线判断趋势方向(上涨或下跌)
- 使用ATR(平均真实波幅)计算挂单的合理价格范围(根据当前波动率动态调整挂单距离)
- 在符合趋势方向且无同类型订单时,挂买入止损单(Buy Stop)或卖出止损单(Sell Stop
### 1.2 订单管理功能
- **挂单管理**:超时且价格偏移较大时自动修改挂单价格
- **仓位管理**:支持跟踪止损,动态调整止损价位锁定利润
### 1.3 风险管理
- 支持自动手数计算,根据账户余额和风险偏好自动调整手数
- 挂单和止损点数均可配置
- 时间过滤,限定EA交易时间
## 2. 主要输入参数
### 2.1 基本参数
| 参数名 | 类型 | 说明 |
|--------|------|------|
| magicNumber | int | 订单标识,确保只操作本EA下的订单 |
| FixedLot | double | 固定手数(当不开自动手数时) |
### 2.2 自动手数设置
| 参数名 | 类型 | 说明 |
|--------|------|------|
| UseAutoLot | bool | 是否启用自动手数计算 |
| LotMode | enum | 手数模式:激进、适中、保守三档 |
### 2.3 止损止盈设置
| 参数名 | 类型 | 说明 |
|--------|------|------|
| SL_Points | int | 止损点数 |
| TP_Points | int | 止盈点数 |
| Trigger_Step | int | 挂单价格与当前价的间距(点数) |
### 2.4 时间控制
| 参数名 | 类型 | 说明 |
|--------|------|------|
| StartHour | int | 交易开始时间(小时制) |
| EndHour | int | 交易结束时间(小时制) |
### 2.5 技术指标参数
| 参数名 | 类型 | 说明 |
|--------|------|------|
| MAPeriod | int | EMA均线周期 |
| ATR_Period | int | ATR计算周期 |
| ATR_Multiplier | double | ATR乘数因子 |
### 2.6 高级设置
| 参数名 | 类型 | 说明 |
|--------|------|------|
| UseTrailingStop | bool | 是否启用跟踪止损 |
| TSL_StepPoints | int | 跟踪止损移动步长 |
| MaxPendingPriceMovePoints | int | 挂单价格最大偏差点数 |
## 3. 关键函数解析
### 3.1 OnInit()
- 初始化最小手数和手数步长
- 计算DigitsMultiplier处理35位小数的货币对
- 读取当前1小时ATR值(供初始使用)
- 初始化缓存数组lastModifyTime用于控制挂单价格修改频率
### 3.2 OnTick()
1. 时间判断:检查是否在允许交易时间段内
2. 指标计算:
   - 计算最新ATREMA均线
   - 判断趋势方向(上涨或下跌)
3. 价格计算:根据ATRATR_Multiplier计算买卖挂单触发价格
4. 订单管理:
   - 调用ManageExistingOrders管理当前所有订单
   - 调用TryPlacePending尝试挂新单
### 3.3 ManageExistingOrders()
- **持仓单处理**:应用跟踪止损(如果启用)
- **挂单处理**
  - 检查挂单时间是否超过5分钟
  - 检查价格偏差是否超过阈值
  - 检查距离上次修改是否超过10分钟
  - 满足条件则修改挂单价格
### 3.4 TryPlacePending()
1. 趋势判断:确认当前趋势方向
2. 订单检查:确保无同类型挂单或持仓单
3. 挂单执行:
   - 计算触发价格
   - 设置止损止盈(基于SL_PointsTP_Points
   - 通过NormalizeLot()计算手数
   - 执行挂单操作
### 3.5 NormalizeLot()
- **自动手数模式**
  - 根据账户余额和风险模式计算手数
  - 计算公式:账户余额/(基数*1000),基数为102030
- **固定手数模式**:使用FixedLot
- 确保手数符合平台最小手数和步长要求
### 3.6 ApplyTrailingStop()
- **买单处理**
  - 新止损价 = 当前Bid价格 - TSL_StepPoints
  - 仅当价格上涨且新止损价高于旧止损价时修改
- **卖单处理**
  - 新止损价 = 当前Ask价格 + TSL_StepPoints
  - 仅当价格下跌且新止损价低于旧止损价时修改
### 3.7 ModifyPendingOrder()
- 重新计算挂单价格、止损和止盈价格
- 执行订单修改操作
- 输出操作结果日志
### 3.8 CountActiveOrders()
- 统计当前指定类型的订单数量
- 仅计算本EA和当前品种的订单
## 4. 代码特点与优缺点分析
### 4.1 优势特点
- **动态适应性**
  - 使用ATR动态调整挂单距离
  - 自动手数管理适应不同账户规模
- **完善的管理机制**
  - 挂单超时自动修正
  - 跟踪止损保护利润
- **风险控制**
  - 多种风险模式可选
  - 交易时间段限制
### 4.2 潜在改进点
#### 数据结构优化
- 当前lastModifyTime数组可能浪费内存
- 建议改用映射结构或只存储有效挂单时间
#### 功能增强
- 增加挂单修改频率参数化
- 添加订单失败重试机制
- 实现多重趋势确认(增加指标)
- 扩展多周期分析能力
#### 风险控制强化
- 添加显式风控模块:
  - 最大单日亏损限制
  - 账户风险控制
- 完善滑点处理机制
- 验证不同经纪商点值计算方式
## 5. 总结
EA实现了一个基于趋势跟随和ATR波动率调整的自动交易策略,具有以下核心价值:
1. **智能挂单系统**:结合趋势判断和波动率分析,实现动态价格调整
2. **全自动管理**:从挂单到平仓的完整生命周期管理
3. **灵活配置**:支持多种风险偏好和交易时段设置
4. **代码质量**:结构清晰,可读性好,易于二次开发

1

1
22.png

欢迎大家下载测试。如果对源码感兴趣,可以找我

高级趋势挂单 EA — 重构版 .ex4

18.24 KB, 下载次数: 25, 下载积分: 活跃度 -5  [下载]

无限制

评分
  • 1
  • 2
  • 3
  • 4
  • 5
平均分:5    参与人数:3    我的评分:未评 下载时遇到问题?
如果有帮助,就支持一下我呗
举报

评论 使用道具

精彩评论16

峰行天下
DD
| 发表于 2025-7-1 10:12:56 | 显示全部楼层
先收藏,有机会下载
举报

点赞 评论 使用道具

shao
DDD
| 发表于 2025-7-1 11:19:21 来自手机 | 显示全部楼层
实盘啥样
举报

点赞 评论 使用道具

kerrceo
DD
| 发表于 2025-7-1 12:12:52 | 显示全部楼层
最后的活跃点了
举报

点赞 评论 使用道具

kerrceo
DD
| 发表于 2025-7-1 12:28:43 | 显示全部楼层
回测可以,但实盘提示:2025.07.01 12:27:52.890        [EAHub]高级趋势挂单 EA  — 重构版  XAUUSD,M5: 挂买单失败,错误码:4107
作者,用不了啊,修复以下~~~
举报

点赞 评论 使用道具

mogo123
DDD
 楼主 | 发表于 2025-7-1 13:16:46 | 显示全部楼层
kerrceo 发表于 2025-7-1 12:28
回测可以,但实盘提示:2025.07.01 12:27:52.890        [EAHub]高级趋势挂单 EA  — 重构版  XAUUSD,M5: 挂买单失 ...

我看看。。。。
举报

点赞 评论 使用道具

kerrceo
DD
| 发表于 2025-7-1 13:22:47 | 显示全部楼层
mogo123 发表于 2025-7-1 13:16
我看看。。。。

辛苦了,等你好消息
举报

点赞 评论 使用道具

ww1011
D
| 发表于 2025-7-2 06:20:45 | 显示全部楼层
厉害
举报

点赞 评论 使用道具

cxhunzi001
DD
| 发表于 2025-7-2 09:08:14 | 显示全部楼层
挂上了,不开单啊
举报

点赞 评论 使用道具

mogo123
DDD
 楼主 | 发表于 2025-7-2 11:24:25 | 显示全部楼层
不开单的问题已经找到,并且修改,稍后会再次发出
举报

点赞 评论 使用道具

ecso
D
| 发表于 2025-7-2 18:40:31 | 显示全部楼层
有实盘观摩号吗
举报

点赞 评论 使用道具

renguofan
D
| 发表于 2025-7-2 19:45:07 | 显示全部楼层
这款怎么样 效果可以吗
举报

点赞 评论 使用道具

w12343
DD
| 发表于 2025-7-2 23:26:26 | 显示全部楼层
p评委会暴死的挂单间距太小l
举报

点赞 评论 使用道具

macau04
D
| 发表于 2025-7-3 19:55:42 | 显示全部楼层
mogo123 发表于 2025-7-2 11:24
不开单的问题已经找到,并且修改,稍后会再次发出

更新了嗎?
举报

点赞 评论 使用道具

huweizuiai
D
| 发表于 2025-7-4 15:13:32 | 显示全部楼层
有测试的吗?结果咋样
举报

点赞 评论 使用道具

erixx9
CC
| 发表于 2025-7-22 11:50:06 | 显示全部楼层
这是什么
举报

点赞 评论 使用道具

wth642
DD
| 发表于 2025-8-12 15:03:25 | 显示全部楼层
先收藏,有机会下载!
举报

点赞 评论 使用道具

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

简体中文
繁體中文
English(英语)
日本語(日语)
Deutsch(德语)
Русский язык(俄语)
بالعربية(阿拉伯语)
Türkçe(土耳其语)
Português(葡萄牙语)
ภาษาไทย(泰国语)
한어(朝鲜语/韩语)
Français(法语)