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

cheduecoglioni - MetaTrader 5 专家

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

这个想法的作者EF91 (相关讨论开始

MQL5 代码作者: 弗拉基米尔·卡尔普托夫

EA 等待 TP 或 SL 触发,然后在相反方向建仓。它在发送交易请求之前检查是否有足够的资金。 OnTrade 交易。

例如,我们有一个未平仓的买入仓位。一旦触发止盈或止损,就会建立新的卖出仓位。然后,在触发 TP 或 SL 后,开设新的买入仓位。

交易结束在“网上交易”:

//+------------------------------------------------------------------+
//| TradeTransaction 函数                                       |
//+------------------------------------------------------------------+
空白 网上交易常量 MqlTrade事务&反式,
                        常量 Mql交易请求&要求,
                        常量 Mql交易结果&结果)
  {//--- 获取交易类型作为枚举值  ENUM_TRADE_TRANSACTION_TYPE类型=反式.类型;//--- 如果交易是添加历史交易的结果  如果(类型==TRADE_TRANSACTION_DEAL_ADD)
     {
      长的     deal_entry        =0;
      长的     deal_type         =0;
      细绳   deal_symbol       =””;
      长的     deal_magic        =0;
      长的     deal_time         =0;
      如果历史交易选择(交易))
        {
         交易条目=历史交易获取整数(跨交易,DEAL_ENTRY);
         交易类型=历史交易获取整数(跨交易,交易类型);
         交易符号=历史交易获取字符串(跨交易,DEAL_SYMBOL);
         交易魔法=历史交易获取整数(跨交易,DEAL_MAGIC);
         交易时间=历史交易获取整数(跨交易,DEAL_TIME);
        }
      别的        返回;      如果(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
        {
        如果(交易条目==DEAL_ENTRY_OUT)
           {
            如果(交易类型==DEAL_TYPE_BUY||交易类型==交易类型_卖出)
              {
              如果(交易类型==DEAL_TYPE_BUY)
                  m_close_pos_type=POSITION_TYPE_SELL;
              别的 如果(交易类型==交易类型_卖出)
                  m_close_pos_type=POSITION_TYPE_BUY;              别的                  返回;
               m_is_trade=真的;
              }
           }
        别的 如果(交易条目==DEAL_ENTRY_IN)
           {
            m_is_trade=错误的;
           }
        }
     }
  }

    发送订单前检查交易量 (以建立买入仓位为例):


    附件下载

    📎 cheduecoglioni.mq5 (8.99 KB)

    Source: MQL5 #18294

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