Author: VX luolin9687
Orders Execution
Checks for the total of open ordersIt Closes Orders by itself It automatically opens orders when conditions are reached
0 Views
0 Downloads
0 Favorites
O_C_Panel
ÿþ//+------------------------------------------------------------------+

//|                                                          ABC.mq4 |

//|                                                    VX luolin9687 |

//|                              https://www.zhihu.com/people/ll-xau |

//+------------------------------------------------------------------+

#property copyright "VX luolin9687"

#property link      "https://www.zhihu.com/people/ll-xau"

#property version   "1.00"

#property strict



input int    mMagic  =88888;  //¢‹USƋ+R÷S



int    X,Y,Width=0;

int    Fonts=9;    //W[÷S

string Prefix="";

double m_lots=0;

int    mdlots;

double mstep,mminlot,mmaxlot;



int    totals=0;

//+------------------------------------------------------------------+

//| Expert initialization function                                   |

//+------------------------------------------------------------------+

int OnInit()

  {

  	m_lots=MarketInfo(Symbol(),MODE_MINLOT);

  	mstep=MarketInfo(Symbol(),MODE_LOTSTEP);

   mdlots=mstep!=0?(int)log10(1/mstep):2;

   mminlot=MarketInfo(Symbol(),MODE_MINLOT);

   mmaxlot=MarketInfo(Symbol(),MODE_MAXLOT);

//---Rú^	c®”ù[aŒ

   X=(int)(4*scale);       //w¹pPWhX

   Y=(int)(10*scale);      //w¹pPWhY

   Width=(int)(200*scale); //½[¦^

   Prefix=IntegerToString(ChartID())+"ABC_";

   

   int str_size=ArraySize(ButtonEventStr0);

   ArrayResize(ButtonEventStr,str_size);

   for(int i=0; i<str_size; i++)

      ButtonEventStr[i]=ButtonEventStr0[i];

   AddPrefix(Prefix,ButtonEventStr);

   

   CreateBtn(Prefix,X,Y,Width,Fonts); //Rú^	c®”

   

//---

   return(INIT_SUCCEEDED);

  }

//+------------------------------------------------------------------+

//| Expert deinitialization function                                 |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

  {

//---

   DeleteAll(Prefix);// Rd–@b	gøvsQù[aŒ

  }

//+------------------------------------------------------------------+

//| Expert tick function                                             |

//+------------------------------------------------------------------+

void OnTick()

  {

//---7R°eb—gž[öeBid/Ask÷N<h

   RefPanelBidAsk();

//---

   RefOrders();

   





   

  }

//+------------------------------------------------------------------+

void OnChartEvent(const int id,

                  const long &lparam,

                  const double &dparam,

                  const string &sparam)

{

	if(id==CHARTEVENT_OBJECT_ENDEDIT)

	{   

      string spm=Prefix+"_edit_updn"; //bìN„v‘Fh

      if(sparam==spm)//S_(u7bîO9e†Ndk‘Fhpenc

      {

      	string text="";

      	if(!ObjectGetString(0,spm,OBJPROP_TEXT,0,text)) return;  //·ƒÖS‘FhW[&{ÿ‚Yœg·ƒÖS1Y%RԏÞV

      	m_lots=NormalizeDouble(StrToDouble(text),mdlots);  //ĉƒ:Ns^ðShÆQSKbpe<h_v^ÝOX[

      	if(m_lots<mminlot) m_lots=mminlot; //\ŽNs^ðSĉš[„vg\Kbpeÿ	cg\Kbpe—{

      	if(m_lots>mmaxlot) m_lots=mmaxlot; //'Y†Nÿ	cg'YKbpe—{

      	ObjectSetString(0,spm,OBJPROP_TEXT,DoubleToString(m_lots,mdlots)); //͑°e>f:y(Wb—g-N

      }

	}

//---	c®”‹NöN

	if(id==CHARTEVENT_OBJECT_CLICK)

   {

      E_Obj_Button(sparam); //	c®”‹NöNYtýQpe

	}

}

//+------------------------------------------------------------------+

//|                                                                  |

//+------------------------------------------------------------------+

void RefOrders()

