天泽666 发表于 2019-5-23 21:34:08

MQ5源码-基于通道的趋势策略ChannelEA2

EA 在 ChannelInd 指标绘制的通道中工作。该指标本身不是 EA 操作所必需的,因为其数据是在 EA 内部计算的。EA 遵照时间基准交易: 在 EA 设置中指定交易时间,EA 在通道边界上放置两笔挂单,并在通道的另一侧设置止损位,且不设置止盈价位。 在交易时间结束时,所有持仓均平仓,未触发的挂单将被删除。请注意,此专家交易系统设计用于培训目的。
专家交易系统有八个可配置的参数:
[*]Begin hour - 交易起始时间;
[*]End hour - 交易结束时间;
[*]Experts magic number - EA 仓位的独有标识符;
[*]Lots - 开仓时的交易量;
[*]Slippage of price - 开仓时允许的最大滑点;
[*]Multiplier spread for stops - 点差乘数,用于计算停止订单的合适距离 (*)。
[*]Waiting for environment update (in seconds) - 等待更新交易环境的以秒为单位时间 (**);
[*]Number of attempts to get the state of the environment - 尝试获取交易环境准确信息的次数 (***)。
* 对于挂单 (以及止损或止盈),放置停止单的最小允许距离是 StopLevel。 即,挂单 (以及止损或止盈) 不能放置在比上述距离更靠近现价的地方。 但是,如果 StopLevel为零,它只是说明 StopLevel 处于浮动状态,而并非不存在。 在这种情况下,最小距离通常是 spread*2 的值,但有时甚至是双倍点差也是不够的。 这就是为什么我们为 EA 引入自定义点差乘数来计算挂单的最小距离。
** 当交易指令订单发送到服务器时,偶尔执行的延迟可能会导致错误地计算市价仓位的数量。 如果检测到这种 "未定义" 状态,则智能交易系统将等待指定的秒数,然后再次读取环境。
*** EA 参数中设置这种逐笔报价间等待时间的数量。 尝试获取有关环境准确信息的努力之后,智能交易系统退出处理并等待下一次逐笔报价。 如果此时更新交易环境失败,则 EA 将在这新的逐笔报价来临时重复尝试。
为了检验策略,在 2017.01.02 至 2018.03.29 的时间段内,使用 EURUSD H1 在 1 分钟 OHLC 模式下测试默认设置。https://c.mql5.com/18/67/ChannelEA2_eurusd_graph_def.pnghttps://c.mql5.com/18/67/ChannelEA2_eurusd_res_def.png然后在 1 分钟的 OHLC 模式下针对 EURUSD H1 优化交易开始/结束参数 (Begin hour 和 End hour):使用以下设置获得最佳结果:
[*]Begin hour = 8;
[*]End hour = 10.
https://c.mql5.com/18/67/ChannelEA2_eurusd_graph.pnghttps://c.mql5.com/18/67/ChannelEA2_eurusd_res.png

大美女 发表于 2020-6-29 16:22:20

前排支持下

cinalex 发表于 2020-7-11 15:08:30

学习了,不错

淡定 发表于 2020-7-15 21:58:16

学习了,不错

金凝钰银 发表于 2020-8-31 17:05:11

学习了,不错

孙悟空 发表于 2024-4-28 16:26:20

顶下

张张张 发表于 2024-7-18 23:12:39

{:1_180:}
页: [1]
查看完整版本: MQ5源码-基于通道的趋势策略ChannelEA2