Edit Your Comment
How to Simulate ButtonClick in MQL
Oct 20, 2009 부터 멤버
게시물43
Jan 17, 2017 at 06:59
Jul 18, 2013 부터 멤버
게시물1
in declaracion:
string btn_close_SELLS='btn_close_SELLS';
then in Void Ontick (void)
Create_Button(btn_close_SELLS,'CLOSE SELLS',85,18,110,420,LightSlateGray,White);
copy the following code at the end of your expert
void Create_Button(string but_name,string label,int xsize,int ysize,int xdist,int ydist,int bcolor,int fcolor)
{
if(ObjectFind(0,but_name)<0)
{
if(!ObjectCreate(0,but_name,OBJ_BUTTON,0,0,0))
{
Print(__FUNCTION__,
': failed to create the button! Error code = ',GetLastError());
return;
}
ObjectSetString(0,but_name,OBJPROP_TEXT,label);
ObjectSetInteger(0,but_name,OBJPROP_XSIZE,xsize);
ObjectSetInteger(0,but_name,OBJPROP_YSIZE,ysize);
ObjectSetInteger(0,but_name,OBJPROP_CORNER,1);
ObjectSetInteger(0,but_name,OBJPROP_XDISTANCE,xdist);
ObjectSetInteger(0,but_name,OBJPROP_YDISTANCE,ydist);
ObjectSetInteger(0,but_name,OBJPROP_BGCOLOR,bcolor);
ObjectSetInteger(0,but_name,OBJPROP_COLOR,fcolor);
ObjectSetInteger(0,but_name,OBJPROP_FONTSIZE,9);
ObjectSetInteger(0,but_name,OBJPROP_HIDDEN,true);
//ObjectSetInteger(0,but_name,OBJPROP_BORDER_COLOR,ChartGetInteger(0,CHART_COLOR_FOREGROUND));
ObjectSetInteger(0,but_name,OBJPROP_BORDER_TYPE,BORDER_RAISED);
ChartRedraw();
}
}
and this also at the end of you expert
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
{
if(id==CHARTEVENT_OBJECT_CLICK)
{
if(sparam==btn_close_SELLS)
{
ObjectSetString(0,btn_close_SELLS,OBJPROP_TEXT,'Close SELLS');
{CloseAllShorts();}
ObjectSetInteger(0,btn_close_SELLS,OBJPROP_STATE,0);
ObjectSetString(0,btn_close_SELLS,OBJPROP_TEXT,'Close SELLS');
ObjectDelete(btn_close_SELLS);
}
}
}
the function CloseAllShorts () you have to create youself or something else you want to do with that button
Good luck
string btn_close_SELLS='btn_close_SELLS';
then in Void Ontick (void)
Create_Button(btn_close_SELLS,'CLOSE SELLS',85,18,110,420,LightSlateGray,White);
copy the following code at the end of your expert
void Create_Button(string but_name,string label,int xsize,int ysize,int xdist,int ydist,int bcolor,int fcolor)
{
if(ObjectFind(0,but_name)<0)
{
if(!ObjectCreate(0,but_name,OBJ_BUTTON,0,0,0))
{
Print(__FUNCTION__,
': failed to create the button! Error code = ',GetLastError());
return;
}
ObjectSetString(0,but_name,OBJPROP_TEXT,label);
ObjectSetInteger(0,but_name,OBJPROP_XSIZE,xsize);
ObjectSetInteger(0,but_name,OBJPROP_YSIZE,ysize);
ObjectSetInteger(0,but_name,OBJPROP_CORNER,1);
ObjectSetInteger(0,but_name,OBJPROP_XDISTANCE,xdist);
ObjectSetInteger(0,but_name,OBJPROP_YDISTANCE,ydist);
ObjectSetInteger(0,but_name,OBJPROP_BGCOLOR,bcolor);
ObjectSetInteger(0,but_name,OBJPROP_COLOR,fcolor);
ObjectSetInteger(0,but_name,OBJPROP_FONTSIZE,9);
ObjectSetInteger(0,but_name,OBJPROP_HIDDEN,true);
//ObjectSetInteger(0,but_name,OBJPROP_BORDER_COLOR,ChartGetInteger(0,CHART_COLOR_FOREGROUND));
ObjectSetInteger(0,but_name,OBJPROP_BORDER_TYPE,BORDER_RAISED);
ChartRedraw();
}
}
and this also at the end of you expert
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
{
if(id==CHARTEVENT_OBJECT_CLICK)
{
if(sparam==btn_close_SELLS)
{
ObjectSetString(0,btn_close_SELLS,OBJPROP_TEXT,'Close SELLS');
{CloseAllShorts();}
ObjectSetInteger(0,btn_close_SELLS,OBJPROP_STATE,0);
ObjectSetString(0,btn_close_SELLS,OBJPROP_TEXT,'Close SELLS');
ObjectDelete(btn_close_SELLS);
}
}
}
the function CloseAllShorts () you have to create youself or something else you want to do with that button
Good luck
Jan 18, 2017 at 12:07
Jan 03, 2017 부터 멤버
게시물46
spijker posted:Thanks for the sample code. I'm searching to make the button works too. Found it here
in declaracion:
string btn_close_SELLS='btn_close_SELLS';
then in Void Ontick (void)
Create_Button(btn_close_SELLS,'CLOSE SELLS',85,18,110,420,LightSlateGray,White);
copy the following code at the end of your expert
void Create_Button(string but_name,string label,int xsize,int ysize,int xdist,int ydist,int bcolor,int fcolor)
{
if(ObjectFind(0,but_name)<0)
{
if(!ObjectCreate(0,but_name,OBJ_BUTTON,0,0,0))
{
Print(__FUNCTION__,
': failed to create the button! Error code = ',GetLastError());
return;
}
ObjectSetString(0,but_name,OBJPROP_TEXT,label);
ObjectSetInteger(0,but_name,OBJPROP_XSIZE,xsize);
ObjectSetInteger(0,but_name,OBJPROP_YSIZE,ysize);
ObjectSetInteger(0,but_name,OBJPROP_CORNER,1);
ObjectSetInteger(0,but_name,OBJPROP_XDISTANCE,xdist);
ObjectSetInteger(0,but_name,OBJPROP_YDISTANCE,ydist);
ObjectSetInteger(0,but_name,OBJPROP_BGCOLOR,bcolor);
ObjectSetInteger(0,but_name,OBJPROP_COLOR,fcolor);
ObjectSetInteger(0,but_name,OBJPROP_FONTSIZE,9);
ObjectSetInteger(0,but_name,OBJPROP_HIDDEN,true);
//ObjectSetInteger(0,but_name,OBJPROP_BORDER_COLOR,ChartGetInteger(0,CHART_COLOR_FOREGROUND));
ObjectSetInteger(0,but_name,OBJPROP_BORDER_TYPE,BORDER_RAISED);
ChartRedraw();
}
}
and this also at the end of you expert
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
{
if(id==CHARTEVENT_OBJECT_CLICK)
{
if(sparam==btn_close_SELLS)
{
ObjectSetString(0,btn_close_SELLS,OBJPROP_TEXT,'Close SELLS');
{CloseAllShorts();}
ObjectSetInteger(0,btn_close_SELLS,OBJPROP_STATE,0);
ObjectSetString(0,btn_close_SELLS,OBJPROP_TEXT,'Close SELLS');
ObjectDelete(btn_close_SELLS);
}
}
}
the function CloseAllShorts () you have to create youself or something else you want to do with that button
Good luck
Oct 20, 2009 부터 멤버
게시물43
forex_trader_367321
Oct 08, 2016 부터 멤버
게시물58
Jan 23, 2017 at 21:29
(편집됨 Jan 23, 2017 at 21:30)
Oct 08, 2016 부터 멤버
게시물58
write a c based dll.
if you cant get it done by writing a c based dll, it cant be done.
https://www.metatrader5.com/en/metaeditor/help/development/c_dll
if you dont have a c compiler, you could download devcpp.
https://www.bloodshed.net/dev/devcpp.html
if you cant get it done by writing a c based dll, it cant be done.
https://www.metatrader5.com/en/metaeditor/help/development/c_dll
if you dont have a c compiler, you could download devcpp.
https://www.bloodshed.net/dev/devcpp.html
*상업적 사용 및 스팸은 허용되지 않으며 계정이 해지될 수 있습니다.
팁: 이미지/유튜브 URL을 게시하면 게시물에 자동으로 삽입됩니다!
팁: @기호를 입력하여 이 토론에 참여하는 사용자 이름을 자동으로 완성합니다.