{

	totals=0;

	

	int total=OrdersTotal();

	for(int i=0;i<total;i++)

	{

	   if(!OrderSelect(total, SELECT_BY_POS,MODE_TRADES))

         continue;

      int magc  =OrderMagicNumber();

      int otype =OrderType();

      if(OrderSymbol()==Symbol() && magc==mMagic && otype<=OP_SELL)

      {

         totals++;

      }

	}



}

//+------------------------------------------------------------------+

//|                                                                  |

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

//| s^ÓNS_MRÁTÍy@b	g¢‹US                                             |

//+------------------------------------------------------------------+

bool CloseOrderAll(int type,int imagic,string com)

  {

   int n=0;

   int tota=OrdersTotal();

   if(tota>0)

     {

      bool a=true;

      n=0;

      do

        {

         for(int i=tota-1; i>=0; i--)

           {

            if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

               continue;

            if(OrderSymbol()!=Symbol())

               continue;

            int mag  =OrderMagicNumber();

            int otype=OrderType();

            

            if(mag==mMagic && (type==otype || (type==-1 && type<=OP_SELL)))

              {

               int    ticket=OrderTicket();

               if(OrderClose(ticket,OrderLots(),OrderClosePrice(),3,clrGray))

                 {

                  n++;

                 }

               else

                 {

                  Print(com+" #"+IntegerToString(ticket)+" ¢‹USs^ÓN1Y%ÿ",GetLastError());

                 }

              }

           }



         a=false;

         //ÀhKmš[US/f&Ts^ÓNŒ[Õk

         for(int j=0; j<OrdersTotal(); j++)

           {

            if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES)==true)

              {

               int mag=OrderMagicNumber();

               int otype=OrderType();

               if(OrderSymbol()==Symbol() && mag==mMagic

               && (otype==type || (type==-1 && otype<=OP_SELL)))

                 {

                  a=true;

                  Sleep(100);

                  break;

                 }

              }

           }

        }

      while(a==true);

     }

   

   if(n>0)

      return true;

   return false;

}

//+-------------------------------------------------------------------------------------+

//| Yt	c®”‹NöN                                                                        |

//+-------------------------------------------------------------------------------------+

