具有 Prop Firm 辅助功能的突破策略 - MetaTrader 5 专家
这是“简单而有效的突破策略”。在这段代码中,我添加了一些用于道具公司挑战的辅助函数。
一般来说,要通过道具公司的挑战,您需要满足三个主要标准:
在此代码中,我添加了两个函数检查“目标利润”和“几乎违反最大每日损失”,以自动退出所有仓位并删除所有挂单。对于“最大损失”,它实际上取决于您的策略和风险管理,因此在此 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) { 打印(“HistoryDealGetTicket失败,没有交易历史”); 休息; } 双倍的利润=历史交易获得双倍(票,交易利润); 如果(利润!=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小时后评论,即可解锁附件下载
立即登录
