Robot_Informer1

Author: Sanyooooook
Orders Execution
Checks for the total of closed ordersChecks for the total of open orders
0 Views
0 Downloads
0 Favorites
Robot_Informer1
//+------------------------------------------------------------------+
//|                                               Robot_Informer.mq4 |
//|                                                      Sanyooooook |
//|                                              sanyooooook@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Sanyooooook"
#property link      "sany000000k.narod.ru,sanyooooook@mail.ru"

#property indicator_separate_window
extern datetime Begin_Report=D'01.01.1970';
extern datetime End_Report=D'07.09.2010';
extern string NameRobot1="A";
extern string UseMagic1="0;";
double MagicBuff1[20];

extern string NameRobot2="B";
extern string UseMagic2="0;";
double MagicBuff2[20];

extern string NameRobot3="C";
extern string UseMagic3="0;";
double MagicBuff3[20];

extern string NameRobot4="D";
extern string UseMagic4="0;";
double MagicBuff4[20];

extern string NameRobot5="F";
extern string UseMagic5="0;";
double MagicBuff5[20];

string NameBuff[5];

double MagicBuff[100,7];
double SMagicBuff[100,7];
int TotalRobots;
int It1,It2,It3,It4,It5;
int ControlTotalH;
int init()
{
   int Poz=0;
   int i=0;
   It1=0;
   while(i<=StringLen(UseMagic1)-1)
   {
      //Poz=StringFind(Lots,"!",i);
      if(StringFind(UseMagic1,";",i)==i)
      {
         MagicBuff1[It1]=StrToDouble(StringSubstr(UseMagic1,Poz,i));
         Poz=i+1;
         if(MagicBuff1[It1]>0)
         {
         It1++;
         }
         Print(MagicBuff1[It1-1]);
      }
      i++;
   }

   Poz=0;
   i=0;
   It2=0;
   while(i<=StringLen(UseMagic2)-1)
   {
      //Poz=StringFind(Lots,"!",i);
      if(StringFind(UseMagic2,";",i)==i)
      {
         MagicBuff2[It2]=StrToDouble(StringSubstr(UseMagic2,Poz,i));
         Poz=i+1;
         if(MagicBuff2[It2]>0)
         {
         It2++;
         }
         Print(MagicBuff2[It2-1]);
      }
      i++;
   }

   Poz=0;
   i=0;
   It3=0;
   while(i<=StringLen(UseMagic3)-1)
   {
      //Poz=StringFind(Lots,"!",i);
      if(StringFind(UseMagic3,";",i)==i)
      {
         MagicBuff3[It3]=StrToDouble(StringSubstr(UseMagic3,Poz,i));
         Poz=i+1;
         if(MagicBuff3[It3]>0)
         {
         It3++;
         }
         Print(MagicBuff3[It3-1]);
      }
      i++;
   }

   Poz=0;
   i=0;
   It4=0;
   while(i<=StringLen(UseMagic4)-1)
   {
      //Poz=StringFind(Lots,"!",i);
      if(StringFind(UseMagic4,";",i)==i)
      {
         MagicBuff4[It4]=StrToDouble(StringSubstr(UseMagic4,Poz,i));
         Poz=i+1;
         if(MagicBuff4[It4]>0)
         {
         It4++;
         }
         Print(MagicBuff4[It4-1]);
      }
      i++;
   }

   Poz=0;
   i=0;
   It5=0;
   while(i<=StringLen(UseMagic5)-1)
   {
      //Poz=StringFind(Lots,"!",i);
      if(StringFind(UseMagic5,";",i)==i)
      {
         MagicBuff5[It5]=StrToDouble(StringSubstr(UseMagic5,Poz,i));
         Poz=i+1;
         if(MagicBuff5[It5]>0)
         {
         It5++;
         }
         Print(MagicBuff5[It5-1]);
      }
      i++;
   }
   start();
   return(0);
}

