分享

MT4一次下三个单的小程序

 分界交易 2018-06-15
//+------------------------------------------------------------------+
  //| 一键三单.mq4 |
  //| |
  //| 平反向旧单,新单设止损,增加两单 |
  //+------------------------------------------------------------------+
  #property link "shang9"
  extern int slippage=2;//滑点
  extern int stoploss=40;//止损
  extern int wait=180;//补单有效时间(秒)
  //--------------------------------------------------------------------
  double g_point;
  int init() {
  if (Point == 0.00001) g_point = 0.0001;
  else {
  if (Point == 0.001) g_point = 0.01;
  else g_point = Point;
  }
  return (0);
  }
  //--------------------------------------------------------------------
  int start()
  {
  //------------------------------------------------------------------平反向旧单
  if (OrdersTotal( ) > 1 )
  {
  if(OrderSelect(OrdersTotal()-1,SELECT_BY_POS,MODE_TRADES)==true)
  {
  if(OrderType()==OP_BUY && OrderSymbol()==Symbol())
  {
  for(int i=0;i<OrdersTotal()-1;i++)
  {
  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
  {
  if(OrderType()==OP_SELL && OrderSymbol()==Symbol())
  OrderClose(OrderTicket(),OrderLots(),Ask,slippage,CLR_NONE);
  }
  }
  }
  if(OrderType()==OP_SELL && OrderSymbol()==Symbol())
  {
  for( i=0;i<OrdersTotal()-1;i++)
  {
  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
  {
  if(OrderType()==OP_BUY && OrderSymbol()==Symbol())
  OrderClose(OrderTicket(),OrderLots(),Bid,slippage,CLR_NONE);
  }
  }
  }
  }
  }
  //----------------------------------------------------------------------------------------------加两单
  if (OrdersTotal( ) <3 )
  {
  if(OrderSelect(OrdersTotal()-1,SELECT_BY_POS,MODE_TRADES)==true)
  {
  if((OrderType()==OP_BUY && OrderSymbol()==Symbol()) && TimeCurrent()-OrderOpenTime()<=wait)
  OrderSend(Symbol(),OP_BUY,OrderLots(),Ask,slippage,Ask-g_point*stoploss,0,"",0,0,Blue);
  if((OrderType()==OP_SELL && OrderSymbol()==Symbol()) && TimeCurrent()-OrderOpenTime()<=wait)
  OrderSend(Symbol(),OP_SELL,OrderLots(),Bid,slippage,Bid+g_point*stoploss,0,"",0,0,Blue);
  }
  }
  //----------------------------------------------------------------------------------------------补止损
  if(OrderSelect(OrdersTotal()-1,SELECT_BY_POS,MODE_TRADES)==true)
  {
  if((OrderType()==OP_BUY && OrderSymbol()==Symbol()) && (OrderStopLoss()==0 && OrderMagicNumber()!=555))
  OrderModify(OrderTicket(),OrderOpenPrice(),Ask-g_point*stoploss,OrderTakeProfit(),0,CLR_NONE);
  if((OrderType()==OP_SELL && OrderSymbol()==Symbol()) && (OrderStopLoss()==0 && OrderMagicNumber()!=555))
  OrderModify(OrderTicket(),OrderOpenPrice(),Bid+g_point*stoploss,OrderTakeProfit(),0,CLR_NONE);
  }

  return(0);

  }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多