gyshssl 发表于 2019-8-17 14:04:28

【MT4学习】一键平仓脚本学习


下面是一个一键平仓脚本,默认的是“all”平掉所有的持仓单,如果希望平掉多单,空单,盈利单,亏损单,只需要修改onstart函数中iCloseOrders中的类型。

//+------------------------------------------------------------------+
//|                                                      close01.mq4 |
//|                                                      geekquant |
//|                                        https://www.geekquant.com |
//+------------------------------------------------------------------+
#property copyright "geekquant"
#property link      "https://www.geekquant.com"
#property version   "1.00"
#property strict
#property show_inputs
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
{
iCloseOrders("All");
   
}
//+------------------------------------------------------------------+


void iCloseOrders(string myType)
{
   int i;
   for (i=OrdersTotal()-1; i>=0; i--)
   {
   
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)
    continue;
    else
    {
//--------------平掉所有单----------------------+
if(myType=="All")
    {
      OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0);
      }
//--------------平掉多单----------------------+
    if(myType=="Buy")//平掉所有多单
      {
          if(OrderType()==OP_BUY)
          OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0);
      }
//--------------平掉空单----------------------+
      if(myType=="Sell")//平掉所有空单
      {
   
          if(OrderType()==OP_SELL)
          OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0);
      }
//--------------平掉盈利单----------------------+      
   if(myType=="Profit")//平掉所有盈利单
      {
          if(OrderProfit()>0)
          OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0);
      }
      }
    //--------------平掉亏损单----------------------+      
   if(myType=="Loss")//平掉所亏损单
      {
          if(OrderProfit()<0)
          OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0);
      }
      }
      }
      
      

madebin 发表于 2019-8-17 14:25:18

谢谢,郭老师!
页: [1]
查看完整版本: 【MT4学习】一键平仓脚本学习