0
Views
0
Downloads
0
Favorites
Dolly_Trading Times _4
//+------------------------------------------------------------------+
//| Dolly_Trading Times #3.mq4 |
//| Copyright © 2006, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property link " Code used from i-ParamonWorkTime.mq4 "
#property indicator_chart_window
extern string Broker_GMT_Offset = "02:00";
extern int TradingTimes_NumberOfDays = 1;
extern string EUROPE_Open = "07:00 15:00";
extern color EUROPE_Color = Purple;
extern color EUROPE_TEXT_Color = Violet;
extern bool Show_EUROPE_Open = true;
extern string LONDON_Open = "07:30 15:30";
extern color LONDON_Color = MidnightBlue;
extern color LONDON_TEXT_Color = DodgerBlue;
extern bool Show_LONDON_Open = true;
extern string US_Open = "12:20 19:00";
extern color US_Color = Indigo;
extern color US_TEXT_Color = MediumPurple;
extern bool Show_US_Open = true;
extern string NZ_Open = "21:00 05:00";
extern color NZ_Color = Tomato;
extern color NZ_TEXT_Color = Tomato;
extern bool Show_NZ_Open = true;
extern string AU_Open = "23:00 06:00";
extern color AU_Color = Maroon;
extern color AU_TEXT_Color = Crimson;
extern bool Show_AU_Open = true;
extern string TOKIO_Open = "00:00 06:00";
extern color TOKIO_Color = Maroon;
extern color TOKIO_TEXT_Color = Crimson;
extern bool Show_TOKIO_Open = true;
extern string STOCK_Open = "13:30 20:00";
extern color STOCK_Color = Maroon;
extern color STOCK_TEXT_Color = YellowGreen;
extern bool Show_STOCK_Open = true;
extern bool Show_Daily_Trade_TEXT = true;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void init() {
DeleteObjects();
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
void deinit() {
DeleteObjects();
ObjectDelete("TT1");ObjectDelete("TT2");ObjectDelete("TT3");
ObjectDelete("TT4");ObjectDelete("TT5");ObjectDelete("TT6");
ObjectDelete("TT7");ObjectDelete("TT8");ObjectDelete("TT9");
ObjectDelete("TT10");ObjectDelete("TT11");ObjectDelete("TT12");
ObjectDelete("TT13");ObjectDelete("TT14");ObjectDelete("TT15");
ObjectDelete("TT16");ObjectDelete("TT17");ObjectDelete("TT18");
ObjectDelete("TT19");ObjectDelete("TT20");ObjectDelete("TT21");
}
void DeleteObjects() {
for (int i=0; i<TradingTimes_NumberOfDays; i++) {
ObjectDelete("DollyTIME1"+i);
ObjectDelete("DollyTIME2"+i);
ObjectDelete("DollyTIME3"+i);
ObjectDelete("DollyTIME4"+i);
}
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
void start()
{
DrawTradetimes();
}
void DrawTradetimes()
{
if (Show_Daily_Trade_TEXT==true)
{
int y = 390, ystep = 15;
datetime dt = TimeCurrent();
if(Show_EUROPE_Open)
{
ObjectDelete("TT1");
y = y + ystep;
TT1( "TT1", y, 12,4);
ObjectSetText( "TT1","EUROPE Open" , 9, "Arial", EUROPE_TEXT_Color);
ObjectDelete("TT2");
TT2( "TT2", y, 12,4);
if(intradetime(dt,EUROPE_Open) )
ObjectSetText( "TT2",""+ StringSubstr(EUROPE_Open,0,5) +"" , 9, "Arial", Green);
else
ObjectSetText( "TT2",""+ StringSubstr(EUROPE_Open,0,5) +"" , 9, "Arial", Silver);
ObjectDelete("TT3");
TT3( "TT3", y, 12,4);
ObjectSetText( "TT3",""+ StringSubstr(EUROPE_Open,6)+"" , 9, "Arial", Silver);
}
if(Show_LONDON_Open)
{
y = y + ystep;
ObjectDelete("TT4");
TT1( "TT4", y, 12,4);
ObjectSetText( "TT4","LONDON Open" , 9, "Arial", LONDON_TEXT_Color);
ObjectDelete("TT5");
TT2( "TT5", y, 12,4);
if(intradetime(dt,LONDON_Open) )
ObjectSetText( "TT5",""+ StringSubstr(LONDON_Open,0,5) +"" , 9, "Arial", Green);
else
ObjectSetText( "TT5",""+StringSubstr(LONDON_Open,0,5)+"" , 9, "Arial", Silver);
ObjectDelete("TT6");
TT3( "TT6", y, 12,4);
ObjectSetText( "TT6",""+ StringSubstr(LONDON_Open,6)+"" , 9, "Arial", Silver);
}
if(Show_US_Open)
{
y = y + ystep;
ObjectDelete("TT7");
TT1( "TT7", y, 12,4);
ObjectSetText( "TT7","US Open" , 9, "Arial", US_TEXT_Color);
ObjectDelete("TT8");
TT2( "TT8", y, 12,4);
if(intradetime(dt,US_Open) )
ObjectSetText( "TT8",""+ StringSubstr(US_Open,0,5) +"" , 9, "Arial", Green);
else
ObjectSetText( "TT8",""+StringSubstr(US_Open,0,5)+"" , 9, "Arial", Silver);
ObjectDelete("TT9");
TT3( "TT9", y, 12,4);
ObjectSetText( "TT9",""+ StringSubstr(US_Open,6)+"" , 9, "Arial", Silver);
}
if(Show_STOCK_Open)
{
y = y + ystep;
ObjectDelete("TT10");
TT1( "TT10", y, 12,4);
ObjectSetText( "TT10","STOCK OPEN" , 9, "Arial", STOCK_TEXT_Color );
ObjectDelete("TT11");
TT2( "TT11", y, 12,4);
if(intradetime(dt,STOCK_Open) )
ObjectSetText( "TT11",""+ StringSubstr(STOCK_Open,0,5) +"" , 9, "Arial", Green);
else
ObjectSetText( "TT11",""+StringSubstr(STOCK_Open,0,5)+"" , 9, "Arial", Silver);
ObjectDelete("TT12");
TT3( "TT12", y, 12,4);
ObjectSetText( "TT12",""+ StringSubstr(STOCK_Open,6)+"" , 9, "Arial", Silver);
}
if(Show_NZ_Open)
{
y = y + ystep;
ObjectDelete("TT19");
TT1( "TT19", y, 12,4);
ObjectSetText( "TT19","NZ OPEN" , 9, "Arial", NZ_TEXT_Color );
ObjectDelete("TT20");
TT2( "TT20", y, 12,4);
if(intradetime(dt,NZ_Open) )
ObjectSetText( "TT20",""+ StringSubstr(NZ_Open,0,5) +"" , 9, "Arial", Green);
else
ObjectSetText( "TT20",""+StringSubstr(NZ_Open,0,5)+"" , 9, "Arial", Silver);
ObjectDelete("TT21");
TT3( "TT21", y, 12,4);
ObjectSetText( "TT21",""+ StringSubstr(NZ_Open,6)+"" , 9, "Arial", Silver);
}
if(Show_AU_Open)
{
y = y + ystep;
ObjectDelete("TT13");
TT1( "TT13", y, 12,4);
ObjectSetText( "TT13","AU OPEN" , 9, "Arial", AU_TEXT_Color );
ObjectDelete("TT14");
TT2( "TT14", y, 12,4);
if(intradetime(dt,AU_Open) )
ObjectSetText( "TT14",""+ StringSubstr(AU_Open,0,5) +"" , 9, "Arial", Green);
else
ObjectSetText( "TT14",""+StringSubstr(AU_Open,0,5)+"" , 9, "Arial", Silver);
ObjectDelete("TT15");
TT3( "TT15", y, 15,4);
ObjectSetText( "TT15",""+ StringSubstr(AU_Open,6)+"" , 9, "Arial", Silver);
}
if(Show_TOKIO_Open)
{
y = y + ystep;
ObjectDelete("TT16");
TT1( "TT16", y, 12,4);
ObjectSetText( "TT16","TOKIO OPEN" , 9, "Arial", TOKIO_TEXT_Color );
ObjectDelete("TT17");
TT2( "TT17", y, 12,4);
if(intradetime(dt,TOKIO_Open) )
ObjectSetText( "TT17",""+ StringSubstr(TOKIO_Open,0,5) +"" , 9, "Arial", Green);
else
ObjectSetText( "TT17",""+StringSubstr(TOKIO_Open,0,5)+"" , 9, "Arial", Silver);
ObjectDelete("TT18");
TT3( "TT18", y, 15,4);
ObjectSetText( "TT18",""+ StringSubstr(TOKIO_Open,6)+"" , 9, "Arial", Silver);
}
}
}
bool intradetime(datetime dt, string tradetime)
{
string tradeb = StringSubstr(tradetime,0,5);
string tradee = StringSubstr(tradetime,6);
datetime t1 = StrToTime(TimeToStr(dt,TIME_DATE) + " " + tradeb);
datetime t2 = StrToTime(TimeToStr(dt,TIME_DATE) + " " + tradee);
t1 = brokertime(t1);
t2 = brokertime(t2);
if(t1>t2)
t1 = t1 - oneday();
if(dt >= t1 && dt<=t2)
return(true);
else
return(false);
}
datetime brokertime(datetime GMTtime)
{
datetime offset = StrToTime(TimeToStr(GMTtime,TIME_DATE) + " " + Broker_GMT_Offset)
-StrToTime(TimeToStr(GMTtime,TIME_DATE));
return (GMTtime + offset);
}
datetime oneday()
{
datetime dt = TimeCurrent();
string span = "23:59:59";
datetime re = StrToTime(TimeToStr(dt,TIME_DATE) + " " + span)
-StrToTime(TimeToStr(dt,TIME_DATE)) + 1;
return (re);
}
datetime decDateTradeDay (datetime dt) {
int ty=TimeYear(dt);
int tm=TimeMonth(dt);
int td=TimeDay(dt);
int th=TimeHour(dt);
int ti=TimeMinute(dt);
td--;
if (td==0) {
tm--;
if (tm==0) {
ty--;
tm=12;
}
if (tm==1 || tm==3 || tm==5 || tm==7 || tm==8 || tm==10 || tm==12) td=31;
if (tm==2) if (MathMod(ty, 4)==0) td=29; else td=28;
if (tm==4 || tm==6 || tm==9 || tm==11) td=30;
}
return(StrToTime(ty+"."+tm+"."+td+" "+th+":"+ti));
}
//+------------------------------------------------------------------+
int TT1( string Text, int xOffset, int yOffset,int iCorner) //TITLE
{ ObjectCreate(Text,OBJ_LABEL , 0, 0, 0 );
ObjectSet (Text,OBJPROP_CORNER , iCorner);
ObjectSet (Text,OBJPROP_XDISTANCE , 20);
ObjectSet (Text,OBJPROP_YDISTANCE , xOffset );
ObjectSet (Text,OBJPROP_BACK , True );
}
int TT2( string Text, int xOffset, int yOffset,int iCorner) //TITLE
{ ObjectCreate(Text,OBJ_LABEL , 0, 0, 0 );
ObjectSet (Text,OBJPROP_CORNER , iCorner);
ObjectSet (Text,OBJPROP_XDISTANCE , 120);
ObjectSet (Text,OBJPROP_YDISTANCE , xOffset );
ObjectSet (Text,OBJPROP_BACK , True );
}
int TT3( string Text, int xOffset, int yOffset,int iCorner) //TITLE
{ ObjectCreate(Text,OBJ_LABEL , 0, 0, 0 );
ObjectSet (Text,OBJPROP_CORNER , iCorner);
ObjectSet (Text,OBJPROP_XDISTANCE , 160);
ObjectSet (Text,OBJPROP_YDISTANCE , xOffset );
ObjectSet (Text,OBJPROP_BACK , True );
}
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
---