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

挂单 - MetaTrader 4 专家

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

Pending Order - expert for MetaTrader 4

挂单是当价格触及我们指定的点时将被执行的订单,换句话说,开立挂单意味着在某个价格水平开仓的订单。因此,如果价格达到预定水平,那么我们将自动拥有未平仓交易头寸。

在 EA,有 6 种订单类型:

6种订单类型,有4种挂单类型可供选择。我们将一一讨论挂单的类型,然后我们将立即做出行动 EA。

买入限价订单是在价格下方运行的订单,因此为了需要更改订单结构,它是一种订单类型,并且价格已被预订。

购买订单注意事项如下:

订单发送象征(),0, 起始批次,,3,-SL*观点,+TP*观点,””, 魔法,0, 蓝色的);

下划线部分中没有任何部分必须在等待此类使用时进行更改。

还必须考虑的部分是D距离当前价格与挂单预订价格之间

-D距离*观点

因此如下:

订单发送象征(),2, 起始批次,-D距离*观点,3,-D距离*观点-SL*观点,-D距离*观点+TP*观点,””, 魔法,0, 蓝色的);

也可以写成:

订单发送象征(),OP_BUYLIMIT, 起始批次,-D距离*观点,3,-D距离*观点-SL*观点,-D距离*观点+TP*观点,””, 魔法,0, 蓝色的);


限价卖单是指高于价格变动的订单。

由于订单买入限价的重要部分是顺序类型和距离,所以请比较不同的

订单发送象征(),3, 起始批次,出价+D距离*观点,3,出价+D距离*观点+ SL*观点,出价+D距离*观点-TP*观点,””, 魔法,0, 红色的);

也可以写成:

订单发送象征(),OP_SELLLIMIT, 起始批次,出价+D距离*观点,3,出价+D距离*观点+ SL*观点,出价+D距离*观点-TP*观点,””, 魔法,0, 红色的);

止损买入订单是高于价格变动的订单。

请观察并与之前的类型进行比较

订单发送象征(),4, 起始批次,+D距离*观点,3,+D距离*观点-SL*观点,+D距离*观点+TP*观点,””, 魔法,0, 蓝色的);

也可以写成:

订单发送象征(),OP_BUYSTOP, 起始批次,+D距离*观点,3,+D距离*观点-SL*观点,+D距离*观点+TP*观点,””, 魔法,0, 蓝色的);

止损卖单是当前价格下的订单。

请观察并与之前的类型进行比较

订单发送象征(),5, 起始批次,出价-D距离*观点,3,出价-D距离*观点+SL*观点,出价-D距离*观点-TP*观点,””, 魔法,0, 红色的);

也可以写成:

订单发送象征(),OP_SELLSTOP, 起始批次,出价-D距离*观点,3,出价-D距离*观点+SL*观点,出价-D距离*观点-TP*观点,””, 魔法,0, 红色的);

正如我一开始所承诺的,我们将尝试通过使用所有四个待处理来使 EA 变得简单!

但是在我们制作之前我们必须根据过滤器的数量及其类型来制作订单,我提供了一个方便的脚本,它是一个计算订单类型的函数

整数总订单(整数米)
{整数总计 =0;为了整数我=0;我 <订单总数();我++){
 如果(!订单选择(我,SELECT_BY_POS,交易模式))继续;
  如果订单符号()!=象征()||订单魔术号码()!=魔法 ||订单类型()!=米)继续;
   总计++;
 }返回(全部的);
}

如何致电

如果(总订单(OP_BUYLIMIT)==0){res=订单发送象征(),2, 起始批次,-D距离*观点,3,-D距离*观点-SL*观点,-D距离*观点+TP*观点,””, 魔法,0, 蓝色的);}

或者

如果(总订单(2)==0){res=订单发送象征(),OP_BUYLIMIT, 起始批次,-D距离*观点,3,-D距离*观点-SL*观点,-D距离*观点+TP*观点,””, 魔法,0, 蓝色的);}

卖出限额

如果(总订单(OP_SELLLIMIT)==0){res=订单发送象征(),3, 起始批次,出价+距离*观点,3,出价+距离*观点+SL*观点,出价+距离*观点-TP*观点,””, 魔法,0, 红色的);}

或者

如果(总订单(3)==0){res=订单发送象征(),OP_SELLLIMIT, 起始批次,出价+距离*观点,3,出价+距离*观点+SL*观点,出价+距离*观点-TP*观点,””, 魔法,0, 红色的);}

