用于测试“内包K线延续假说”的专家顾问。
策略逻辑:该EA搜索由主K线 和信号K线 组成的经典“内部K线”形态。
- 主K线——包含该形态的较大K线。
- 信号K线——完全位于主K线价格区间内的“内部K线”。
信号K线必须完全位于主K线波动范围之内。如果主K线收盘为多头,则在主K线高点上方下达买入止损单;如果主K线收盘为空头,则在主K线低点下方下达卖出止损单。
止损位按主K线波动范围的一定比例计算。
止盈位根据预设的风险回报比计算得出。
可选的ATR过滤器可确保主K线显著大于近期市场波动率。
该EA作为研究工具开发,旨在测试“内部K线”形态在不同市场和时间周期中的统计行为。
参数
- Lot Type- 仓位大小计算方法。
Fixed Lot— 固定交易量。
% Risk from Start Balance— 根据预定义的风险百分比计算出的仓位大小。 - 手数- 选择“固定手数”模式时使用的固定手数。
- 每笔交易风险(%)——每笔交易的风险百分比。仅在启用基于风险的仓位规模计算时使用。
ATR 过滤器
- ATR 过滤器(主K线大小)——启用或禁用 ATR 过滤器。
- ATR 周期——ATR 计算周期。
- 最小主K线大小(x ATR)——以ATR倍数表示的最小主K线大小。
Example:
ATR = 100 点
最小主K线大小(x ATR)= 1.5
主K线范围必须至少为150点,该设置才被视为有效。
内部K线过滤器
- 主K线实体最小值(占范围的百分比)——以主K线范围的百分比表示的主K线实体最小值。
- 最大内部K线大小(占主K线范围的百分比)——最大信号K线大小,以主K线范围的百分比表示。
示例:
主K线波动范围 = 100点
最大内部K线大小(占主K线比例)= 50
信号K线的波动范围不得超过50点。
仓位设置
- 止损(主K线区间的x倍)——止损距离,以主K线区间的分数形式表示。
示例:
主K线波动范围 = 100点
止损(×主K线波动范围)= 0.62
止损位将设置在距入场价62点处。
- 止盈(风险/回报)——用于计算止盈的风险/回报比率(0 表示禁用止盈)。
示例:
止损 = 50点
止盈(风险/回报)= 2.5
止盈将设置在距入场价125点处。
订单管理
- N根K线后取消挂单- 未成交的挂单在经过指定数量的K线后将自动取消。
重要说明
- EA 会分析当前选定的图表时间周期。
- 只有当出现新K线时,才会进行形态检测。
- 信号K线必须完全位于主K线的范围内。
- 主K线的方向决定了交易方向。
- 买入止损单设置在主K线高点上方。
- 卖出止损单下在主K线低点下方。
- 每个交易品种一次只能持有一个头寸。
- 每个交易品种同一时间只能存在一个挂单。
- 在“N根K线后取消挂单”中指定的K线数量过后,挂单将自动取消。
- 使用“初始余额风险百分比” 时,风险计算基于EA启动时记录的账户余额。
风险计算
使用“初始余额风险百分比” 时,头寸大小是根据 EA 启动时记录的账户余额计算的,而不是根据当前账户余额计算的。
这种行为是故意的,旨在使策略测试更加一致。在整个测试过程中,风险保持恒定,不会随着账户余额的增加或减少而变化。
如果您更喜欢基于当前余额或净值的传统方法,可以在 CalcLot() 函数中修改仓位大小计算逻辑。
回测结果
该策略已在欧元/美元(EURUSD)、黄金/美元(XAUUSD)和标普500指数(SP500) 上,针对H1和M15时间周期 进行了测试。
本专家顾问的目的是研究而非优化。源代码已公开发布,以便用户在其他市场和数据集上对假设进行独立验证、修改和测试。
EURUSD M15 回测
完整研究报告、权益曲线及测试结果:https://www.mql5.com/en/blogs/post/771362
源代码是开源的——欢迎自由修改、在其他交易品种上测试,并在此基础上进行拓展。
本EA旨在验证交易假设,切勿在未进行进一步研究和验证的情况下用于实盘交易。
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/73884
Multi Forex Scanner MT5
您无需逐一对每组进行分析,只需一眼就能根据自己的标准,看出哪些组合最具潜力。
Geometric signal validation for indicator signals
一个用于对指示信号进行几何信号验证的状态机
