//+--------------------------------------------------------------------------------
//|"×ÀÑÈÊÈ 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