void E_Obj_Button(string spm)

  {

   int size=ArraySize(ButtonEventStr);

   int e=0;

   while(e<size)

     {

      if(ButtonEventStr[e]==spm)   break;

      e++;

     }

   

   int iticket=0;

	double ilots=0.0;

	

   switch(e)

   {

      case 0://       //_zz

			ilots=NormalizeDouble(m_lots,mdlots);

         iticket=OrderSend(Symbol(),OP_SELL,ilots,Bid,3,0,0,"MyEA_Btn",mMagic,0,clrRed);

   		if(iticket<=0) 

      		Print("_sellUS1Y%0•ï‹ #",GetLastError()); 

         ObjectSetInteger(0,spm,OBJPROP_STATE,false);   return ;

         break;

      case 1://       //_Y1

			ilots=NormalizeDouble(m_lots,mdlots);

         iticket=OrderSend(Symbol(),OP_BUY,ilots,Ask,3,0,0,"MyEA_Btn",mMagic,0,clrBlue);

   		if(iticket<=0) 

      		Print("_buyUS1Y%0•ï‹ #",GetLastError()); 

         ObjectSetInteger(0,spm,OBJPROP_STATE,false);   return ;

         break;

      case 2://

         if(ObjectGetInteger(0,spm,OBJPROP_STATE)==true)

         {

         	HideObject(Prefix+"_");

         	ObjectSetInteger(0,spm,OBJPROP_STATE,true);

         }

         else{ 

            ShowObject(Prefix+"_");

            ObjectSetInteger(0,spm,OBJPROP_STATE,false);

         }

         break;

      case 3://       //_zz

			ilots=NormalizeDouble(m_lots,mdlots);

         iticket=OrderSend(Symbol(),OP_SELL,ilots,Bid,3,0,0,"MyEA_Btn",mMagic,0,clrRed);

   		if(iticket<=0) 

      		Print("_sellUS1Y%0•ï‹ #",GetLastError()); 

         ObjectSetInteger(0,spm,OBJPROP_STATE,false);   return ;

         break;         

		case 4://ÏQ\Kbpe

         ilots=m_lots-mstep;

         if(ilots<mminlot) ilots=mminlot;

         ObjectSetString(0,Prefix+"_edit_updn",OBJPROP_TEXT,DoubleToString(ilots,mdlots)); 

         m_lots=ilots;   

         ObjectSetInteger(0,spm,OBJPROP_STATE,false);

         break;

		case 5://žX RKbpe

         ilots=m_lots+mstep;

         if(ilots>mmaxlot) ilots=mmaxlot;

         ObjectSetString(0,Prefix+"_edit_updn",OBJPROP_TEXT,DoubleToString(ilots,mdlots));

         m_lots=ilots;   //ÝOX[

         ObjectSetInteger(0,spm,OBJPROP_STATE,false);

          break;

      case 6://       //_Y

			ilots=NormalizeDouble(m_lots,mdlots);

         iticket=OrderSend(Symbol(),OP_BUY,ilots,Ask,3,0,0,"MyEA_Btn",mMagic,0,clrBlue);

   		if(iticket<=0) 

      		Print("_buyUS1Y%0•ï‹ #",GetLastError()); 

         ObjectSetInteger(0,spm,OBJPROP_STATE,false);   return ;

         break;

      case 7: //       //s^zz 

         if(!CloseOrderAll(OP_SELL,mMagic,"(u7bsQí•@b	gsellUS"))

            Print("sQí•@b	gSELL¢‹US1Y%0Err:",GetLastError());        

         Sleep(100);

         ObjectSetInteger(0,spm,OBJPROP_STATE,false);   return ;

         break; 

      case 8: //hQès^ÓN

			if(!CloseOrderAll(-1,mMagic,"(u7bsQí•@b	gEAUS"))

            Print("sQí•@b	gEA¢‹US1Y%0Err:",GetLastError());        

         Sleep(100);

         ObjectSetInteger(0,spm,OBJPROP_STATE,false);   return ;

         break;

      case 9: //s^ Y

			if(!CloseOrderAll(OP_BUY,mMagic,"(u7bsQí•@b	gbuyUS"))

            Print("sQí•@b	gSELL¢‹US1Y%0Err:",GetLastError());        

         Sleep(100);

         ObjectSetInteger(0,spm,OBJPROP_STATE,false);   return ;

         break;



     }



  }

//+------------------------------------------------------------------+

//|7R°eb—gž[öe÷N<h                                                  |

//+------------------------------------------------------------------+

void RefPanelBidAsk()

  {

   if(Bid>=StrToDouble(ObjectGetString(0,Prefix+"_bid",OBJPROP_TEXT,0)))

     {

      ObjectSetInteger(0,Prefix+"_bid",OBJPROP_BGCOLOR,clrMediumBlue) ;

      ObjectSetInteger(0,Prefix+"_xsel",OBJPROP_BGCOLOR,clrMediumBlue) ;

     }

   else

     {

      ObjectSetInteger(0,Prefix+"_bid",OBJPROP_BGCOLOR,clrCrimson) ;

      ObjectSetInteger(0,Prefix+"_xsel",OBJPROP_BGCOLOR,clrCrimson) ;

     }

   ObjectSetString(0,Prefix+"_bid",OBJPROP_TEXT,DoubleToString(Bid,Digits));

   

   if(Ask>=StrToDouble(ObjectGetString(0,Prefix+"_ask",OBJPROP_TEXT,0)))

     {

      ObjectSetInteger(0,Prefix+"_ask",OBJPROP_BGCOLOR,clrMediumBlue) ;

      ObjectSetInteger(0,Prefix+"_xbuy",OBJPROP_BGCOLOR,clrMediumBlue) ;

     }

   else

     {

      ObjectSetInteger(0,Prefix+"_ask",OBJPROP_BGCOLOR,clrCrimson) ;

      ObjectSetInteger(0,Prefix+"_xbuy",OBJPROP_BGCOLOR,clrCrimson) ;

     }

   ObjectSetString(0,Prefix+"_ask",OBJPROP_TEXT,DoubleToString(Ask,Digits));



  }

