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

【MultiLockEA(多策略锁仓加仓EA)源码分享,】需要的朋友自行下载

[复制链接]

6213

主题

54

回帖

4871

积分

管理员

积分
4871
发表于 6 天前 | 显示全部楼层 |阅读模式
这是一个基于特定交易策略设计的自动化交易EA。它通过多空双开建立初始仓位,随后根据市场波动动态管理订单:

亏损单达到设定点数时止损;

浮盈单达到设定点数时锁仓(开反向单);

锁仓后若行情继续朝有利方向运行,则逆势翻倍加仓;

监控所有持仓的总浮盈,当从峰值回撤一定百分比时全部平仓离场;

加仓订单自身浮盈达到点数也会触发锁仓,并可能引发新一轮加仓。

此外,EA提供了五个手动按钮,方便用户随时平仓或手动加仓。

部分源码截图:




1. 初始开仓

EA启动时,若无任何持仓(根据订单注释判断),则立即同时开立一笔多单和一笔空单,手数由参数 InitialLot 决定。

多单和空单的魔法号不同(MagicBase 和 MagicBase+1),注释分别标记为 _INIT_BUY 和 _INIT_SELL。

2. 亏损单止损

对每一笔持仓(包括初始单和后续加仓单),实时监控其浮动盈亏点数。

若亏损点数 ≥ LossStopPoints,则立即平仓该订单。

该机制用于限制单笔订单的最大亏损。

3. 浮盈单锁仓

当某一持仓的浮盈点数 ≥ ProfitLockPoints 时,EA会检查是否存在针对该订单的反向锁仓单(通过注释识别,锁仓单注释为 _LOCK)。

若无锁仓单,则立即开立反向订单,手数与当前浮盈单相同,实现锁仓。

锁仓成功后,EA会记录锁仓时的价格(LastLockPriceBuy 或 LastLockPriceSell),用于后续加仓判断。

4. 锁仓后行情有利运行触发逆势加仓

锁仓后,若价格继续向对原订单有利的方向运行超过 AddTriggerPoints 点数,则触发逆势加仓。

例如:原多单锁仓后价格上涨(对多单有利),则加仓空单;原空单锁仓后价格下跌,则加仓多单。

加仓手数计算规则:




首次加仓:InitialLot * AddMultiplyFactor

后续加仓:上一笔加仓手数 × AddMultiplyFactor

加仓层数上限由 MaxLevel 控制,防止无限加仓。

加仓订单的注释包含 _ADD_ 和层级信息(如 _ADD_SELL_L1)。

5. 总浮盈峰值回撤离场

EA持续计算所有持仓的总浮动盈亏(含库存费、佣金)。

记录历史最高总浮盈值(PeakEquity)。

当当前总浮盈从峰值回撤的幅度 ≥ PeakDrawdownPercent 时,立即平仓所有订单,并重置相关变量。

该机制用于保护已获得的利润,防止大幅回吐。

6. 加仓订单自身浮盈锁仓

对于每一笔加仓订单(注释包含 _ADD_),当其自身浮盈点数 ≥ AddOrderLockPoints 时,EA会为该订单单独开立反向锁仓单(手数相同)。

锁仓单注释为原加仓订单注释后加 _LOCK。

锁仓后同样记录锁仓价格,可能触发下一轮加仓循环。

手动按钮功能

在图表左上角显示五个按钮,点击即可执行对应操作:

多空全平:平掉所有本EA的持仓(多单和空单)。

平多单:仅平掉所有多单。

平空单:仅平掉所有空单。

手动加多:按当前加仓层级的下一个手数开一笔多单(手数计算方式同自动加仓)。

手动加空:按当前加仓层级的下一个手数开一笔空单。

手动加仓也会增加 CurrentLevel 计数,影响后续自动加仓手数计算。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-8-25 03:49 , Processed in 0.099860 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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