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

具有 Prop Firm 辅助功能的突破策略 - MetaTrader 5 专家

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

这是“简单而有效的突破策略”。在这段代码中,我添加了一些用于道具公司挑战的辅助函数。

一般来说,要通过道具公司的挑战,您需要满足三个主要标准:

在此代码中,我添加了两个函数检查“目标利润”和“几乎违反最大每日损失”,以自动退出所有仓位并删除所有挂单。对于“最大损失”,它实际上取决于您的策略和风险管理,因此在此 MQL5 脚本中不会提及。

//+------------------------------------------------------------------+
//|道具公司辅助功能                                       |
//+------------------------------------------------------------------+

// 删除所有挂单并平仓所有仓位
空白全部清除(细绳信息)
{
  评论(信息);
  为了整数我=订单总数()-1;我 >=0;我 - )
   {
      乌龙订单票 =订购获取门票(我);
      如果订单选择(订购票)) 
      {
         交易.OrderDelete(orderTicket);
      }
   }

  为了整数我=持仓总数()-1;我 >=0;我 - )
   {
      乌龙后票 =位置获取门票(我);
      trade.PositionClose(posTicket);
   }
}// 检查是否达到盈利目标
布尔值已通过()
{
  返回 帐户信息双账户资产) > PASS_CRITERIA;
}// 检查我们是否即将违反最大日损失
布尔值isDailyLimit()
{
  Mql日期时间日期时间;
  构建时间时间当前(), 日期_时间);
  整数current_day = date_time.day, current_month = date_time.mon, current_year = date_time.year;
   
  // 当前余额  双倍的当前余额=帐户信息双账户余额);
   
  // 获取今天的平仓交易 PL  历史选择0,时间当前());
  整数订单 =历史交易总计();
   
  双倍的PL=0.0;
  为了整数我 = 订单 -1;我 >=0;我 - )
   {
      乌龙票=历史交易获取门票(我);
      如果(门票==0)
      {
        打印“HistoryDe​​alGetTicket失败,没有交易历史”);
        休息;
      }
      双倍的利润=历史交易获得双倍(票,交易利润);
      如果(利润!=0)
      {
        // 获取交易日期时间        Mql日期时间交易时间;
        构建时间历史交易获取整数(票,DEAL_TIME), 交易时间);
        // 检查交易时间        如果(deal_time.day == current_day && deal_time.mon == current_month && deal_time.year == current_year)
         {
            PL+=利润;
         }
        别的            休息;
      }
   }
  双倍的起始余额 = 当前余额 - PL;
  双倍的当前资产 =帐户信息双账户资产);
  返回当前资产 < 起始余额 - DAILY_LOSS_LIMIT;
}

我们需要指定的参数是:

输入 细绳DD =“-------------道具公司挑战------”;输入 布尔值   是挑战=错误的;输入 双倍的通过条件=110100.;输入 双倍的DAILY_LOSS_LIMIT =4500.;

我希望您能在这个脚本中找到价值。


附件下载

📎 propfirmhelper.mq5 (13.32 KB)

Source: MQL5 #49713

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