在交易中,我们常常会使用移动平均线指标的数据。当价格偏离移动平均线一定的点数时,系统会在移动平均线的方向上开单。
这款专家顾问(EA)虽然能带来一些利润,但相对较小,并且需要较大的资金投入。
这个EA的构思是我提出的,而代码则由Sergey Diubakin编写。

图中的实线红色线表示移动平均线的值,而虚线红色线则是通道的边界(Range),该边界是根据指标值计算得出的,系统将在其交叉处开单。
在通道的下边界时,EA会开一个买单;在通道的上边界时,则会开一个卖单。
为了让EA在触碰到通道边界的蜡烛图上开买或卖单,前一根蜡烛图(即“第一根”蜡烛图,在“零”蜡烛图之前)必须满足以下条件:第一根蜡烛图的最高价必须低于通道上边界,才能开卖单;第一根蜡烛图的最低价必须高于通道下边界,才能开买单。
此外,该EA还附带了几个插件模块:转向(Turn)、下跌(Step Down)和交易时间(Trade Time)。
- 转向模块 — 在主单的止损水平处以相反方向下限价单。我认为这个模块在价格一旦到达通道边界后继续偏离移动平均线时会很有用。
- 下跌模块 — 在主单方向上再下一个单。这个模块在另一个专家顾问中使用过。
- 交易时间模块 — 设置EA的交易时间区间(不适用于下跌模块的订单)。
专家顾问设置:
移动平均线
- 周期 – 移动平均线指标菜单中的参数。
- 偏移 – 移动平均线指标菜单中的参数。
- MA方法 – 移动平均线指标菜单中的参数。
- 应用于 – 移动平均线指标菜单中的参数。
- 通道范围 – 从此时的移动平均线值向上和向下测量的距离。当价格达到通道范围时,EA可以开第一个主单。
初始手数
- LotConst_or_not – 允许用户选择是否以相同手数开始交易,或者根据存款变化重新计算初始手数:
true – 第一个手数将固定,并等于下面指定的手数值。
false – 第一个手数将随存款变化而动态变化,并取决于风险百分比(RiskPercent)和存款金额。
Lots = AccountBalance() * (RiskPercent / 100.0) / 10000.0 - 手数 – 设置初始交易手数。
- 风险百分比 – 根据存款设置初始交易手数。
- LotConst_or_not – 允许用户选择是否以相同手数开始交易,或者根据存款变化重新计算初始手数:
止盈 – 订单的盈利水平(以EA附加的图表的点数为单位)。
止损 – 订单的亏损水平(以EA附加的图表的点数为单位)。
移动止损 – 自动移动的止损水平。
- true – 模块被激活(启用);
- false – 模块被禁用(停用)。
转向模块
- true – 模块被激活(启用);
- false – 模块被禁用(停用)。
- 转向 – 反向限价单下单的距离。
- 手数倍增器 – 手数增加比例。
- 转向止盈 – 使用此模块开单的订单的盈利水平(以EA附加的图表的点数为单位)。
下跌模块
- true – 模块被激活(启用);
- false – 模块被禁用(停用)。
- 下跌 – 开单订单网格中相邻订单之间的距离(间隔),反向“趋势”。
交易时间模块
- true – 模块被激活(启用);
- false – 模块被禁用(停用)。
- 开盘交易 – EA可以在此信号之后开第一个主单的时间。
- 关闭交易 – EA无法在此时间之后开第一个主单。
魔术数字(Magic Number) – EA的程序代码,使其能够区分自己的订单与其他订单。
Logo和数据输出 – 此模块允许启用/禁用表格(今日收益、昨日收益等):
- true – 模块被激活(启用);
- false – 模块被禁用(停用)。
时间框架 – 程序代码,允许指定EA用于交易的图表时间框架。
- 当前 – 在终端中指定的时间框架。
- M1, M5, M15, M30, H1, H4, D1, W1, MN1 – 固定时间框架。