首页 系统交易 帖子

Straddle&Trail - MetaTrader 4 的交易专家

附件
8366.zip (7.49 KB, 下载 2次)

大家好,今天来给大家介绍一个非常实用的交易专家顾问——Straddle&Trail。

输入参数:

extern bool    ShutDown.NOW=False;                 // 如果为真,所有头寸(已开及待处理)将被关闭/删除
                                                   // 基于下面的 "ShutDown.What" 标志
                                                   // 该参数在列表中位于第一位,以便用户可以尽快访问
extern string  sStr00=" 0=全部               "
extern string  sStr01=" 1=所有 触发的 头寸  "
extern string  sStr02=" 2=触发的 多单           "
extern string  sStr03=" 3=触发的 空单          "
extern string  sStr04=" 4=所有 待处理 头寸    "
extern string  sStr05=" 5=待处理 多单            "
extern string  sStr06=" 6=待处理 空单            "
extern int     ShutDown.What=0;
extern bool    ShutDown.Current.Pair.Only=True;    // 如果为真,当前货币对的所有交易将被关闭
                                                   // 如果为假,所有货币对的所有交易将被关闭。
extern string  sStr1="=== 头寸 详情 ===";
extern double  Lots=1;
extern int     Slippage=10;
extern int     Distance.From.Price=30;             // 多单和空单的初始价格距离。
extern int     StopLoss.Pips=30;                   // 初始止损。
extern int     TakeProfit.Pips=60;                 // 初始获利。
extern int     Trail.Pips=15;                      // 跟踪止损。
extern bool    Trail.Starts.After.BreakEven=true;  // 如果为真,跟踪将在达到 "Move.To.BreakEven.at.pips" 的利润后开始
extern int     Move.To.BreakEven.Lock.pips=1;      // 达到利润后锁定的点数
                                                   // 按照 "Move.To.BreakEven.at.pips" 指定的点数进行调整
                                                   // 如果 Trail.Starts.After.BreakEven=False,则不使用。
extern int     Move.To.BreakEven.at.pips=5;        // 盈利头寸将根据 "Move.To.BreakEven.at.pips" 移动到入场价 + Move.To.BreakEven.Lock.pips
                                                   // 即多单的入场价为 @ 1.2100 时,价格达到 1.2110(入场价 + "Move.To.BreakEven.at.pips")时,EA 将锁定 1 点
                                                   // 在 1.2101(入场价 + "Move.To.BreakEven.Lock.pips=1")时。
extern string  sStr2="=== 新闻 事件 ===";
extern int     Event.Start.Hour=12;                // 事件开始时间 = 小时,使用经纪商的时间。
extern int     Event.Start.Minutes=30;             // 事件开始时间 = 分钟,使用经纪商的时间。
                                                   // 如果你想禁用 "新闻" 功能(即 straddle),请将两个参数都设置为 0。
extern int     Pre.Event.Entry.Minutes=30;         // 事件开始前多少分钟,EA 将下 straddle。
                                                   // 设置为 0 时,EA 将在激活时立即下 straddle。
                                                   // 否则,xx 分钟将在上述事件开始时间之前。
extern int     Stop.Adjusting.Min.Before.Event=2;  // 事件开始前多少分钟,EA 将停止调整
                                                   // 待处理订单。最小值为 1 分钟。
extern bool    Remove.Opposite.Order=True;         // 如果为真,一旦两个待处理订单中的第一个被触发,
                                                   // 另一个待处理订单将被移除,否则将保持不变。
extern bool    Adjust.Pending.Orders=True;         // 如果为真,一旦待处理订单在事件时间前 "Pre.Event.Start.Minutes" 分钟处被下,
                                                   // EA 将尽量调整订单,直到事件发生前 "Stop.Adjusting.Min.Before.Event" 分钟。
extern bool    Place.Straddle.Immediately=False;   // 如果为真,straddle 将在专家被激活时立即下单。
                                                   // 这将覆盖之前的 '新闻事件' 设置。
                                                   // 在这种情况下,头寸将不会被调整。
                                                   // 这可以用于“安静”区间突破,例如如果我们
                                                   // 想要在亚洲时段进行“常规”突破交易
                                                   // 或者在市场处于区间震荡的任何其他时刻。

测试参数:

  • 交易品种:EURUSD。
  • 时间周期:M5。
  • 模型:所有点。

测试图表:


相关帖子

评论 (0)