//+------------------------------------------------------------------+

//|¾‹nù[aŒïSÁ‰                               |

//+------------------------------------------------------------------+

void ShowObject(string pfix,ENUM_OBJECT objtype=-1)

{

   int objtotal=ObjectsTotal();

   string objname="";

   for(int i=objtotal-1;i>=0;i--)

   {

      objname=ObjectName(0,i);

      if(StringFind(objname,pfix)>=0 && (objtype==-1 || (objtype!=-1 && ObjectType(objname)==objtype)))

      {

         ObjectSetInteger(0,objname,OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);

      }

   }



}

//+------------------------------------------------------------------+

//|¾‹nù[aŒ
NïSÁ‰                               |

//+------------------------------------------------------------------+

void HideObject(string pfix)

{

   int objtotal=ObjectsTotal();

   string objname="";

   for(int i=objtotal-1;i>=0;i--)

   {

      objname=ObjectName(0,i);

      if(StringFind(objname,pfix)>=0)

      {

         ObjectSetInteger(0,objname,OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);

      }

   }



}

//+------------------------------------------------------------------+

//|                                                                  |

//+------------------------------------------------------------------+

double scale=NormalizeDouble(TerminalInfoInteger(TERMINAL_SCREEN_DPI)/96.0,2);//

#define CONTROLS_GAP_X                      ((2*scale)<2?2:(int)(2*scale))       // XPWhô•™–

#define CONTROLS_GAP_Y                      ((2*scale)<1?2:(int)(2*scale))       // YPWhô•™–

#define BUTTON_HEIGHT                       ((int)(32*scale))      // 

#define BUTTON_HEIGHT1                      ((int)(22*scale))      //

#define BUTTON_HEIGHT2                      ((int)(26*scale))      //



//---	c®”‹NöN
T

string ButtonEventStr[1],

       ButtonEventStr0[]=

  {

   "_bid", "_ask","offon", 

   "_xsel","_dn", "_up", "_xbuy",

   "_csel","_cselbuy","_cbuy"

  };

//+------------------------------------------------------------------+

//| Rú^sSöeLˆÅ`/_USÊSs^ÓN	c®”                                           |

//+------------------------------------------------------------------+

