欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

Control_Trade_Sessions - MetaTrader 5 库

author emer | 473 人阅读 | 0 人评论 |

Control_Trade_Sessions - library for MetaTrader 5

用于交易会话控制的库。启动时,它会计算一周 7 天的交易会话时间(周六和周日可能有加密货币交易),每天最多 10 个会话。然后在 OnTick() 中您可以进行检查,如果报价出现在交易时段之外,您可以退出对其的进一步处理。

使用示例:

//+------------------------------------------------------------------+
//|testControl_Trade_Sessions.mq5 |
//+------------------------------------------------------------------+
// #define LoadSessionFromInputs // 从输入读取会话
#包括// 连接控制交易时段的代码

整数 初始化时()  {  返回初始化成功);  }空白 勾选() {
  静止的TRADE_SESSIONS 交易会话(_象征);// 获取市场开盘/收盘时间并按一周中的几天将它们保存到数组中。启动 Expert Advisor 时调用一次(参见静态)。  如果(!TradeSession.isSessionTrade(时间当前())){打印“市场关闭。OnTick 返回”);返回;}
  
  // 你的动作  }

结果是这样的打印输出:

2022.01.10 00:05:00   天: 0 交易时段: 1: 00:00-00:00 - это воскресенье
2022.01.10 00:05:00   天:1 交易时段:1: 00:15-23:55
2022.01.10 00:05:00   天: 2 交易时段: 1: 00:15-23:55
2022.01.10 00:05:00   天: 3 交易时段: 1: 00:15-23:55
2022.01.10 00:05:00   天: 4 交易时段: 1: 00:15-23:55
2022.01.10 00:05:00   天: 5 交易时段: 1: 00:15-23:55
2022.01.10 00:05:00   天: 6 交易时段: 1: 00:00-00:00
2022.05.30 00:05:00   市场休市。 OnTick 返回
2022.05.30 00:05:01   市场休市。 OnTick 返回
...
2022.05.30 00:14:36   市场休市。 OnTick 返回
2022.05.30 00:14:40   市场休市。 OnTick 返回
2022.05.30 23:55:00   市场休市。 OnTick 返回
2022.05.30 23:55:00   市场休市。 OnTick 返回
...
2022.05.30 23:59:30   市场休市。 OnTick 返回
2022.05.31 00:00:01   市场休市。 OnTick 返回
...

如果(时间<.NextTradeStop ) {返回 真的; }
其中 NextTradeStop 是当前交易时段的结束时间。

在交易时段外的每个价格变动时,还会进行 1 次检查:
如果(时间<.NextTradeStart ) {返回 错误的; }
仅在会话之间的转换时,才会访问数组以获取下一个会话的时间。

例如,在我的 DC 上,交易时段为 00:15 至 23:55。在 00:15 之后的第一个价格变动中,NextTradeStop 将设置为 23:55,然后全天仅检查此条件。

您的交易会议

您还可以手动指定交易时段的时间。要激活此选项,请添加行
#定义从输入加载会话// 从输入中读取会话

它将创建 7 个输入,用于按一周中的几天进入交易时段。

输入不带空格的会话时间,严格使用 : - 和 ,

在参数选项卡中看起来像这样:

如果会话结束时间小于开始时间,例如20:00-8:00,则会话将持续到第二天8:00。当交易会话与服务器时间处于不同时区时,这会很有用。

交易时段的时间也可以在代码中指定,无需输入。 LoadFromInputs() 函数就是为此目的而创建的。它可以在没有输入的情况下调用,而是直接从带有字符串数组的代码中调用,如示例中所示。

细绳s=[“00:15-17:45,17:55-23:55”,“00:00-24:00”,....]空白从输入加载(细绳&s[]){...}


如果 Expert Advisor 是多货币的,并且不同的工具有不同的交易会话时间,您可以为每个工具创建一个单独的 TRADE_SESSIONS 实例,并使用会话数据调用 LoadFromInputs() 并检查 isSessionTrade()。为此,您必须修改与此示例类似的代码。

概述 Grid Master EA 是一个实现双向网格策略的自动交易系统。它在当前市场价格之上和之下放置多个挂单,从两个方向的市场振荡中获取利润。

创建此筛选器是为了简化查找​​以折扣价格交易的资产的过程。由于所有选定仪器的数据加载过程,初始使用可能需要稍长的时间。该工具可以扫描所有可用的经纪商资产或仅限于特定的资产类别。

最简单的 EA 交易,可分析给定数量的柱上的价格变动并开立相应的仓位。

EA 交易根据其输入参数中指定的时间处理挂单 Buy Stop 和 Sell Stop。


附件下载

📎 testcontrol_trade_sessions.mq5 (1.46 KB)

📎 Control_Trade_Sessions.mqh (13.48 KB)

Source: MQL5 #48059

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录