继续EA....

但我尝试让 EA 只是为了更好地理解

//+------------------------------------------------------------------+
//|                                             EA 挂单.mq4 |
//|                        版权所有 2016,MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#财产版权 “版权所有 2016,WidiPramana。”
#财产关联      “https://www.mql5.com”
#财产版本  “1.00”
#财产严格的

外部的 细绳  名称_EA                 =“待处理订单”;外部的 整数     开始时间              =6;外部的 整数     结束时间                =20;外部的 整数     TP                      =20;外部的 整数     SL                      =100;外部的 双倍的  大量                    =0.01;外部的 整数     距离                =15;外部的 整数     魔法                   =69;双倍的slb、tpb、sls、tps、pt;整数res,wt,wk,机票,机票;//+------------------------------------------------------------------+
//|专家初始化函数                                   |
//+------------------------------------------------------------------+
整数初始化()
  {//----  如果数字==3||数字==5) 点=10*观点;  别的   点=观点;//----  返回0);
  }//+------------------------------------------------------------------+
//|专家去初始化函数                                 |
//+------------------------------------------------------------------+
整数去初始化()
  {//----

//----  返回0);
  }//+------------------------------------------------------------------+
//|专家启动功能                                           |
//+------------------------------------------------------------------+
整数开始()
  {
标签();
  
  如果(Hour_trade()==1){
      如果(总订单(2)==0){res=订单发送象征(),OP_BUYLIMIT,NR(手数),-距离*观点,3,-距离*观点-SL*观点,-距离*观点+TP*观点,””, 魔法,0, 蓝色的);}
      如果(总订单(3)==0){res=订单发送象征(),OP_SELLLIMIT,NR(手数) ,出价+距离*观点,3,出价+距离*观点+SL*观点,出价+距离*观点-TP*观点,””, 魔法,0, 红色的);}
      如果(总订单(4)==0){res=订单发送象征(),OP_BUYSTOP,NR(手数) ,+距离*观点,3,+距离*观点-SL*观点,+距离*观点+TP*观点,””, 魔法,0, 蓝色的);}
      如果(总订单(5)==0){res=订单发送象征(),OP_SELLSTOP,NR(手数) ,出价-距离*观点,3,出价-距离*观点+SL*观点,出价-距离*观点-TP*观点,””, 魔法,0, 红色的);}
     }
  返回0);
  }//+------------------------------------------------------------------+

整数Hour_trade()
{
  布尔值贸易=错误的;
  如果(开始时间 > 结束时间){
    如果小时() >= 开始时间 ||小时() < End_Hour) 交易 =真的;
   }别的    如果小时() >= 开始时间 &&小时() < End_Hour) 交易 =真的;

  返回(贸易);
}整数总订单(整数蒂佩)
{整数总计=0;为了整数我=0;我<订单总数();我++)
  {
      如果(!订单选择(我,SELECT_BY_POS,交易模式))继续;
      如果订单符号()!=象征()||订单魔术号码()!=魔法 ||订单类型()!=小费)继续;
     总计++;
  }返回(全部的);
}双倍的NR(双倍的洛特)
{
    双倍的最大手数 =市场资讯象征(),模式_最大数量),
    小额手=市场资讯象征(),MODE_MINLOT),
    l步=市场资讯象征(),MODE_LOTSTEP);
    双倍的手数 = lstep *规范化双精度(thelot/lstep,0);
    手数=数学麦克斯数学最小(最大手数、手数)、迷你手数);
    返回(很多);
}空白标签()
{评论“\n”,
  “\n”,
  “\n------------------------------------------------”,
  “\n:: 待处理+订单”,
  “\n------------------------------------------------”,
  "\n :: 传播                 : ",市场资讯象征(),模式_传播),
  "\n :: 杠杆               : 1 : ",账户杠杆(),
  "\n :: 权益                 : ",账户净值(),
  "\n :: 小时服务器             :",小时(),“:”,分钟(),
  “\n------------------------------------------------”);
}

EA 运行如下:

Pending Order - expert for MetaTrader 4

希望有用,欢迎评论

快乐盈利,祝你好运,祝你有美好的一天......


附件下载

📎 ea_pending_order.mq4 (3.9 KB)

Source: MQL5 #14883

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