bool CreateBtn(string p_fix,int x1,int y1,int width,int fonts,

               ENUM_BASE_CORNER corner=CORNER_RIGHT_LOWER,

               color            clr   =clrWhite)

 {

 	string obj_name="";

 	int x=0,y=0;

  	int sel_w=0,dn_w=(int)(20*scale),updn_w=0,buy_w=0; //,{NLˆ½[¦^



//---,{1Lˆ 2*N	c®”ÿ_zzŒT_Y

   int temp_w=(width-CONTROLS_GAP_X)/2;

   x=x1+width;

   y=y1+BUTTON_HEIGHT;

   obj_name=p_fix+"_bid";

   if(!CreateButton(obj_name,x,y,DoubleToString(Bid,Digits),fonts+5,corner,clr,temp_w,BUTTON_HEIGHT))   return(false); 

	ObjectSetString(0,obj_name,OBJPROP_TOOLTIP,"¹pûQ°s÷N_ÓNSELL¢‹US");

   

   x=x1+width-(CONTROLS_GAP_X+temp_w);

   obj_name=p_fix+"_ask";

 	if(!CreateButton(obj_name,x,y,DoubleToString(Ask,Digits),fonts+5,corner,clr,temp_w,BUTTON_HEIGHT))   return(false); 

   ObjectSetString(0,obj_name,OBJPROP_TOOLTIP,"¹pûQ°s÷N_ÓNBUY¢‹US");

//---óSN҉Rú^ >f:y/–Ï…b—g 	c®”

   obj_name=p_fix+"offon";

 	if(!CreateButton(obj_name,2*(int)(10*scale),y1,"¼%",fonts,corner,clrLightGray,(int)(10*scale),(int)(10*scale)))   return(false); 

 	ObjectSetInteger(0,obj_name,OBJPROP_BGCOLOR,clrNONE);

 	ObjectSetInteger(0,obj_name,OBJPROP_BORDER_COLOR,clrNONE);

   ObjectSetString(0,obj_name,OBJPROP_TOOLTIP,">f:y¤Nfb—g");    

//---,{2Lˆ 

  	temp_w=(width-2*CONTROLS_GAP_X-2*dn_w);

  	sel_w=temp_w/3;  

  	updn_w=temp_w-(2*sel_w); 

  	y=y1+BUTTON_HEIGHT+BUTTON_HEIGHT1;

//--- SELL BID	c®”

	x=x1+width; 

	obj_name=p_fix+"_xsel";

   if(!CreateButton(obj_name,x,y,"SELL",fonts,corner,clr,sel_w,BUTTON_HEIGHT1))   return(false); 

   ObjectSetString(0,obj_name,OBJPROP_TOOLTIP,"¹pûQ°s÷N_ÓNSELL¢‹US"); 

//--- "¼%"	c®”   

   x=x1+width-(CONTROLS_GAP_X+sel_w);

   obj_name=p_fix+"_dn";

   if(!CreateButton(obj_name,x,y,"¼%",fonts,corner,clrBlack,dn_w,BUTTON_HEIGHT1))   return(false); 

   ObjectSetInteger(0,obj_name,OBJPROP_BGCOLOR,clrLightGray);

   ObjectSetInteger(0,obj_name,OBJPROP_BORDER_COLOR,clrNONE);

   ObjectSetString(0,obj_name,OBJPROP_TOOLTIP,"ÏQ\Kbpe");

//--- LOTS

   x=x1+width-(CONTROLS_GAP_X+sel_w+dn_w);

   obj_name=p_fix+"_edit_updn";

   if(!CreateEdit(obj_name,x,y,DoubleToString(m_lots,2),fonts+2,corner,clrBlack,updn_w,BUTTON_HEIGHT1))   return(false); 

       

//--- "²%"	c®”

   x=x1+width-(CONTROLS_GAP_X+sel_w+dn_w+updn_w);

   obj_name=p_fix+"_up";

   if(!CreateButton(obj_name,x,y,"²%",fonts,corner,clrBlack,dn_w,BUTTON_HEIGHT1))   return(false); 

   ObjectSetInteger(0,obj_name,OBJPROP_BGCOLOR,clrLightGray);

    ObjectSetInteger(0,obj_name,OBJPROP_BORDER_COLOR,clrNONE);

    ObjectSetString(0,obj_name,OBJPROP_TOOLTIP,"žX RKbpe");

//--- BUY ASK	c®”

   x=x1+width-(2*CONTROLS_GAP_X+sel_w+2*dn_w+updn_w);

   obj_name=p_fix+"_xbuy";

   if(!CreateButton(obj_name,x,y,"BUY",fonts,corner,clr,sel_w,BUTTON_HEIGHT1))   return(false); 

   ObjectSetString(0,obj_name,OBJPROP_TOOLTIP,"¹pûQ°s÷N_ÓNBUY¢‹US");  

//---,{3Lˆ

  	temp_w=(width-2*CONTROLS_GAP_X);

  	sel_w=temp_w/3;  

  	updn_w=temp_w-(2*sel_w); 

  	y=y1+CONTROLS_GAP_Y+BUTTON_HEIGHT+BUTTON_HEIGHT1+BUTTON_HEIGHT2;

//--- s^zz

	x=x1+width; 

	obj_name=p_fix+"_csel";

   if(!CreateButton(obj_name,x,y,"s^ zz",fonts+2,corner,clrBlack,sel_w,BUTTON_HEIGHT2))   return(false); 

   ObjectSetInteger(0,obj_name,OBJPROP_BGCOLOR,clrLightGray);

   ObjectSetString(0,obj_name,OBJPROP_TOOLTIP,"s^ÓNSELL¢‹US"); 

//--- hQ s^

	x=x1+width-(CONTROLS_GAP_X+sel_w); 

	obj_name=p_fix+"_cselbuy";

   if(!CreateButton(obj_name,x,y,"hQ s^",fonts+2,corner,clrBlack,updn_w,BUTTON_HEIGHT2))   return(false); 

   ObjectSetInteger(0,obj_name,OBJPROP_BGCOLOR,clrLightGray);

   ObjectSetString(0,obj_name,OBJPROP_TOOLTIP,"hQs^@b	gEA¢‹US"); 

//--- s^Y

	x=x1+width-(2*CONTROLS_GAP_X+sel_w+updn_w);  

	obj_name=p_fix+"_cbuy";

   if(!CreateButton(obj_name,x,y,"s^ Y",fonts+2,corner,clrBlack,sel_w,BUTTON_HEIGHT2))   return(false); 

   ObjectSetInteger(0,obj_name,OBJPROP_BGCOLOR,clrLightGray);

   ObjectSetString(0,obj_name,OBJPROP_TOOLTIP,"s^ÓNBUY¢‹US"); 

   

	return(true); 

 }

