我将免费撰写一份顾问报告 - 页 80 1...737475767778798081828384858687...171 新评论 Vitalii Vakulin 2018.09.16 19:49 #791 就这样了,已经整理好了。最后一件失败的事情是显示 "今日盈利 "的文字。它在俄语和英语中都看不到。 附加的文件: Screenshot_20.jpg 40 kb Screenshot_19.jpg 29 kb Maksim Sovenko 2018.09.16 20:49 #792 Vitali_Leto: 就这样了,已经整理好了。最后一个不起作用的是显示 "今日盈利 "的文字。在俄语和英语中都不可见。检查所有的代码。 Menu[5]+DoubleToString(GetProfitForDay(0),2) 到处都有菜单[5]。 Vitalii Vakulin 2018.09.16 20:50 #793 Maksim Sovenko:检查所有的代码。 到处都有菜单[5]。 每个地方都是 Maksim Sovenko 2018.09.16 20:52 #794 Vitali_Leto: 遍地都是显示代码,但要正确放置它 Vitalii Vakulin 2018.09.16 20:54 #795 什么是正确的方式?对不起,笨蛋。 Maksim Sovenko 2018.09.16 20:55 #796 Vitali_Leto: 什么是正确的方式?对不起,笨蛋。先点击图片中的按钮,然后粘贴代码 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);在整个代码的最后加上6 Vitalii Vakulin 2018.09.16 21:12 #799 Maksim Sovenko:在整个代码的最后加上6 放进去,没有变化 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 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
就这样了,已经整理好了。最后一个不起作用的是显示 "今日盈利 "的文字。在俄语和英语中都不可见。
检查所有的代码。
到处都有菜单[5]。
检查所有的代码。
到处都有菜单[5]。
遍地都是
显示代码,但要正确放置它
什么是正确的方式?对不起,笨蛋。
先点击图片中的按钮,然后粘贴代码
在整个代码的最后加上6
在整个代码的最后加上6