gryps2/UI-code/T-049_VisualModeButton.txt

212 lines
17 KiB
Text
Raw Permalink Normal View History

2025-05-30 14:58:21 +02:00
<EFBFBD><EFBFBD>// <00>0<EFBFBD>0<EFBFBD>0o00EA TK0<4B>%<25>0<EFBFBD>0<EFBFBD>0n0<6E>N.z^<5E>x<EFBFBD><78>0g0<67>0<EFBFBD>0<EFBFBD>0
// <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0R<>f<EFBFBD>0<EFBFBD>0<EFBFBD>0
bool VisualMode;
int OnInit()
{
//+------------------------------------------------------------------+
// <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD><30><EFBFBD>R Y<>f<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>rKah<61>:y
if (!IsTesting())
{
ChartSet(); // <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD><30><EFBFBD>R Y<>f
CenterSymbol(); // -N.Yn0<6E>0<EFBFBD>0<EFBFBD>0<EFBFBD>0
ChartComment(); // <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0
EA_test(); // <00>rKah<61>:y
EventSetTimer(60); // <00>rKah<61>:y
}
//+------------------------------------------------------------------+
// <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0e\tk<74>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0k0h<30>:y<08><>0<EFBFBD>0<EFBFBD>0<EFBFBD>0pips <09>
history();
PosHis();
//+------------------------------------------------------------------+<08><>%<25>0<EFBFBD>0<EFBFBD>0n04XT <09>
// <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0R<>0<EFBFBD>fH0<48>0<EFBFBD>0<EFBFBD>0\Ob
Button("Visual", "", 22, 26, clrLimeGreen, 1);
{
ObjectSetInteger(0, "Visual", OBJPROP_STATE, true);
ObjectSetInteger(0, "Visual", OBJPROP_BORDER_COLOR, clrSilver);
VisualMode = true;
}
//+------------------------------------------------------------------+<08>EA Tn04XT <09>
// <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0R<>0<EFBFBD>fH0<48>0<EFBFBD>0<EFBFBD>0\Ob
Button("Visual", WindowExpertName(), StringLen(WindowExpertName()) * 12, 0, CHART_COLOR_BACKGROUND, 1);
{
ObjectSetInteger(0, "Visual", OBJPROP_STATE, true);
ObjectSetInteger(0, "Visual", OBJPROP_BORDER_COLOR, clrGray);
VisualMode = true;
}
//+------------------------------------------------------------------+
}
void OnTick()
{
// <00>l<EFBFBD>e<EFBFBD>0<EFBFBD>0<EFBFBD>_k0<18> <09>
//+------------------------------------------------------------------+
// <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD><30><EFBFBD>R Y<>f<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>rKah<61>:y
if (!IsTesting() && VisualMode)
{
CenterSymbol(); // <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0k0<6B>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>`1X
ChartComment(); // <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0
CT++; // <00>rKah<61>:y(u
EA_test(); // <00>rKah<61>:y(u
}
//+------------------------------------------------------------------+
// <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0k0<6B>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>}h0pipsh<>:y
if ((IsTesting() == false || IsVisualMode() == true) && VisualMode)
{
if (sf != Seconds() && OrdersTotal() > 0)
{
PosHis();
sf = Seconds();
}
if ((hf != iTime((string)0, 60, 0) && Seconds() > 30) || tof != OrdersHistoryTotal())
{
history();
hf = iTime((string)0, 60, 0);
tof = OrdersHistoryTotal();
}
}
//+------------------------------------------------------------------+
}
//+------------------------------------------------------------------+
//| <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0R<>f<EFBFBD>0<EFBFBD>0<EFBFBD>0 |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, //<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0ID
const long &lparam, //long<00>W<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0
const double &dparam, //double<00>W<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0
const string &sparam) //string<00>W<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0
{
if(id == CHARTEVENT_OBJECT_CLICK)
{
if(ObjectGetInteger(0,"Visual",OBJPROP_STATE) == true)
{
if(sparam == "Visual")
{
VisualMode = true;
history();
PosHis();
Button("Visual", "", 22, 26, clrLimeGreen, 1);
ObjectSetInteger(0, "Visual", OBJPROP_STATE, true);
ObjectSetInteger(0, "Visual", OBJPROP_BORDER_COLOR, clrSilver);
EA_label ("Now Loading...", clrWhite);
}
}
else
{
VisualMode = false;
ObjectsDeleteAll();
Button("Visual", "", 22, 26, clrWhite, 1);
ObjectSetInteger(0, "Visual", OBJPROP_STATE, false);
ObjectSetInteger(0, "Visual", OBJPROP_BORDER_COLOR, clrSilver);
ChartComment();
for(int i=2; i<=9; i++)
{
ObjectDelete(0,"ComObj"+(string)i);
}
EA_label ("Status display OFF", clrWhite);
}
}
}
//| <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>N<EFBFBD>i
void Button(string name, string text, int x, int y ,color clr, int a)
{
x = (int)NormalizeDouble(x * DPIAdjust, 0); // %R<14>DPI<00>c<EFBFBD>{<7B>0<EFBFBD>0<EFBFBD>0g0<67><30>te
y = (int)NormalizeDouble(y * DPIAdjust, 0); // %R<14>DPI<00>c<EFBFBD>{<7B>0<EFBFBD>0<EFBFBD>0g0<67><30>te
ObjectCreate(0,name,OBJ_BUTTON,ChartWindowFind(),0,0); // <00>0<EFBFBD>0<EFBFBD>0n0\Ob<>0Y0<59>0<08>S0n0<6E>k<EFBFBD><6B>g0o0<6F>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>04X@bL0c<>[U0<55>0f0D0j0D0<44>g`0Q0n0<6E>0<EFBFBD>0<EFBFBD>0
ObjectSetInteger(0,name,OBJPROP_COLOR,clrWhite); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>eW[r<><72>0-<2D><>[Y0<59>0
ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false); // <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0x<30><78>bW0f0<66>y<EFBFBD>RW0_0<5F>0<EFBFBD>mW0_0<5F>0W0j0D0<44>0F0k0Y0<59>0_0<5F>0n0-<2D><>[
ObjectSetInteger(0,name,OBJPROP_HIDDEN,true); // <00>0<EFBFBD>0<EFBFBD>0L0<4C>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0<6E>0<EFBFBD>0<EFBFBD>0k0h<30>:yU0<55>0j0D0<44>0F0k0Y0<59>0_0<5F>0n0-<2D><>[
ObjectSetString (0,name,OBJPROP_TEXT,text); // <00>0<EFBFBD>0<EFBFBD>0k0h<30>:yY0<59>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0-<2D><>[Y0<59>0
ObjectSetString (0,name,OBJPROP_FONT,"Segoe UI"); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>eW[n0<6E>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0-<2D><>[Y0<59>0
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,8); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>eW[<5B>0<EFBFBD>0<EFBFBD>0<EFBFBD>0-<2D><>[Y0<59>0
ObjectSetInteger(0,name,OBJPROP_CORNER,a); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>W<EFBFBD>nMOn<6E>0M0<4D>0<EFBFBD>0<08><>S
N<EFBFBD>0<EFBFBD>]
N<EFBFBD>0<EFBFBD>] N<>0<EFBFBD>S N <09>
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>W<EFBFBD>nMOnK0<4B>0n0X<00>^j<>0-<2D><>[
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>W<EFBFBD>nMOnK0<4B>0n0Y<00>^j<>0-<2D><>[
ObjectSetInteger(0,name,OBJPROP_XSIZE,18); // <00>0<EFBFBD>0<EFBFBD>0n0*jE^n0-<2D><>[
ObjectSetInteger(0,name,OBJPROP_YSIZE,16); // <00>0<EFBFBD>0<EFBFBD>0n0&~E^n0-<2D><>[
ObjectSetInteger(0,name,OBJPROP_BGCOLOR,clr); // <00>0<EFBFBD>0<EFBFBD>0n0r<30>n0-<2D><>[
//ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,clrGray); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>g<EFBFBD>}n0r<30><72>0-<2D><>[ <00>W,g<>vk0o0<6F>0<EFBFBD>0<EFBFBD>0r<30>h0N<>}g0OUL<55>j0O0f00<>g<EFBFBD>}<7D>0<EFBFBD>NQ0_0D0Bf`0Q0%Rk0Y0<59>0
//ObjectSetInteger(0,name,OBJPROP_STATE,false); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>rKa<4B>0-<2D><>[<08><>bU0<55>0f0D0<44>0<EFBFBD>rKaK00<>bU0<55>0f0D0j0D0<44>rKaK0 <09> gRo0<6F>bU0<55>0f0D0j0D0<44>rKag0'YN+Y
ObjectSetInteger(0,name,OBJPROP_BACK,false); // <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0̀ofh<66>:y-<2D><>[
//ObjectSetInteger(0,name,OBJPROP_CORNER,CORNER_RIGHT_UPPER);
ObjectSetInteger(0,name,OBJPROP_ANCHOR,ANCHOR_RIGHT_UPPER);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0R<>f<EFBFBD>0<EFBFBD>0<EFBFBD>0<08>EAh<>:y T<>0<EFBFBD>0<EFBFBD>0<EFBFBD>0 <09> |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, //<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0ID
const long &lparam, //long<00>W<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0
const double &dparam, //double<00>W<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0
const string &sparam) //string<00>W<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0
{
int xx = StringLen(WindowExpertName()) * 12;
if(id == CHARTEVENT_OBJECT_CLICK)
{
if(ObjectGetInteger(0,"Visual",OBJPROP_STATE) == true)
{
if(sparam == "Visual")
{
VisualMode = true;
history();
PosHis();
Button("Visual", WindowExpertName(), xx, 0, CHART_COLOR_BACKGROUND, 1);
ObjectSetInteger(0, "Visual", OBJPROP_STATE, true);
ObjectSetInteger(0, "Visual", OBJPROP_BORDER_COLOR, clrGray);
EA_label ("<00>rKa<4B>0<EFBFBD>0<EFBFBD>0-N...", clrWhite);
}
}
else
{
VisualMode = false;
ObjectsDeleteAll();
Button("Visual", WindowExpertName(), xx, 0, CHART_COLOR_BACKGROUND, 1);
ObjectSetInteger(0, "Visual", OBJPROP_STATE, false);
ObjectSetInteger(0, "Visual", OBJPROP_BORDER_COLOR, clrSilver);
ChartComment();
for(int i=2; i<=15; i++)
{
ObjectDelete(0,"ComObj"+(string)i);
}
EA_label ("<00>rKah<61>:yOFF", clrWhite);
}
}
}
//| <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>N<EFBFBD>i
void Button(string name, string text, int x, int y ,color clr, int a)
{
int xx = StringLen(WindowExpertName()) * 12 - 26;
ObjectCreate(0,name,OBJ_BUTTON,ChartWindowFind(),0,0); // <00>0<EFBFBD>0<EFBFBD>0n0\Ob<>0Y0<59>0<08>S0n0<6E>k<EFBFBD><6B>g0o0<6F>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>04X@bL0c<>[U0<55>0f0D0j0D0<44>g`0Q0n0<6E>0<EFBFBD>0<EFBFBD>0
ObjectSetInteger(0,name,OBJPROP_COLOR,clrWhite); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>eW[r<><72>0-<2D><>[Y0<59>0
ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false); // <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0x<30><78>bW0f0<66>y<EFBFBD>RW0_0<5F>0<EFBFBD>mW0_0<5F>0W0j0D0<44>0F0k0Y0<59>0_0<5F>0n0-<2D><>[
ObjectSetInteger(0,name,OBJPROP_HIDDEN,true); // <00>0<EFBFBD>0<EFBFBD>0L0<4C>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0<6E>0<EFBFBD>0<EFBFBD>0k0h<30>:yU0<55>0j0D0<44>0F0k0Y0<59>0_0<5F>0n0-<2D><>[
ObjectSetString (0,name,OBJPROP_TEXT,text); // <00>0<EFBFBD>0<EFBFBD>0k0h<30>:yY0<59>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0-<2D><>[Y0<59>0
ObjectSetString (0,name,OBJPROP_FONT,"Segoe UI"); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>eW[n0<6E>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0-<2D><>[Y0<59>0
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,8); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>eW[<5B>0<EFBFBD>0<EFBFBD>0<EFBFBD>0-<2D><>[Y0<59>0
ObjectSetInteger(0,name,OBJPROP_CORNER,a); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>W<EFBFBD>nMOn<6E>0M0<4D>0<EFBFBD>0<08><>S
N<EFBFBD>0<EFBFBD>]
N<EFBFBD>0<EFBFBD>] N<>0<EFBFBD>S N <09>
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>W<EFBFBD>nMOnK0<4B>0n0X<00>^j<>0-<2D><>[
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>W<EFBFBD>nMOnK0<4B>0n0Y<00>^j<>0-<2D><>[
ObjectSetInteger(0,name,OBJPROP_XSIZE,xx); // <00>0<EFBFBD>0<EFBFBD>0n0*jE^n0-<2D><>[
ObjectSetInteger(0,name,OBJPROP_YSIZE,24); // <00>0<EFBFBD>0<EFBFBD>0n0&~E^n0-<2D><>[
ObjectSetInteger(0,name,OBJPROP_BGCOLOR,clr); // <00>0<EFBFBD>0<EFBFBD>0n0r<30>n0-<2D><>[
//ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,clrGray); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>g<EFBFBD>}n0r<30><72>0-<2D><>[ <00>W,g<>vk0o0<6F>0<EFBFBD>0<EFBFBD>0r<30>h0N<>}g0OUL<55>j0O0f00<>g<EFBFBD>}<7D>0<EFBFBD>NQ0_0D0Bf`0Q0%Rk0Y0<59>0
//ObjectSetInteger(0,name,OBJPROP_STATE,false); // <00>0<EFBFBD>0<EFBFBD>0n0<6E>rKa<4B>0-<2D><>[<08><>bU0<55>0f0D0<44>0<EFBFBD>rKaK00<>bU0<55>0f0D0j0D0<44>rKaK0 <09> gRo0<6F>bU0<55>0f0D0j0D0<44>rKag0'YN+Y
ObjectSetInteger(0,name,OBJPROP_BACK,false); // <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0̀ofh<66>:y-<2D><>[
//ObjectSetInteger(0,name,OBJPROP_CORNER,CORNER_RIGHT_UPPER);
ObjectSetInteger(0,name,OBJPROP_ANCHOR,ANCHOR_RIGHT_UPPER);
}
//+------------------------------------------------------------------+