//+------------------------------------------------------------------+

//| :N@b	gù[aŒ
Tðyûm RMR                               

//+------------------------------------------------------------------+

void AddPrefix(string aprefix,string &object_names[])

  {

   int object_size=ArraySize(object_names);

   for(int i=0; i<object_size; i++)

   {

      object_names[i]=aprefix+object_names[i];

   }

  } 

//+------------------------------------------------------------------+

//|                                                                  |

//+------------------------------------------------------------------+

void DeleteAll(string prefix)

 { 

   ObjectsDeleteAll(0,prefix,0,OBJ_BUTTON);

   ObjectsDeleteAll(0,prefix,0,OBJ_EDIT);

      

 }

//-----------------------------------------------------------------+

//| Rú^	c®”ù[aŒ 

//-----------------------------------------------------------------+  

bool CreateButton(const string name,//	c®”ù[aŒ
Tðy

                  const int x,      //XPWh

                  const int y,      //YPWh

                  const string str, //	c®”W[&{‡e,g

                  const int fonts,  //	c®”W[&{‡e,gW[SO'Y\

                  const int corner, // (uŽN•š[„vþVhˆÒ‰

                  const int clr=clrBlack,      //	c®”W[&{‡e,gœ˜r‚

                  const int btn_w=50, //	c®”½[¦^

                  const int btn_h=20, //	c®”Øš¦^

                  const long z_order=2,

                  const long id=0)                                   

  {

   ResetLastError();

   if(ObjectFind(id,name)<0)

   {

//--- Rú^	c®”

   if(!ObjectCreate(id,name,OBJ_BUTTON,0,0,0))

   { 

      Print(__FUNCTION__, 

            "ÿàeÕlRú^	c®” ",name,"ÿ•ï‹ÿ",GetLastError()); 

      return(false); 

   }

   }

//--- ¾‹nù[aŒPWh 

   ObjectSetInteger(id,name,OBJPROP_XDISTANCE,x); 

   ObjectSetInteger(id,name,OBJPROP_YDISTANCE,y);

//--- 	c®”½[¦^/ؚ¦^

   ObjectSetInteger(id,name,OBJPROP_XSIZE,btn_w);

   ObjectSetInteger(id,name,OBJPROP_YSIZE,btn_h);

//--- ‡e,g

   ObjectSetString(id,name,OBJPROP_TEXT,str);

//--- W[SO'Y\ 

   ObjectSetInteger(id,name,OBJPROP_FONTSIZE,fonts);

   ObjectSetString(id,name,OBJPROP_FONT,"®_oÅ–Ñž");

//--- 	c®”œ˜r‚

   ObjectSetInteger(id,name,OBJPROP_COLOR,clr);

//--- ¾‹ns^b—¹Fh½[¦^

   ObjectSetInteger(id,name,OBJPROP_WIDTH,6); 

//--- ¾‹ǹofœ˜r‚ 

   ObjectSetInteger(id,name,OBJPROP_BGCOLOR,clrMediumBlue);

//--- ¾‹n¹Fh {|‹W œ˜r‚ FLATs^b—b__ SUNKENùQb_

   ObjectSetInteger(id,name,OBJPROP_BORDER_TYPE,BORDER_SUNKEN);  

   ObjectSetInteger(id,name,OBJPROP_BORDER_COLOR,clrNONE);

   

   ObjectSetInteger(id,name,OBJPROP_SELECTED,false);

//--- ¾‹nøvù[ŽNš[INù[aŒPWh„vþVhˆ„v҉   

   ObjectSetInteger(id,name,OBJPROP_CORNER,corner);

//--- (Wù[aŒRhˆ-N–Ï…ÿtrue	ÿb>f:yÿfalse	ÿþVb_ù[aŒ
Tðy

   ObjectSetInteger(id,name,OBJPROP_HIDDEN,true);

//--- >f:y(WMRofÿfalse	ÿb̀ofÿtrue	ÿ

   ObjectSetInteger(id,name,OBJPROP_BACK,false); 

//--- ¾‹n¥c6eþVhˆ-N Ÿh¹pûQ‹NöN„vOHQ§~

   ObjectSetInteger(id,name,OBJPROP_ZORDER,z_order);

//--- bŸRgbLˆ

   return(true); 

  } 

