智能交易网,程序化交易,自动交易,量化交易

 找回密码
 注册

QQ登录

参加MT4智能交易编程培训,7课免费在线试听MT4指标,EA代写,或EA指标加密账户远程验证服务 最完善商业MT4跟单系统(0.1秒极速响应不漏单)
为论坛做贡献有奖学金,奖学金可直接换真钱 扫本站微信公 众号部分视频课程指标EA免费得智能交易网MT4操盘神器,扫公众号免费得
楼主: MT4MT5

为论坛做贡献有奖学金,奖学金可直接换真钱

  [复制链接]
发表于 2015-12-6 11:50:43 | 显示全部楼层
按时打算啊多发发 啊大叔啊D
回复 支持 反对

使用道具 举报

发表于 2016-3-1 09:00:49 | 显示全部楼层
製作按鈕時可用以下輔助EA標出X,Y座標值,方便定位
//-------------------------------------------------------------------------------
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
void OnInit()
  {
//--- enable CHART_EVENT_MOUSE_MOVE messages
   ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE,1);
  }
//+------------------------------------------------------------------+
//| MouseState                                                       |
//+------------------------------------------------------------------+
string MouseState(uint state)
  {
   string res;
   res+="\nML: "   +(((state& 1)== 1)?"DN":"UP");   // mouse left
   res+="\nMR: "   +(((state& 2)== 2)?"DN":"UP");   // mouse right  
   res+="\nMM: "   +(((state&16)==16)?"DN":"UP");   // mouse middle
   res+="\nMX: "   +(((state&32)==32)?"DN":"UP");   // mouse first X key
   res+="\nMY: "   +(((state&64)==64)?"DN":"UP");   // mouse second X key
   res+="\nSHIFT: "+(((state& 4)== 4)?"DN":"UP");   // shift key
   res+="\nCTRL: " +(((state& 8)== 8)?"DN":"UP");   // control key
   return(res);
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
  {
   if(id==CHARTEVENT_MOUSE_MOVE)
      Comment("POINT: ",(int)lparam,",",(int)dparam,"\n",MouseState((uint)sparam));
  }
void modify(double tp)
  {
       int t=OrdersTotal();
       for(int i=t-1;i>=0;i--)
         {
           if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
             {
               if(OrderSymbol()==Symbol())
                {
                  double p=MarketInfo(OrderSymbol(),MODE_POINT);
                  if(OrderType()==0)
                    {
                      OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),tp,Green);
                    }
                }
             }
         }
  }
void delguaben()
  {
       int t=OrdersTotal();
       for(int i=t-1;i>=0;i--)
         {
           if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
             {
               if(OrderType()>1 && OrderSymbol()==Symbol())
                 {
                   OrderDelete(OrderTicket());
                 }
             }
         }
  }
void closeallben()
  {
       int t=OrdersTotal();
       for(int i=t-1;i>=0;i--)
         {
           if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
             {
               if(OrderType()<=1 && OrderSymbol()==Symbol())
                 {
                   OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Green);
                 }
             }
         }
  }
void delgua()
  {
       int t=OrdersTotal();
       for(int i=t-1;i>=0;i--)
         {
           if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
             {
               if(OrderType()>1)
                 {
                   OrderDelete(OrderTicket());
                 }
             }
         }
  }
void closeall()
  {
       int t=OrdersTotal();
       for(int i=t-1;i>=0;i--)
         {
           if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
             {
               if(OrderType()<=1)
                 {
                   OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Green);
                 }
             }
         }
  }
void biaoqian(string name,string neirong,int x,int y,int daxiao,color yanse)
  {
    if(ObjectFind(name)<0)
     {
        ObjectCreate(name,OBJ_LABEL,0,0,0);
        ObjectSetText(name,neirong,daxiao,"宋體",yanse);
        ObjectSet(name,OBJPROP_XDISTANCE,x);
        ObjectSet(name,OBJPROP_YDISTANCE,y);
        ObjectSet(name,OBJPROP_CORNER,0);
     }
    else
     {
        ObjectSetText(name,neirong,daxiao,"宋體",yanse);
        WindowRedraw();
     }
  }
void anniu(string name,color yanse,int x,int y,string text,int changdu=0)
  {
   ObjectCreate(0,name,OBJ_BUTTON,0,0,0);
   ObjectSetInteger(0,name,OBJPROP_COLOR,yanse);
   ObjectSetInteger(0,name,OBJPROP_BGCOLOR,clrAqua);
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
   if(changdu==0)
    {
      int as=StringLen(text);
      ObjectSetInteger(0,name,OBJPROP_XSIZE,as*17);
    }
   else
    {
      ObjectSetInteger(0,name,OBJPROP_XSIZE,changdu);
    }
   ObjectSetInteger(0,name,OBJPROP_YSIZE,20);
   ObjectSetString(0,name,OBJPROP_FONT,"Arial");
   ObjectSetString(0,name,OBJPROP_TEXT,text);
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,10);
   ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,clrBlue);
   //ObjectSetInteger(0,name,OBJPROP_CORNER,0);
  }
void shurukuang(string name,color yanse,int x,int y)
  {
   ObjectCreate(0,name,OBJ_EDIT,0,0,0);
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//--- set object size
   ObjectSetInteger(0,name,OBJPROP_XSIZE,60);
   ObjectSetInteger(0,name,OBJPROP_YSIZE,20);

   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,10);
//--- set the type of text alignment in the object
   ObjectSetInteger(0,name,OBJPROP_ALIGN,ALIGN_LEFT);
//--- enable (true) or cancel (false) read-only mode
   ObjectSetInteger(0,name,OBJPROP_READONLY,false);
//--- set the chart's corner, relative to which object coordinates are defined
   //ObjectSetInteger(0,name,OBJPROP_CORNER,0);
//--- set text color
   ObjectSetInteger(0,name,OBJPROP_COLOR,yanse);
   //--- set background color
   ObjectSetInteger(0,name,OBJPROP_BGCOLOR,clrAliceBlue);
//--- set border color
   ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,clrBlue);
//--- display in the foreground (false) or background (true)
   ObjectSetInteger(0,name,OBJPROP_BACK,false);
   ObjectSetString(0,name,OBJPROP_TEXT,"");
  }
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|手机版|sitemap|智能交易网,程序化交易,自动交易,量化交易 ( 苏ICP备08108698号

GMT+8, 2017-5-25 22:17 , Processed in 0.043749 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表