Price Data Components
Series array that contains the highest prices of each barSeries array that contains the lowest prices of each barSeries array that contains open prices of each barSeries array that contains close prices for each barSeries array that contains open time of each bar
Orders Execution
Checks for the total of open orders
0 Views
0 Downloads
0 Favorites
CLOCK_FULL
 //+--------------------------------------------------------------------------------  
//|"×ÀÑÈÊÈ MT4" = ïîëíûé âàðèàíò CLOCK MT4.mq4  http://codebase.mql4.com/ru/6241   
//+---------------------------------------------------------------------------------- 
#property indicator_chart_window
 //+----------------------------------------------------------------  
   extern int       N     = 3; 
   extern int      Corner = 1;      // values [0-3] - îïîðíûé óãîë
   extern int   XDistance = 3;     // x ðàññòîÿíèå îò îïîðíîãî óãëà
   extern int   YDistance = 3;     // y ðàññòîÿíèå îò îïîðíîãî óãëà
   extern bool     CLOCK  = true ; 
   extern bool     BALANS = true ; 
   extern bool      Tokyo = true ;   
   extern bool   New_York = true ; 
   extern bool    OPEN_H4 = true ;   
   extern bool Vertical_Line = true ; // false  true  
   extern color    Color1 = Blue;    // Lime öâåò ëèíèè äëÿ  Ïðèáûëè
   extern  color   Color2 = SlateGray  ; // Maroon  öâåò ëèíèè äëÿ óáûòêà
   extern int    FontSize = 8;
   extern string FontName = "Tahoma" ;  // "Arial"  
   double profit=0;  double   nPoint = 0;
 // ======================================================================================== 
  int init(){  return(0);}
 // ========================================================================================  
   int deinit(){  
   ObjectDelete("C_3");  ObjectDelete("C_31");ObjectDelete("BALANS");ObjectDelete("Tokyo"); 
   ObjectDelete("New York"); ObjectDelete("FT");  ObjectDelete("OPEN_H4"); 
   return(0); }                                        
 // ======================================================================================== 
 int start(){  double nPoint = GetPoint(Symbol());     profit=0;
       string  vt,  d, n_d, n_z , dz ; 
 // ========================================================================================
  for (int w1=0; w1<OrdersTotal(); w1++) 
  if ((OrderSelect(w1, SELECT_BY_POS, MODE_TRADES))&&  (OrderSymbol()==Symbol())&&
      (OrderType()==OP_BUY)||(OrderType()==OP_SELL))       profit+=OrderProfit() ;
  color colir ;  if(profit >0) colir = Color1 ; else colir = Color2;  
  // ========================================================================================
 if (BALANS) ObjectCreate( "BALANS", OBJ_LABEL,   0,0,0);    ObjectSet( "BALANS", OBJPROP_CORNER, 2); 
   ObjectSet( "BALANS", OBJPROP_XDISTANCE, 150);     ObjectSet( "BALANS", OBJPROP_YDISTANCE, 1);  
   ObjectSetText("BALANS",  DoubleToStr (profit / OrderLots () /MarketInfo (Symbol(), MODE_TICKVALUE) ,0) + 
   " p/" +  DoubleToStr (profit ,1)+ " $.   " + DoubleToStr (MarketInfo(Symbol(), MODE_SPREAD ),0)+"/"  +    
    DoubleToStr(MarketInfo(Symbol(), MODE_TICKVALUE),2)+" $," , FontSize, FontName, colir); 
 // ======================================================================================== 
   //-------------------------------------------------------------------------------------- 
   for (int t = 0; t <N  ; t++){   d = DoubleToStr(iHigh(NULL,0,t)/nPoint-iLow(NULL,0,t)/nPoint,0); 
  if (iClose(NULL,0,t) > iOpen(NULL,0,t))  { vt = " +" + d ; }
  if (iClose(NULL,0,t) < iOpen(NULL,0,t))  { vt = " -" + d ; }
  if (iClose(NULL,0,t) == iOpen(NULL,0,t)) { vt = " :" + d ; }    n_d = n_d+ vt; }  
     //+---------------------------------------------------------------------------------- 
   if (CLOCK)  ObjectCreate ("C_3", OBJ_LABEL, 0,0,0);  ObjectSetText("C_3", 
 //  "D/"+DoubleToStr  (iHigh(NULL,PERIOD_D1,0)/ nPoint-iLow(NULL,PERIOD_D1,0)/ nPoint,0) + ",  "+
   " " + n_d + " p. " +  "M" + Period() + "-" + (TimeCurrent()-Time[0])/60 + ":"+ (TimeCurrent()-Time[0])%60 + ", "+
  TimeToStr(TimeCurrent(), TIME_SECONDS),FontSize, FontName, colir); ObjectSet( "C_3", OBJPROP_CORNER,Corner); 
  ObjectSet("C_3",OBJPROP_XDISTANCE, XDistance);ObjectSet( "C_3", OBJPROP_YDISTANCE, YDistance);   
  ObjectSet("C_3",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1|OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1 );             
   //+-------------------------------------------------------------------------------------- 
   if (CLOCK) ObjectCreate("C_31", OBJ_LABEL, 0, 0, 0); ObjectSetText("C_31",  " " + n_d + "p,  "  +  
  TimeToStr(TimeCurrent(), TIME_SECONDS), FontSize, FontName, colir); ObjectSet("C_31",OBJPROP_CORNER, Corner); 
  ObjectSet("C_31", OBJPROP_XDISTANCE, XDistance);  ObjectSet("C_31", OBJPROP_YDISTANCE, YDistance);  
  ObjectSet("C_31",OBJPROP_TIMEFRAMES, OBJ_PERIOD_H4 |OBJ_PERIOD_D1| OBJ_PERIOD_W1 |OBJ_PERIOD_MN1 );   
 //========================================================================================  
  //Ïðîâåðêà http://time.yandex.ru/ Ïðè ïåðåõîäå íà ëåòíåå âðåìÿ äîáàâòå èëè îòíèìèòå 1 ÷àñ = 3600 ñåêóíä   
  //+------------------------------------------------------------------  
   if (Tokyo) ObjectCreate( "Tokyo", OBJ_LABEL, 0,0,0); ObjectSet( "Tokyo", OBJPROP_CORNER, 2 );
 ObjectSet( "Tokyo", OBJPROP_XDISTANCE, 2); ObjectSet( "Tokyo", OBJPROP_YDISTANCE, 2); 
 ObjectSetText("Tokyo", TimeToStr(CurTime()+28800, TIME_MINUTES), FontSize, FontName, colir);
 //+--------------------------------------------------------------------------------------- 
 if (New_York)  ObjectCreate( "New York", OBJ_LABEL, 0,0,0); ObjectSet( "New York", OBJPROP_CORNER,3);
 ObjectSet( "New York", OBJPROP_XDISTANCE, 3); ObjectSet( "New York", OBJPROP_YDISTANCE, 3); 
 ObjectSetText("New York", TimeToStr(CurTime()- 21600, TIME_MINUTES), FontSize, FontName, colir);
  //========================================================================================  
   if (Vertical_Line)  if (ObjectFind("FT")==-1){ ObjectCreate("FT",OBJ_FIBOTIMES,0,0,0,0,0);  
   ObjectSet("FT",OBJPROP_RAY,1);            ObjectSet("FT", OBJPROP_FIBOLEVELS, 6); // 4-24 
   ObjectSet("FT",OBJPROP_FIRSTLEVEL+0, 0);
   ObjectSet("FT",OBJPROP_FIRSTLEVEL+1, 1);  ObjectSet("FT", OBJPROP_FIRSTLEVEL+2, 2); 
   ObjectSet("FT",OBJPROP_FIRSTLEVEL+3, 3);  ObjectSet("FT", OBJPROP_FIRSTLEVEL+4, 4); 
   ObjectSet("FT",OBJPROP_LEVELSTYLE,2);     ObjectSet("FT",OBJPROP_LEVELCOLOR,LightSlateGray); // Gray
   ObjectSet("FT",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1|OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_M30);                   
 } ObjectSet("FT",OBJPROP_PRICE1,  iOpen(NULL,PERIOD_H4,0)+200000*nPoint);                          
   ObjectSet("FT",OBJPROP_TIME1,   iTime(NULL,PERIOD_H4,0));
   ObjectSet("FT",OBJPROP_PRICE2,  iOpen(NULL,PERIOD_H4,0)+200000*nPoint);                   
   ObjectSet("FT",OBJPROP_TIME2,   iTime(NULL,PERIOD_H4,0)+ 60*60); 
//=========================================================================================== 
  if (OPEN_H4)  if (ObjectFind("OPEN_H4")==-1){  ObjectCreate("OPEN_H4",OBJ_CHANNEL,0,0,0,0,0);  
  ObjectSet("OPEN_H4",OBJPROP_RAY,false);  ObjectSet("OPEN_H4",OBJPROP_STYLE,2); 
  ObjectSet("OPEN_H4",OBJPROP_COLOR,LightSlateGray);          // Gray  DarkGray 
  ObjectSet("OPEN_H4",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1|OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_M30 ); 
 }ObjectSet("OPEN_H4",OBJPROP_TIME1, iTime(NULL,PERIOD_H4,1));
  ObjectSet("OPEN_H4",OBJPROP_PRICE1,iOpen(NULL,PERIOD_H4,1));   
  ObjectSet("OPEN_H4",OBJPROP_TIME2, iTime(NULL,PERIOD_H4,0));
  ObjectSet("OPEN_H4",OBJPROP_PRICE2,iOpen(NULL,PERIOD_H4,1));   
  ObjectSet("OPEN_H4",OBJPROP_TIME3, iTime(NULL,PERIOD_H4,0));
  ObjectSet("OPEN_H4",OBJPROP_PRICE3,iOpen(NULL,PERIOD_H4,0)); 
  //=========================================================================================== 
    return(0);  }
  //======================================================================================== 
  double GetPoint(string vSymbol){
  int vres = StringFind(vSymbol,"JPY");
  if (vres == -1) return(0.0001); return(0.01);}  
 //========================================================================================
 //========================================================================================

Comments