I will write an advisor free of charge - page 80 1...737475767778798081828384858687...171 New comment Vitalii Vakulin 2018.09.16 19:49 #791 That's it, it's sorted. The last thing that fails is the display of the text Earnings Today. It can't be seen in both Russian and English. Files: Screenshot_20.jpg 40 kb Screenshot_19.jpg 29 kb Maksim Sovenko 2018.09.16 20:49 #792 Vitali_Leto: That's it, it's sorted. The last thing that does not work is displaying the text Earnings Today. Not visible both in Russian and in English.Check all over the code: Menu[5]+DoubleToString(GetProfitForDay(0),2) To haveMenu[5] everywhere Vitalii Vakulin 2018.09.16 20:50 #793 Maksim Sovenko: Check all over the code: To haveMenu[5] everywhere Everywhere is Maksim Sovenko 2018.09.16 20:52 #794 Vitali_Leto: It's all over the placeShow the code, but place it correctly Vitalii Vakulin 2018.09.16 20:54 #795 What's the right way? Sorry, dummy. Maksim Sovenko 2018.09.16 20:55 #796 Vitali_Leto: What's the right way? Sorry, dummy.click the button in the picture first, then paste the code Vitalii Vakulin 2018.09.16 20:56 #797 long X=30,Y=80; bool ChEvM=0,ChFg=0; string MenuRUS[6]={"Текущие данные","Баланс: ","Эквити: ","Просадка: ","Общий заработок: ","Заработок сегодня: "}; string MenuENG[6]={"Current data","Balance: ","Equity: ","Drawdown: ","Earned: ","EARNEDTODAY: "}; string Menu[6]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { ArrayCopy(Menu,MenuENG,0,0,5); ChEvM=ChartGetInteger(0,CHART_EVENT_MOUSE_MOVE); ChFg=ChartGetInteger(0,CHART_FOREGROUND); ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE,1); ChartSetInteger(0,CHART_FOREGROUND,0); if(ObjectFind(0,"HEAD")==-1) { ArrayCopy(Menu,MenuENG,0,0,5); EditCreate(0,"HEAD",0,X,Y,202,20,0,Menu[0],"Arial",8,ALIGN_CENTER,true,txtcolor,pnlcolor,pnlcolor,false,true); EditCreate(0,"BALANCE",0,X,Y+21,202,20,0,Menu[1]+DoubleToString(AccountBalance(),2),"Arial",8,ALIGN_CENTER,true,txtcolor,pnlcolor,pnlcolor); EditCreate(0,"EQUITY",0,X,Y+42,202,20,0,Menu[2]+DoubleToString(AccountEquity(),2),"Arial",8,ALIGN_CENTER,true,txtcolor,pnlcolor,pnlcolor); EditCreate(0,"DRAWDOWN",0,X,Y+63,202,20,0,Menu[3]+DoubleToString((AccountEquity()-AccountBalance())*100/AccountBalance(),2)+"%","Arial",8,ALIGN_CENTER,true,txtcolor,pnlcolor,pnlcolor); EditCreate(0,"EARNED",0,X,Y+84,202,20,0,Menu[4]+DoubleToString(GetProfit(),2),"Arial",8,ALIGN_CENTER,true,txtcolor,pnlcolor,pnlcolor); EditCreate(0,"EARNEDTODAY",0,X,Y+105,202,20,0,Menu[5]+DoubleToString(GetProfitForDay(0),2),"Arial",8,ALIGN_CENTER,true,txtcolor,pnlcolor,pnlcolor); EditCreate(0,"RUS",0,X+141,Y+105,30,20,0,"RUS","Arial",8,ALIGN_CENTER,true,txtcolor,pnlcolor,pnlcolor); EditCreate(0,"ENG",0,X+172,Y+105,30,20,0,"ENG","Arial",8,ALIGN_CENTER,true,txtcolor,clrGreen,pnlcolor); } else { if(ObjectGet("RUS",OBJPROP_BGCOLOR)==clrGreen) { ArrayCopy(Menu,MenuRUS,0,0,5); } else { ArrayCopy(Menu,MenuENG,0,0,5); } } EventSetTimer(1); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator deinit function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { if(reason!=3) { ObjectDelete(0,"HEAD"); ObjectDelete(0,"BALANCE"); ObjectDelete(0,"EQUITY"); ObjectDelete(0,"DRAWDOWN"); ObjectDelete(0,"EARNED"); ObjectDelete(0,"EARNEDTODAY"); ObjectDelete(0,"RUS"); ObjectDelete(0,"ENG"); ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE,ChEvM); ChartSetInteger(0,CHART_FOREGROUND,ChFg); EventKillTimer(); } } //+------------------------------------------------------------------+ //| Function create object text | //+------------------------------------------------------------------+ bool EditCreate(const long chart_ID=0, const string name="Edit", const int sub_window=0, const long x=0, const long y=0, const int width=50, const int height=18, const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, const string text="Text", const string font="Arial", const int font_size=10, const ENUM_ALIGN_MODE align=ALIGN_CENTER, const bool read_only=false, const color clr=clrWhite, const color back_clr=clrWhite, const color border_clr=clrBlue, const bool back=false, const bool selection=false, const bool hidden=true, const long z_order=0) { ResetLastError(); if(!ObjectCreate(chart_ID,name,OBJ_EDIT,sub_window,0,0)) { Print(__FUNCTION__, "Code ERROR: ",GetLastError()); return(false); } ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x); ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y); ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width); ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height); ObjectSetString(chart_ID,name,OBJPROP_TEXT,text); ObjectSetString(chart_ID,name,OBJPROP_FONT,font); ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size); ObjectSetInteger(chart_ID,name,OBJPROP_ALIGN,align); ObjectSetInteger(chart_ID,name,OBJPROP_READONLY,read_only); ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner); ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr); ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_COLOR,border_clr); ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection); ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection); ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); return(true); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { if(AccountProfit()>0)ObjectSetInteger(0,"BALANCE",OBJPROP_BGCOLOR,clrGreen); if(AccountProfit()<0)ObjectSetInteger(0,"BALANCE",OBJPROP_BGCOLOR,clrRed); if(AccountProfit()==0)ObjectSetInteger(0,"BALANCE",OBJPROP_BGCOLOR,pnlcolor); ObjectSetString(0,"BALANCE",OBJPROP_TEXT,Menu[1]+DoubleToString(AccountBalance(),2)); ObjectSetString(0,"EQUITY",OBJPROP_TEXT,Menu[2]+DoubleToString(AccountEquity(),2)); ObjectSetString(0,"DRAWDOWN",OBJPROP_TEXT,Menu[3]+DoubleToString((AccountEquity()-AccountBalance())*100/AccountBalance(),2)+"%"); ObjectSetString(0,"EARNED",OBJPROP_TEXT,Menu[4]+DoubleToString(GetProfit(),2)); ObjectSetString(0,"EARNEDTODAY",OBJPROP_TEXT,Menu[5]+DoubleToString(GetProfitForDay(0),2)); return(rates_total); } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if(id==CHARTEVENT_MOUSE_MOVE && sparam=="1") { X=ObjectGetInteger(0,"HEAD",OBJPROP_XDISTANCE); Y=ObjectGetInteger(0,"HEAD",OBJPROP_YDISTANCE); ObjectSetInteger(0,"BALANCE",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"BALANCE",OBJPROP_YDISTANCE,Y+21); ObjectSetInteger(0,"EQUITY",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"EQUITY",OBJPROP_YDISTANCE,Y+42); ObjectSetInteger(0,"DRAWDOWN",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"DRAWDOWN",OBJPROP_YDISTANCE,Y+63); ObjectSetInteger(0,"EARNED",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"EARNED",OBJPROP_YDISTANCE,Y+84); ObjectSetInteger(0,"EARNEDTODAY",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"EARNEDTODAY",OBJPROP_YDISTANCE,Y+105); ObjectSetInteger(0,"RUS",OBJPROP_XDISTANCE,X+141); ObjectSetInteger(0,"RUS",OBJPROP_YDISTANCE,Y+105); ObjectSetInteger(0,"ENG",OBJPROP_XDISTANCE,X+172); ObjectSetInteger(0,"ENG",OBJPROP_YDISTANCE,Y+105); } if(id==CHARTEVENT_OBJECT_CLICK && sparam=="HEAD") { X=ObjectGetInteger(0,"HEAD",OBJPROP_XDISTANCE); Y=ObjectGetInteger(0,"HEAD",OBJPROP_YDISTANCE); ObjectSetInteger(0,"BALANCE",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"BALANCE",OBJPROP_YDISTANCE,Y+21); ObjectSetInteger(0,"EQUITY",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"EQUITY",OBJPROP_YDISTANCE,Y+42); ObjectSetInteger(0,"DRAWDOWN",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"DRAWDOWN",OBJPROP_YDISTANCE,Y+63); ObjectSetInteger(0,"EARNED",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"EARNED",OBJPROP_YDISTANCE,Y+84); ObjectSetInteger(0,"EARNEDTODAY",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"EARNEDTODAY",OBJPROP_YDISTANCE,Y+105); ObjectSetInteger(0,"RUS",OBJPROP_XDISTANCE,X+141); ObjectSetInteger(0,"RUS",OBJPROP_YDISTANCE,Y+105); ObjectSetInteger(0,"ENG",OBJPROP_XDISTANCE,X+172); ObjectSetInteger(0,"ENG",OBJPROP_YDISTANCE,Y+105); } if(id==CHARTEVENT_OBJECT_CLICK && sparam=="RUS") { ArrayCopy(Menu,MenuRUS,0,0,5); ObjectSetString(0,"HEAD",OBJPROP_TEXT,Menu[0]); ObjectSetString(0,"BALANCE",OBJPROP_TEXT,Menu[1]+DoubleToString(AccountBalance(),2)); ObjectSetString(0,"EQUITY",OBJPROP_TEXT,Menu[2]+DoubleToString(AccountEquity(),2)); ObjectSetString(0,"DRAWDOWN",OBJPROP_TEXT,Menu[3]+DoubleToString((AccountEquity()-AccountBalance())*100/AccountBalance(),2)+"%"); ObjectSetString(0,"EARNED",OBJPROP_TEXT,Menu[4]+DoubleToString(GetProfit(),2)); ObjectSetString(0,"EARNEDTODAY",OBJPROP_TEXT,Menu[5]+DoubleToString(GetProfitForDay(0),2)); ObjectSetInteger(0,"ENG",OBJPROP_BGCOLOR,pnlcolor); ObjectSetInteger(0,"RUS",OBJPROP_BGCOLOR,clrGreen); } if(id==CHARTEVENT_OBJECT_CLICK && sparam=="ENG") { ArrayCopy(Menu,MenuENG,0,0,5); ObjectSetString(0,"HEAD",OBJPROP_TEXT,Menu[0]); ObjectSetString(0,"BALANCE",OBJPROP_TEXT,Menu[1]+DoubleToString(AccountBalance(),2)); ObjectSetString(0,"EQUITY",OBJPROP_TEXT,Menu[2]+DoubleToString(AccountEquity(),2)); ObjectSetString(0,"DRAWDOWN",OBJPROP_TEXT,Menu[3]+DoubleToString((AccountEquity()-AccountBalance())*100/AccountBalance(),2)+"%"); ObjectSetString(0,"EARNED",OBJPROP_TEXT,Menu[4]+DoubleToString(GetProfit(),2)); ObjectSetString(0,"EARNEDTODAY",OBJPROP_TEXT,Menu[5]+DoubleToString(GetProfitForDay(0),2)); ObjectSetInteger(0,"ENG",OBJPROP_BGCOLOR,clrGreen); ObjectSetInteger(0,"RUS",OBJPROP_BGCOLOR,pnlcolor); } } //+------------------------------------------------------------------+ double GetProfit() { double sum = 0; for (int i = 0; i < OrdersHistoryTotal(); i++) { if (!(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))) break; if(OrderType()==OP_BUY || OrderType()==OP_SELL) sum += OrderProfit() + OrderSwap() + OrderCommission(); } return (sum); } double GetProfitForDay(int nd) { double profit = 0; for (int i = 0; i < OrdersHistoryTotal(); i++) { if (!(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))) break; if (OrderSymbol() == OrderSymbol()) if (OrderCloseTime() >= iTime(Symbol(), PERIOD_D1, nd) && OrderCloseTime() < iTime(Symbol(), PERIOD_D1, nd) + 86400) profit += OrderProfit() + OrderSwap() + OrderCommission(); } return (profit); } Maksim Sovenko 2018.09.16 20:59 #798 ArrayCopy(Menu,MenuENG,0,0,5);put 6 at the end throughout the code Vitalii Vakulin 2018.09.16 21:12 #799 Maksim Sovenko: put 6 at the end throughout the code Put it in, no change Vitalii Vakulin 2018.09.16 21:15 #800 long X=30,Y=80; bool ChEvM=0,ChFg=0; string MenuRUS[6]={"Текущие данные","Баланс: ","Эквити: ","Просадка: ","Общий заработок: ","Заработок сегодня: "}; string MenuENG[6]={"Current data","Balance: ","Equity: ","Drawdown: ","Earned: ","EARNEDTODAY: "}; string Menu[6]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { ArrayCopy(Menu,MenuENG,0,0,6); ChEvM=ChartGetInteger(0,CHART_EVENT_MOUSE_MOVE); ChFg=ChartGetInteger(0,CHART_FOREGROUND); ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE,1); ChartSetInteger(0,CHART_FOREGROUND,0); if(ObjectFind(0,"HEAD")==-1) { ArrayCopy(Menu,MenuENG,0,0,6); EditCreate(0,"HEAD",0,X,Y,202,20,0,Menu[0],"Arial",8,ALIGN_CENTER,true,txtcolor,pnlcolor,pnlcolor,false,true); EditCreate(0,"BALANCE",0,X,Y+21,202,20,0,Menu[1]+DoubleToString(AccountBalance(),2),"Arial",8,ALIGN_CENTER,true,txtcolor,pnlcolor,pnlcolor); EditCreate(0,"EQUITY",0,X,Y+42,202,20,0,Menu[2]+DoubleToString(AccountEquity(),2),"Arial",8,ALIGN_CENTER,true,txtcolor,pnlcolor,pnlcolor); EditCreate(0,"DRAWDOWN",0,X,Y+63,202,20,0,Menu[3]+DoubleToString((AccountEquity()-AccountBalance())*100/AccountBalance(),2)+"%","Arial",8,ALIGN_CENTER,true,txtcolor,pnlcolor,pnlcolor); EditCreate(0,"EARNED",0,X,Y+84,202,20,0,Menu[4]+DoubleToString(GetProfit(),2),"Arial",8,ALIGN_CENTER,true,txtcolor,pnlcolor,pnlcolor); EditCreate(0,"EARNEDTODAY",0,X,Y+105,202,20,0,Menu[5]+DoubleToString(GetProfitForDay(0),2),"Arial",8,ALIGN_CENTER,true,txtcolor,pnlcolor,pnlcolor); EditCreate(0,"RUS",0,X+141,Y+105,30,20,0,"RUS","Arial",8,ALIGN_CENTER,true,txtcolor,pnlcolor,pnlcolor); EditCreate(0,"ENG",0,X+172,Y+105,30,20,0,"ENG","Arial",8,ALIGN_CENTER,true,txtcolor,clrGreen,pnlcolor); } else { if(ObjectGet("RUS",OBJPROP_BGCOLOR)==clrGreen) { ArrayCopy(Menu,MenuRUS,0,0,6); } else { ArrayCopy(Menu,MenuENG,0,0,6); } } EventSetTimer(1); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator deinit function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { if(reason!=3) { ObjectDelete(0,"HEAD"); ObjectDelete(0,"BALANCE"); ObjectDelete(0,"EQUITY"); ObjectDelete(0,"DRAWDOWN"); ObjectDelete(0,"EARNED"); ObjectDelete(0,"EARNEDTODAY"); ObjectDelete(0,"RUS"); ObjectDelete(0,"ENG"); ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE,ChEvM); ChartSetInteger(0,CHART_FOREGROUND,ChFg); EventKillTimer(); } } //+------------------------------------------------------------------+ //| Function create object text | //+------------------------------------------------------------------+ bool EditCreate(const long chart_ID=0, const string name="Edit", const int sub_window=0, const long x=0, const long y=0, const int width=50, const int height=18, const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, const string text="Text", const string font="Arial", const int font_size=10, const ENUM_ALIGN_MODE align=ALIGN_CENTER, const bool read_only=false, const color clr=clrWhite, const color back_clr=clrWhite, const color border_clr=clrBlue, const bool back=false, const bool selection=false, const bool hidden=true, const long z_order=0) { ResetLastError(); if(!ObjectCreate(chart_ID,name,OBJ_EDIT,sub_window,0,0)) { Print(__FUNCTION__, "Code ERROR: ",GetLastError()); return(false); } ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x); ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y); ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width); ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height); ObjectSetString(chart_ID,name,OBJPROP_TEXT,text); ObjectSetString(chart_ID,name,OBJPROP_FONT,font); ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size); ObjectSetInteger(chart_ID,name,OBJPROP_ALIGN,align); ObjectSetInteger(chart_ID,name,OBJPROP_READONLY,read_only); ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner); ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr); ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_COLOR,border_clr); ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection); ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection); ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); return(true); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { if(AccountProfit()>0)ObjectSetInteger(0,"BALANCE",OBJPROP_BGCOLOR,clrGreen); if(AccountProfit()<0)ObjectSetInteger(0,"BALANCE",OBJPROP_BGCOLOR,clrRed); if(AccountProfit()==0)ObjectSetInteger(0,"BALANCE",OBJPROP_BGCOLOR,pnlcolor); ObjectSetString(0,"BALANCE",OBJPROP_TEXT,Menu[1]+DoubleToString(AccountBalance(),2)); ObjectSetString(0,"EQUITY",OBJPROP_TEXT,Menu[2]+DoubleToString(AccountEquity(),2)); ObjectSetString(0,"DRAWDOWN",OBJPROP_TEXT,Menu[3]+DoubleToString((AccountEquity()-AccountBalance())*100/AccountBalance(),2)+"%"); ObjectSetString(0,"EARNED",OBJPROP_TEXT,Menu[4]+DoubleToString(GetProfit(),2)); ObjectSetString(0,"EARNEDTODAY",OBJPROP_TEXT,Menu[5]+DoubleToString(GetProfitForDay(0),2)); return(rates_total); } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if(id==CHARTEVENT_MOUSE_MOVE && sparam=="1") { X=ObjectGetInteger(0,"HEAD",OBJPROP_XDISTANCE); Y=ObjectGetInteger(0,"HEAD",OBJPROP_YDISTANCE); ObjectSetInteger(0,"BALANCE",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"BALANCE",OBJPROP_YDISTANCE,Y+21); ObjectSetInteger(0,"EQUITY",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"EQUITY",OBJPROP_YDISTANCE,Y+42); ObjectSetInteger(0,"DRAWDOWN",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"DRAWDOWN",OBJPROP_YDISTANCE,Y+63); ObjectSetInteger(0,"EARNED",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"EARNED",OBJPROP_YDISTANCE,Y+84); ObjectSetInteger(0,"EARNEDTODAY",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"EARNEDTODAY",OBJPROP_YDISTANCE,Y+105); ObjectSetInteger(0,"RUS",OBJPROP_XDISTANCE,X+141); ObjectSetInteger(0,"RUS",OBJPROP_YDISTANCE,Y+105); ObjectSetInteger(0,"ENG",OBJPROP_XDISTANCE,X+172); ObjectSetInteger(0,"ENG",OBJPROP_YDISTANCE,Y+105); } if(id==CHARTEVENT_OBJECT_CLICK && sparam=="HEAD") { X=ObjectGetInteger(0,"HEAD",OBJPROP_XDISTANCE); Y=ObjectGetInteger(0,"HEAD",OBJPROP_YDISTANCE); ObjectSetInteger(0,"BALANCE",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"BALANCE",OBJPROP_YDISTANCE,Y+21); ObjectSetInteger(0,"EQUITY",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"EQUITY",OBJPROP_YDISTANCE,Y+42); ObjectSetInteger(0,"DRAWDOWN",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"DRAWDOWN",OBJPROP_YDISTANCE,Y+63); ObjectSetInteger(0,"EARNED",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"EARNED",OBJPROP_YDISTANCE,Y+84); ObjectSetInteger(0,"EARNEDTODAY",OBJPROP_XDISTANCE,X); ObjectSetInteger(0,"EARNEDTODAY",OBJPROP_YDISTANCE,Y+105); ObjectSetInteger(0,"RUS",OBJPROP_XDISTANCE,X+141); ObjectSetInteger(0,"RUS",OBJPROP_YDISTANCE,Y+105); ObjectSetInteger(0,"ENG",OBJPROP_XDISTANCE,X+172); ObjectSetInteger(0,"ENG",OBJPROP_YDISTANCE,Y+105); } if(id==CHARTEVENT_OBJECT_CLICK && sparam=="RUS") { ArrayCopy(Menu,MenuRUS,0,0,6); ObjectSetString(0,"HEAD",OBJPROP_TEXT,Menu[0]); ObjectSetString(0,"BALANCE",OBJPROP_TEXT,Menu[1]+DoubleToString(AccountBalance(),2)); ObjectSetString(0,"EQUITY",OBJPROP_TEXT,Menu[2]+DoubleToString(AccountEquity(),2)); ObjectSetString(0,"DRAWDOWN",OBJPROP_TEXT,Menu[3]+DoubleToString((AccountEquity()-AccountBalance())*100/AccountBalance(),2)+"%"); ObjectSetString(0,"EARNED",OBJPROP_TEXT,Menu[4]+DoubleToString(GetProfit(),2)); ObjectSetString(0,"EARNEDTODAY",OBJPROP_TEXT,Menu[5]+DoubleToString(GetProfitForDay(0),2)); ObjectSetInteger(0,"ENG",OBJPROP_BGCOLOR,pnlcolor); ObjectSetInteger(0,"RUS",OBJPROP_BGCOLOR,clrGreen); } if(id==CHARTEVENT_OBJECT_CLICK && sparam=="ENG") { ArrayCopy(Menu,MenuENG,0,0,6); ObjectSetString(0,"HEAD",OBJPROP_TEXT,Menu[0]); ObjectSetString(0,"BALANCE",OBJPROP_TEXT,Menu[1]+DoubleToString(AccountBalance(),2)); ObjectSetString(0,"EQUITY",OBJPROP_TEXT,Menu[2]+DoubleToString(AccountEquity(),2)); ObjectSetString(0,"DRAWDOWN",OBJPROP_TEXT,Menu[3]+DoubleToString((AccountEquity()-AccountBalance())*100/AccountBalance(),2)+"%"); ObjectSetString(0,"EARNED",OBJPROP_TEXT,Menu[4]+DoubleToString(GetProfit(),2)); ObjectSetString(0,"EARNEDTODAY",OBJPROP_TEXT,Menu[5]+DoubleToString(GetProfitForDay(0),2)); ObjectSetInteger(0,"ENG",OBJPROP_BGCOLOR,clrGreen); ObjectSetInteger(0,"RUS",OBJPROP_BGCOLOR,pnlcolor); } } //+------------------------------------------------------------------+ double GetProfit() { double sum = 0; for (int i = 0; i < OrdersHistoryTotal(); i++) { if (!(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))) break; if(OrderType()==OP_BUY || OrderType()==OP_SELL) sum += OrderProfit() + OrderSwap() + OrderCommission(); } return (sum); } double GetProfitForDay(int nd) { double profit = 0; for (int i = 0; i < OrdersHistoryTotal(); i++) { if (!(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))) break; if (OrderSymbol() == OrderSymbol()) if (OrderCloseTime() >= iTime(Symbol(), PERIOD_D1, nd) && OrderCloseTime() < iTime(Symbol(), PERIOD_D1, nd) + 86400) profit += OrderProfit() + OrderSwap() + OrderCommission(); } return (profit); } 1...737475767778798081828384858687...171 New comment
That's it, it's sorted. The last thing that does not work is displaying the text Earnings Today. Not visible both in Russian and in English.
Check all over the code:
To haveMenu[5] everywhere
Check all over the code:
To haveMenu[5] everywhere
It's all over the place
Show the code, but place it correctly
What's the right way? Sorry, dummy.
click the button in the picture first, then paste the code
put 6 at the end throughout the code
put 6 at the end throughout the code