Price Data Components
1
Views
0
Downloads
0
Favorites
# OTCFX_b-clock modified V3.2-sw_v1
//+------------------------------------------------------------------+
//| #OTCFX b-clock_SW.mq4 |
//| Core time code by Nick Bilak |
//| http://metatrader.50webs.com/ |
//| beluck[at]gmail.com |
//| modified by adoleh2000 and dwt5 |
//| Modified and improved by "OTCFX" |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, Nick Bilak"
#property link "http://metatrader.50webs.com/"
//----
#property indicator_separate_window
#property indicator_color1 Aqua
//----
extern color BClockClr= Aqua;
extern color ClksColor= Lime;
extern color TDCOL= Aqua;
extern bool show.Bclk=true ;
extern string myFont ="Arial Bold" ;
extern string myFont2 ="Verdana Bold" ;
//extern int myCFontSize = 20 ;
//extern int myCLKSize = 16 ;
extern bool show.M1=true ;
extern bool show.M5=true ;
extern bool show.M15=true ;
extern bool show.M30=true ;
extern bool show.M60=true ;
extern bool show.M240=true ;
extern bool show.M1440=true ;
int TimeFrame =0 ;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
double s1[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{
IndicatorShortName("CLKV3");
//{
switch(TimeFrame)
{
case 1 : string TimeFrameStr="M1"; break;
case 5 : TimeFrameStr= "M5"; break;
case 15 : TimeFrameStr= "M15"; break;
case 30 : TimeFrameStr= "M30"; break;
case 60 : TimeFrameStr= "H1"; break;
case 240 : TimeFrameStr= "H4"; break;
case 1440 : TimeFrameStr= "D1"; break;
case 10080 : TimeFrameStr= "W1"; break;
case 43200 : TimeFrameStr= "MN1"; break;
default : TimeFrameStr= "CurrTF";
}
//if (TimeFrame<Period()) TimeFrame=Period();
return(0);
}
return(0);
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int deinit()
{
ObjectDelete("time");
ObjectDelete("timey");
ObjectDelete("time1");
ObjectDelete("time2");
ObjectDelete("time3");
ObjectDelete("time4");
ObjectDelete("time5");
ObjectDelete("time6");
ObjectDelete("time7");
ObjectDelete("time8");
ObjectDelete("T1");
ObjectDelete("T2");
ObjectDelete("T3");
Comment("");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
double i,i1,i2,i3,i4,i5,i6,i7;
int m,s,k,
m0, m1,m2,m3,m4,m5,m6,m7,
s0, s1,s2,s3,s4,s5,s6,s7,
h,h1,h2,h3,h4,h5,h6,h7;
if (TimeFrame ==0)TimeFrame=Period();
m=iTime(NULL,TimeFrame,0)+TimeFrame*60 - TimeCurrent();
// m=Time[0]+Period()*60-CurTime();
m1=iTime(NULL,1440,0)+1440*60-CurTime();
m2=iTime(NULL,240,0)+240*60-CurTime();
m3=iTime(NULL,60,0)+60*60-CurTime();
m4=iTime(NULL,30,0)+30*60-CurTime();
m5=iTime(NULL,15,0)+15*60-CurTime();
m6=iTime(NULL,5,0)+5*60-CurTime();
m7=iTime(NULL,1,0)+1*60-CurTime();
//----
i=m/60.0;
i1=m1/60.0;
i2=m2/60.0;
i3=m3/60.0;
i4=m4/60.0;
i5=m5/60.0;
i6=m6/60.0;
i7=m7/60.0;
//----
s=m%60;
s0=m%60;
s1=m1%60;
s2=m2%60;
s3=m3%60;
s4=m4%60;
s5=m5%60;
s6=m6%60;
s7=m7%60;
//----
m=(m-m%60)/60;
m0=(m-m%60)/60;
m1=(m1-m1%60)/60;
m2=(m2-m2%60)/60;
m3=(m3-m3%60)/60;
m4=(m4-m4%60)/60;
m5=(m5-m5%60)/60;
m6=(m6-m6%60)/60;
m7=(m7-m7%60)/60;
//----
h=m/60;
h1=m1/60;
h2=m2/60;
h3=m3/60;
h4=m4/60;
h5=m5/60;
h6=m6/60;
h7=m7/60;
//----
string Bclk= " <"+m+":"+s;
string M1= "|M1| "+m7+"m :"+s7;
string M5= "|M5| "+m6+"m :"+s6;
string M15= "|M15| "+m5+"m :"+s5;
string M30= "|M30| "+m4+"m :"+s4;
string M60= "|M60| "+m3+"m :"+s3;
string M240= "|H4| "+m2+"m :"+s2;
string M1440= "|D1| "+m1+"m :"+s1;
//----
if(show.Bclk )
{
Comment( m + " minutes " + s + " seconds left to bar end");}
ObjectDelete("time");
if(ObjectFind("time")!=0)
{
if(show.Bclk )
{
ObjectCreate("time", OBJ_TEXT, 0, Time[0], Close[0]+ 0.0000);}
if(show.Bclk )
{
ObjectSetText("time",StringSubstr((Bclk),0), 10, "Verdana Bold" ,BClockClr);}
//ObjectDelete("time");
}
else
{
ObjectMove("time", 0, Time[0], Close[0]+0.0005);
//ObjectDelete("time");
}
{
string P=Period();
// string M15= "M15 "+m5+"m : "+s5;
// ObjectCreate("time1", OBJ_LABEL, 0, 0, 0);
// ObjectSetText("time1"," "+m+"m : "+s , myCFontSize, myFont ,TDCOL);
// ObjectSet("time1", OBJPROP_CORNER,3);
// ObjectMove("time1", 0, Time[0], Close[0]+0.0005);
// ObjectSet("time1", OBJPROP_XDISTANCE, 10);
// ObjectSet("time1", OBJPROP_YDISTANCE,10 );
//----
// ObjectCreate("T1", OBJ_LABEL,WindowFind("CLKV3"), 0, 0);
// ObjectSetText("T1",StringSubstr((P),0),myCFontSize, "Verdana", TDCOL);
// ObjectSet("T1", OBJPROP_CORNER, 3);
// ObjectSet("T1", OBJPROP_XDISTANCE, 70);
// ObjectSet("T1", OBJPROP_YDISTANCE, 65);
ObjectCreate("T2", OBJ_LABEL, WindowFind("CLKV3"), 0, 0);
ObjectSetText("T2",TimeToStr(CurTime(),TIME_SECONDS),11, "Verdana Bold", TDCOL);
ObjectSet("T2", OBJPROP_CORNER, 0);
ObjectSet("T2", OBJPROP_XDISTANCE, 250);
ObjectSet("T2", OBJPROP_YDISTANCE, 5);
ObjectCreate("T3", OBJ_LABEL, WindowFind("CLKV3"), 0, 0);
ObjectSetText("T3",TimeToStr(CurTime(),TIME_DATE),10, "Verdana", TDCOL);
ObjectSet("T3", OBJPROP_CORNER, 0);
ObjectSet("T3", OBJPROP_XDISTANCE, 155);
ObjectSet("T3", OBJPROP_YDISTANCE, 5);
if(show.M1)
{
ObjectCreate("time2", OBJ_LABEL, WindowFind("CLKV3"), 0, 0);
ObjectSetText("time2",StringSubstr((M1),0), 16, myFont ,ClksColor);
ObjectSet("time2", OBJPROP_CORNER, 0);
ObjectSet("time2", OBJPROP_XDISTANCE, 10);
ObjectSet("time2", OBJPROP_YDISTANCE, 24);
}
if(show.M5)
{
ObjectCreate("time3", OBJ_LABEL, WindowFind("CLKV3"), 0, 0);
ObjectSetText("time3",StringSubstr((M5),0) , 16, myFont ,ClksColor);
ObjectSet("time3", OBJPROP_CORNER, 0);
ObjectSet("time3", OBJPROP_XDISTANCE, 150);
ObjectSet("time3", OBJPROP_YDISTANCE, 24);
}
if(show.M15)
{
ObjectCreate("time4", OBJ_LABEL, WindowFind("CLKV3"), 0, 0);
ObjectSetText("time4",StringSubstr((M15),0), 16, myFont ,ClksColor);
ObjectSet("time4", OBJPROP_CORNER, 0);
ObjectSet("time4", OBJPROP_XDISTANCE, 280);
ObjectSet("time4", OBJPROP_YDISTANCE, 24);
}
if(show.M30)
{
ObjectCreate("time5", OBJ_LABEL, WindowFind("CLKV3"), 0, 0);
ObjectSetText("time5",StringSubstr((M30),0), 16, myFont ,ClksColor);
ObjectSet("time5", OBJPROP_CORNER, 0);
ObjectSet("time5", OBJPROP_XDISTANCE, 430);
ObjectSet("time5", OBJPROP_YDISTANCE, 24);}
if(show.M60)
{
ObjectCreate("time6", OBJ_LABEL, WindowFind("CLKV3"), 0, 0);
ObjectSetText("time6",StringSubstr((M60),0), 16, myFont ,ClksColor);
ObjectSet("time6", OBJPROP_CORNER, 0);
ObjectSet("time6", OBJPROP_XDISTANCE, 580);
ObjectSet("time6", OBJPROP_YDISTANCE, 24);
}
if(show.M240)
{
ObjectCreate("time7", OBJ_LABEL, WindowFind("CLKV3"), 0, 0);
ObjectSetText("time7",StringSubstr((M240),0), 16, myFont ,ClksColor);
ObjectSet("time7", OBJPROP_CORNER, 0);
ObjectSet("time7", OBJPROP_XDISTANCE, 740);
ObjectSet("time7", OBJPROP_YDISTANCE, 24);
}
if(show.M1440)
{
ObjectCreate("time8", OBJ_LABEL, WindowFind("CLKV3"), 0, 0);
ObjectSetText("time8",StringSubstr((M1440),0), 16, myFont ,ClksColor);
ObjectSet("time8", OBJPROP_CORNER, 0);
ObjectSet("time8", OBJPROP_XDISTANCE, 876);
ObjectSet("time8", OBJPROP_YDISTANCE, 24);
}
ObjectCreate("time9", OBJ_LABEL, WindowFind("CLKV3"), 0, 0);
ObjectSetText("time9","B-ClockV3", 13, "Verdana Bold", Orchid);
ObjectSet("time9", OBJPROP_CORNER, 0);
ObjectSet("time9", OBJPROP_XDISTANCE, 40);
ObjectSet("time9", OBJPROP_YDISTANCE, 1);
}
//----
return(0);
}
//+------------------------------------------------------------------+
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---