Control_Trade_Sessions - 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
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