//+------------------------------------------------------------------+ 

//| Rú^“eQFh-4                                                     | 

//+------------------------------------------------------------------+ 

bool CreateEdit(const string name,//editù[aŒ
Tðy

                  const int x,      //XPWh

                  const int y,      //YPWh

                  const string str, //editW[&{‡e,g

                  const int ifonts,//editW[&{‡e,gW[SO'Y\

                  const int corner, // (uŽN•š[„vþVhˆÒ‰

                  const int clr,      //editW[&{‡e,gW[SOœ˜r‚

                  const int awidth=55,

                  const int edit_h=20,

                  const long z_order=1)

  {

   ResetLastError();

   if(ObjectFind(name)<0)

   {

      if(!ObjectCreate(0,name,OBJ_EDIT,0,0,0))

   	{ 

      	Print(__FUNCTION__, "ÿàeÕlRú^EDIT ",name,"ÿ•ï‹ÿ",GetLastError()); 

      	return(false); 

   	}

   }

//--- ¾‹nù[aŒPWh 

   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x); 

   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);

//--- ¾‹nù[aŒ'Y\ 

   ObjectSetInteger(0,name,OBJPROP_XSIZE,awidth); 

   ObjectSetInteger(0,name,OBJPROP_YSIZE,edit_h); 

//--- ‡e,g

   ObjectSetString(0,name,OBJPROP_TEXT,str);

//--- W[SO0'Y\ 

   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,ifonts);

   ObjectSetString(0,name,OBJPROP_FONT,"Arial");

//--- œ˜r‚

   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);

//--- /T(uÿtrue	ÿbÖSˆmÿfalse	ÿêSû‹!j_

   ObjectSetInteger(0,name,OBJPROP_READONLY,false); 

//--- ¾‹nù[aŒ-N‡e,gù[PŸ„v{|‹W

   ObjectSetInteger(0,name,OBJPROP_ALIGN,ALIGN_RIGHT);

//--- ¾‹ǹofœ˜r‚ 

   ObjectSetInteger(0,name,OBJPROP_BGCOLOR,clrWhite);

//--- ¾‹n¹Luœ˜r‚   

   ObjectSetInteger(0,name,OBJPROP_BORDER_TYPE,BORDER_RAISED);

   ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,clrWhite);

//--- ¾‹nøvù[ŽNš[INù[aŒPWh„vþVhˆ„v҉   

   ObjectSetInteger(0,name,OBJPROP_CORNER,corner);

//--- (Wù[aŒRhˆ-N–Ï…ÿtrue	ÿb>f:yÿfalse	ÿþVb_ù[aŒ
Tðy

   ObjectSetInteger(0,name,OBJPROP_HIDDEN,true);

//--- ybk(u Ÿh	ébù[aŒ

   ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false);

//--- >f:y(WMRofÿfalse	ÿb̀ofÿtrue	ÿ

   ObjectSetInteger(0,name,OBJPROP_BACK,false); 

//--- ¾‹n¥c6eþVhˆ-N Ÿh¹pûQ‹NöN„vOHQ§~

   ObjectSetInteger(0,name,OBJPROP_ZORDER,z_order); 

//--- succeed 

   return(true); 

  }



Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---