int deinit()
{
 Comment(" ");
         ObjectDelete("Sanyok_Magic");
         ObjectDelete("Sanyok_point_Buy");
         ObjectDelete("Sanyok_Profit_Buy");
         ObjectDelete("Sanyok_Percent_Buy");
         ObjectDelete("Sanyok_Lot_Buy");
      for(int i=100-1;i>=0;i--)
      {
         ObjectDelete("Sanyok_Magic"+i);
         ObjectDelete("Sanyok_point_Buy"+i);
         ObjectDelete("Sanyok_Profit_Buy"+i);
         ObjectDelete("Sanyok_Percent_Buy"+i);
         ObjectDelete("Sanyok_Lot_Buy"+i);
         ObjectDelete("Sanyok_point_Sell"+i);
         ObjectDelete("Sanyok_Profit_Sell"+i);
         ObjectDelete("Sanyok_Percent_Sell"+i);
         ObjectDelete("Sanyok_Lot_Sell"+i);
      }
   return(0);
}

int start()
{
   Comment("Ðåçóëüòàòû ðàáîòû ñîâåòíèêîâ ñ ",TimeToStr(Begin_Report,TIME_DATE)," ïî ",TimeToStr(End_Report,TIME_DATE));
   if(ControlTotalH!=OrdersHistoryTotal())
   {
   ControlTotalH=OrdersHistoryTotal();
   ArrayInitialize(MagicBuff,0.0);
   ArrayInitialize(SMagicBuff,0.0);
   int k;
   MagicBuff[k,0]=-1;
   for(int i=OrdersHistoryTotal()-1;i>=0;i--)
   {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true&&(OrderType()==0||OrderType()==1)&&OrderCloseTime()>=Begin_Report&&OrderCloseTime()<=End_Report)
      {
         for(int d=k-1;d>=0;d--)
         {
            if(OrderMagicNumber()==MagicBuff[d,0])
            {
               if(OrderType()==OP_BUY)
               {
                  MagicBuff[d,1]=MagicBuff[d,1]+((OrderClosePrice()-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT));
                  MagicBuff[d,2]=MagicBuff[d,2]+OrderProfit()+OrderSwap()+OrderCommission();
                  MagicBuff[d,3]=MagicBuff[d,3]+OrderLots();
               }
               if(OrderType()==OP_SELL)
               {
                  MagicBuff[d,4]=MagicBuff[d,4]+((OrderOpenPrice()-OrderClosePrice())/MarketInfo(OrderSymbol(),MODE_POINT));
                  MagicBuff[d,5]=MagicBuff[d,5]+OrderProfit()+OrderSwap()+OrderCommission();
                  MagicBuff[d,6]=MagicBuff[d,6]+OrderLots();
               }
               break;
            }
         }
         if(d<0)
         {
            MagicBuff[k,0]=OrderMagicNumber();
            if(OrderType()==OP_BUY)
            {
               MagicBuff[k,1]=MagicBuff[k,1]+((OrderClosePrice()-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT));
               MagicBuff[k,2]=MagicBuff[k,2]+OrderProfit()+OrderSwap()+OrderCommission();
               MagicBuff[k,3]=MagicBuff[k,3]+OrderLots();
            }
            if(OrderType()==OP_SELL)
            {
               MagicBuff[k,4]=MagicBuff[k,4]+((OrderOpenPrice()-OrderClosePrice())/MarketInfo(OrderSymbol(),MODE_POINT));
               MagicBuff[k,5]=MagicBuff[k,5]+OrderProfit()+OrderSwap()+OrderCommission();
               MagicBuff[k,6]=MagicBuff[k,6]+OrderLots();
            }
            k++;
         }
      }
   }
   k=k-1;
   int K;
   if(It1>0)
   {
   for(int s=It1-1;s>=0;s--)
   {
      for(int f=k;f>=0;f--)
      {
         if(MagicBuff1[s]==MagicBuff[f,0]&&MagicBuff1[s]!=0)
         {
            SMagicBuff[K,1]=SMagicBuff[K,1]+MagicBuff[f,1];
            SMagicBuff[K,2]=SMagicBuff[K,2]+MagicBuff[f,2];
            SMagicBuff[K,3]=SMagicBuff[K,3]+MagicBuff[f,3];
            SMagicBuff[K,4]=SMagicBuff[K,4]+MagicBuff[f,4];
            SMagicBuff[K,5]=SMagicBuff[K,5]+MagicBuff[f,5];
            SMagicBuff[K,6]=SMagicBuff[K,6]+MagicBuff[f,6];
         }
      }
   }
   NameBuff[K]=NameRobot1;
   K++;
   }
//------------------------------------------------------------
   if(It2>0)
   {
   for(s=It2-1;s>=0;s--)
   {
      for(f=k;f>=0;f--)
      {
         if(MagicBuff2[s]==MagicBuff[f,0]&&MagicBuff2[s]!=0)
         {
            SMagicBuff[K,1]=SMagicBuff[K,1]+MagicBuff[f,1];
            SMagicBuff[K,2]=SMagicBuff[K,2]+MagicBuff[f,2];
            SMagicBuff[K,3]=SMagicBuff[K,3]+MagicBuff[f,3];
            SMagicBuff[K,4]=SMagicBuff[K,4]+MagicBuff[f,4];
            SMagicBuff[K,5]=SMagicBuff[K,5]+MagicBuff[f,5];
            SMagicBuff[K,6]=SMagicBuff[K,6]+MagicBuff[f,6];
         }
      }
   }
   NameBuff[K]=NameRobot2;
   K++;
   }
//------------------------------------------------------------
   if(It3>0)
   {
   for(s=It3-1;s>=0;s--)
   {
      for(f=k;f>=0;f--)
      {
         if(MagicBuff3[s]==MagicBuff[f,0]&&MagicBuff3[s]!=0)
         {
            SMagicBuff[K,1]=SMagicBuff[K,1]+MagicBuff[f,1];
            SMagicBuff[K,2]=SMagicBuff[K,2]+MagicBuff[f,2];
            SMagicBuff[K,3]=SMagicBuff[K,3]+MagicBuff[f,3];
            SMagicBuff[K,4]=SMagicBuff[K,4]+MagicBuff[f,4];
            SMagicBuff[K,5]=SMagicBuff[K,5]+MagicBuff[f,5];
            SMagicBuff[K,6]=SMagicBuff[K,6]+MagicBuff[f,6];
         }
      }
   }
   NameBuff[K]=NameRobot3;
   K++;
   }
//------------------------------------------------------------
   if(It4>0)
   {
   for(s=It4-1;s>=0;s--)
   {
      for(f=k;f>=0;f--)
      {
         if(MagicBuff4[s]==MagicBuff[f,0]&&MagicBuff4[s]!=0)
         {
            SMagicBuff[K,1]=SMagicBuff[K,1]+MagicBuff[f,1];
            SMagicBuff[K,2]=SMagicBuff[K,2]+MagicBuff[f,2];
            SMagicBuff[K,3]=SMagicBuff[K,3]+MagicBuff[f,3];
            SMagicBuff[K,4]=SMagicBuff[K,4]+MagicBuff[f,4];
            SMagicBuff[K,5]=SMagicBuff[K,5]+MagicBuff[f,5];
            SMagicBuff[K,6]=SMagicBuff[K,6]+MagicBuff[f,6];
         }
      }
   }
   NameBuff[K]=NameRobot4;
   K++;
   }
//------------------------------------------------------------
   if(It5>0)
   {
   for(s=It5-1;s>=0;s--)
   {
      for(f=k;f>=0;f--)
      {
         if(MagicBuff5[s]==MagicBuff[f,0]&&MagicBuff5[s]!=0)
         {
            SMagicBuff[K,1]=SMagicBuff[K,1]+MagicBuff[f,1];
            SMagicBuff[K,2]=SMagicBuff[K,2]+MagicBuff[f,2];
            SMagicBuff[K,3]=SMagicBuff[K,3]+MagicBuff[f,3];
            SMagicBuff[K,4]=SMagicBuff[K,4]+MagicBuff[f,4];
            SMagicBuff[K,5]=SMagicBuff[K,5]+MagicBuff[f,5];
            SMagicBuff[K,6]=SMagicBuff[K,6]+MagicBuff[f,6];
         }
      }
   }
   NameBuff[K]=NameRobot5;
   K++;
   }
//------------------------------------------------------------
   if(TotalRobots!=k)
   {
      TotalRobots=k;
      for(i=100-1;i>=0;i--)
      {
         ObjectDelete("Sanyok_Magic"+i);
         ObjectDelete("Sanyok_point_Buy"+i);
         ObjectDelete("Sanyok_Profit_Buy"+i);
         ObjectDelete("Sanyok_Percent_Buy"+i);
         ObjectDelete("Sanyok_Lot_Buy"+i);
         ObjectDelete("Sanyok_point_Sell"+i);
         ObjectDelete("Sanyok_Profit_Sell"+i);
         ObjectDelete("Sanyok_Percent_Sell"+i);
         ObjectDelete("Sanyok_Lot_Sell"+i);
      }
   }
      if(ObjectFind("Sanyok_Magic")<0)
      {
         ObjectCreate("Sanyok_Magic",OBJ_LABEL,0,0,0);
         ObjectSet("Sanyok_Magic",OBJPROP_XDISTANCE,60);
         ObjectSet("Sanyok_Magic",OBJPROP_YDISTANCE,90);
         //ObjectSet("Sanyok_Magic",OBJPROP_COLOR,White);
         ObjectSetText("Sanyok_Magic","Íàçâàíèå",10,"Arial",White);
      }
      if(ObjectFind("Sanyok_point_Buy")<0)
      {
         ObjectCreate("Sanyok_point_Buy",OBJ_LABEL,0,0,0);
         ObjectSet("Sanyok_point_Buy",OBJPROP_XDISTANCE,120);
         ObjectSet("Sanyok_point_Buy",OBJPROP_YDISTANCE,90);
         //ObjectSet("Sanyok_point_Buy"+i,OBJPROP_COLOR,White);
         ObjectSetText("Sanyok_point_Buy","Ïóíêòû",10,"Arial",White);
      }
      if(ObjectFind("Sanyok_Profit_Buy")<0)
      {
         ObjectCreate("Sanyok_Profit_Buy",OBJ_LABEL,0,0,0);
         ObjectSet("Sanyok_Profit_Buy",OBJPROP_XDISTANCE,180);
         ObjectSet("Sanyok_Profit_Buy",OBJPROP_YDISTANCE,90);
         //ObjectSet("Sanyok_Profit"+i,OBJPROP_COLOR,White);
         ObjectSetText("Sanyok_Profit_Buy","Ïðîôèò",10,"Arial",White);
      }
      if(ObjectFind("Sanyok_Percent_Buy")<0)
      {
         ObjectCreate("Sanyok_Percent_Buy",OBJ_LABEL,0,0,0);
         ObjectSet("Sanyok_Percent_Buy",OBJPROP_XDISTANCE,240);
         ObjectSet("Sanyok_Percent_Buy",OBJPROP_YDISTANCE,90);
         //ObjectSet("Sanyok_Percent_Buy",OBJPROP_COLOR,White);
         ObjectSetText("Sanyok_Percent_Buy","Ïðîöåíò",10,"Arial",White);
      }
      if(ObjectFind("Sanyok_Lot_Buy")<0)
      {
         ObjectCreate("Sanyok_Lot_Buy",OBJ_LABEL,0,0,0);
         ObjectSet("Sanyok_Lot_Buy",OBJPROP_XDISTANCE,300);
         ObjectSet("Sanyok_Lot_Buy",OBJPROP_YDISTANCE,90);
         //ObjectSet("Sanyok_Lot_Buy",OBJPROP_COLOR,White);
         ObjectSetText("Sanyok_Lot_Buy","Îáú¸ì",10,"Arial",White);
      }
   for(i=K-1;i>=0;i--)
   {
      
//--------------------------------------------------------------------------------------------------      
      if(ObjectFind("Sanyok_Magic"+i)<0)
      {
         ObjectCreate("Sanyok_Magic"+i,OBJ_LABEL,0,0,0);
         ObjectSet("Sanyok_Magic"+i,OBJPROP_XDISTANCE,60);
         ObjectSet("Sanyok_Magic"+i,OBJPROP_YDISTANCE,40+((K-i+1)*50));
         //ObjectSet("Sanyok_Magic"+i,OBJPROP_COLOR,White);
         ObjectSetText("Sanyok_Magic"+i,NameBuff[i],10,"Arial",White);
      }
      else
      {
         ObjectSetText("Sanyok_Magic"+i,NameBuff[i],10,"Arial",White);
      }
      if(ObjectFind("Sanyok_point_Buy"+i)<0)
      {
         ObjectCreate("Sanyok_point_Buy"+i,OBJ_LABEL,0,0,0);
         ObjectSet("Sanyok_point_Buy"+i,OBJPROP_XDISTANCE,120);
         ObjectSet("Sanyok_point_Buy"+i,OBJPROP_YDISTANCE,40+((K-i+1)*50));
         //ObjectSet("Sanyok_point_Buy"+i,OBJPROP_COLOR,White);
         ObjectSetText("Sanyok_point_Buy"+i,DoubleToStr(SMagicBuff[i,1],0),10,"Arial",Aqua);
      }
      else
      {
         ObjectSetText("Sanyok_point_Buy"+i,DoubleToStr(SMagicBuff[i,1],0),10,"Arial",Aqua);
      }
      if(ObjectFind("Sanyok_Profit_Buy"+i)<0)
      {
         ObjectCreate("Sanyok_Profit_Buy"+i,OBJ_LABEL,0,0,0);
         ObjectSet("Sanyok_Profit_Buy"+i,OBJPROP_XDISTANCE,180);
         ObjectSet("Sanyok_Profit_Buy"+i,OBJPROP_YDISTANCE,40+((K-i+1)*50));
         //ObjectSet("Sanyok_Profit"+i,OBJPROP_COLOR,White);
         ObjectSetText("Sanyok_Profit_Buy"+i,DoubleToStr(SMagicBuff[i,2],2),10,"Arial",Aqua);
      }
      else
      {
         ObjectSetText("Sanyok_Profit_Buy"+i,DoubleToStr(SMagicBuff[i,2],2),10,"Arial",Aqua);
      }
      if(ObjectFind("Sanyok_Percent_Buy"+i)<0)
      {
         ObjectCreate("Sanyok_Percent_Buy"+i,OBJ_LABEL,0,0,0);
         ObjectSet("Sanyok_Percent_Buy"+i,OBJPROP_XDISTANCE,255);
         ObjectSet("Sanyok_Percent_Buy"+i,OBJPROP_YDISTANCE,40+((K-i+1)*50));
         //ObjectSet("Sanyok_Percent_Buy"+i,OBJPROP_COLOR,White);
         ObjectSetText("Sanyok_Percent_Buy"+i,DoubleToStr(0,0),10,"Arial",Aqua);
      }
      else
      {
         ObjectSetText("Sanyok_Percent_Buy"+i,DoubleToStr(0,0),10,"Arial",Aqua);
      }
      if(ObjectFind("Sanyok_Lot_Buy"+i)<0)
      {
         ObjectCreate("Sanyok_Lot_Buy"+i,OBJ_LABEL,0,0,0);
         ObjectSet("Sanyok_Lot_Buy"+i,OBJPROP_XDISTANCE,300);
         ObjectSet("Sanyok_Lot_Buy"+i,OBJPROP_YDISTANCE,40+((K-i+1)*50));
         //ObjectSet("Sanyok_Lot_Buy"+i,OBJPROP_COLOR,White);
         ObjectSetText("Sanyok_Lot_Buy"+i,DoubleToStr(SMagicBuff[i,3],2),10,"Arial",Aqua);
      }
      else
      {
          ObjectSetText("Sanyok_Lot_Buy"+i,DoubleToStr(SMagicBuff[i,3],2),10,"Arial",Aqua);
     }
//--------------------------------------------------------------------------------------------------------------
      if(ObjectFind("Sanyok_point_Sell"+i)<0)
      {
         ObjectCreate("Sanyok_point_Sell"+i,OBJ_LABEL,0,0,0);
         ObjectSet("Sanyok_point_Sell"+i,OBJPROP_XDISTANCE,120);
         ObjectSet("Sanyok_point_Sell"+i,OBJPROP_YDISTANCE,55+((K-i+1)*50));
         //ObjectSet("Sanyok_point_Sell"+i,OBJPROP_COLOR,White);
         ObjectSetText("Sanyok_point_Sell"+i,DoubleToStr(SMagicBuff[i,4],0),10,"Arial",Red);
      }
      else
      {
         ObjectSetText("Sanyok_point_Sell"+i,DoubleToStr(SMagicBuff[i,4],0),10,"Arial",Red);
      }
      if(ObjectFind("Sanyok_Profit_Sell"+i)<0)
      {
         ObjectCreate("Sanyok_Profit_Sell"+i,OBJ_LABEL,0,0,0);
         ObjectSet("Sanyok_Profit_Sell"+i,OBJPROP_XDISTANCE,180);
         ObjectSet("Sanyok_Profit_Sell"+i,OBJPROP_YDISTANCE,55+((K-i+1)*50));
         //ObjectSet("Sanyok_Profit_Sell"+i,OBJPROP_COLOR,White);
         ObjectSetText("Sanyok_Profit_Sell"+i,DoubleToStr(SMagicBuff[i,5],2),10,"Arial",Red);
      }
      else
      {
         ObjectSetText("Sanyok_Profit_Sell"+i,DoubleToStr(SMagicBuff[i,5],2),10,"Arial",Red);
      }
      if(ObjectFind("Sanyok_Percent_Sell"+i)<0)
      {
         ObjectCreate("Sanyok_Percent_Sell"+i,OBJ_LABEL,0,0,0);
         ObjectSet("Sanyok_Percent_Sell"+i,OBJPROP_XDISTANCE,255);
         ObjectSet("Sanyok_Percent_Sell"+i,OBJPROP_YDISTANCE,55+((K-i+1)*50));
         //ObjectSet("Sanyok_Percent_Sell"+i,OBJPROP_COLOR,White);
         ObjectSetText("Sanyok_Percent_Sell"+i,DoubleToStr(0,0),10,"Arial",Red);
      }
      else
      {
         ObjectSetText("Sanyok_Percent_Sell"+i,DoubleToStr(0,0),10,"Arial",Red);
      }
      if(ObjectFind("Sanyok_Lot_Sell"+i)<0)
      {
         ObjectCreate("Sanyok_Lot_Sell"+i,OBJ_LABEL,0,0,0);
         ObjectSet("Sanyok_Lot_Sell"+i,OBJPROP_XDISTANCE,300);
         ObjectSet("Sanyok_Lot_Sell"+i,OBJPROP_YDISTANCE,55+((K-i+1)*50));
         //ObjectSet("Sanyok_Lot"+i,OBJPROP_COLOR,White);
         ObjectSetText("Sanyok_Lot_Sell"+i,DoubleToStr(SMagicBuff[i,6],2),10,"Arial",Red);
      }
      else
      {
         ObjectSetText("Sanyok_Lot_Sell"+i,DoubleToStr(SMagicBuff[i,6],2),10,"Arial",Red);
      }
   }
   /*while(!IsStopped())
   {
      if(OrdersTotal()!=ContrTotal)
      {
         ContrTotal=OrdersTotal();
         for(int k=OrdersHistoryTotal()-1;i>=0;i--)
         {
            if(OrderSelect(k,SELECT_BY_POS,MODE_HISTORY)==true)
            {
               if(BegirReportTime<OrderOpenTime()&&EndReportTime>OrderOpenTime())
               {
                  
               }
            }
         }
      }
      for(int i=OrdersTotal()-1;i>=0;i--)
      {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)=true)
         {
            
         }
      }
      Sleep(1000);
   }*/
   }
return(0);
}
//+------------------------------------------------------------------+

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 ---