//+——————————————————————+
//| i-Sessions.mq4 |
//| 疏?茹铕?? aka KimIV |
//| http://www.kimiv.ru |
//| |
//| 16.11.2005 软滂赅蝾?蝾疸钼 皴耨栝 |
//+——————————————————————+
#property copyright “疏?茹铕?? aka KimIV”
#property link “http://www.kimiv.ru”#property indicator_chart_window
//——- 马屮龛?镟疣戾蝠?桧滂赅蝾疣 ——————————-
extern int NumberOfDays = 50; // 暑腓麇耱忸 漤彘
extern string AsiaBegin = “01:00”; // 悟牮桢 噻栲蝰觐?皴耨梃
extern string AsiaEnd = “10:00”; // 青牮桢 噻栲蝰觐?皴耨梃
extern color AsiaColor = Goldenrod; // 肘弪 噻栲蝰觐?皴耨梃
extern string EurBegin = “07:00”; // 悟牮桢 邂痤镥轳觐?皴耨梃
extern string EurEnd = “16:00”; // 青牮桢 邂痤镥轳觐?皴耨梃
extern color EurColor = Tan; // 肘弪 邂痤镥轳觐?皴耨梃
extern string USABegin = “14:00”; // 悟牮桢 囔屦桕囗耜铋 皴耨梃
extern string USAEnd = “23:00”; // 青牮桢 囔屦桕囗耜铋 皴耨梃
extern color USAColor = PaleGreen; // 肘弪 囔屦桕囗耜铋 皴耨梃//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
void init() {
DeleteObjects();
for (int i=0; i<NumberOfDays; i++) {
CreateObjects(“AS”+i, AsiaColor);
CreateObjects(“EU”+i, EurColor);
CreateObjects(“US”+i, USAColor);
}
Comment(“”);
}//+——————————————————————+
//| Custor indicator deinitialization function |
//+——————————————————————+
void deinit() {
DeleteObjects();
Comment(“”);
}//+——————————————————————+
//| 杨玟囗桢 钺牝钼 桧滂赅蝾疣 |
//| 相疣戾蝠? |
//| no – 磬桁屙钼囗桢 钺牝? |
//| cl – 鲡弪 钺牝? |
//+——————————————————————+
void CreateObjects(string no, color cl) {
ObjectCreate(no, OBJ_RECTANGLE, 0, 0,0, 0,0);
ObjectSet(no, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(no, OBJPROP_COLOR, cl);
ObjectSet(no, OBJPROP_BACK, True);
}//+——————————————————————+
//| 愉嚯屙桢 钺牝钼 桧滂赅蝾疣 |
//+——————————————————————+
void DeleteObjects() {
for (int i=0; i<NumberOfDays; i++) {
ObjectDelete(“AS”+i);
ObjectDelete(“EU”+i);
ObjectDelete(“US”+i);
}
}//+——————————————————————+
//| Custom indicator iteration function |
//+——————————————————————+
void start() {
datetime dt=CurTime();for (int i=0; i<NumberOfDays; i++) {
DrawObjects(dt, “AS”+i, AsiaBegin, AsiaEnd);
DrawObjects(dt, “EU”+i, EurBegin, EurEnd);
DrawObjects(dt, “US”+i, USABegin, USAEnd);
dt=decDateTradeDay(dt);
while (TimeDayOfWeek(dt)>5) dt=decDateTradeDay(dt);
}
}//+——————————————————————+
//| 橡铕桉钼赅 钺牝钼 磬 沭圄桕? |
//| 相疣戾蝠? |
//| dt – 溧蜞 蝾疸钼钽?漤 |
//| no – 磬桁屙钼囗桢 钺牝? |
//| tb – 怵屐 磬鬣豚 皴耨梃 |
//| te – 怵屐 铌铐鬣龛 皴耨梃 |
//+——————————————————————+
void DrawObjects(datetime dt, string no, string tb, string te) {
datetime t1, t2;
double p1, p2;
int b1, b2;t1=StrToTime(TimeToStr(dt, TIME_DATE)+” “+tb);
t2=StrToTime(TimeToStr(dt, TIME_DATE)+” “+te);
b1=iBarShift(NULL, 0, t1);
b2=iBarShift(NULL, 0, t2);
p1=High[Highest(NULL, 0, MODE_HIGH, b1-b2, b2)];
p2=Low [Lowest (NULL, 0, MODE_LOW , b1-b2, b2)];
ObjectSet(no, OBJPROP_TIME1 , t1);
ObjectSet(no, OBJPROP_PRICE1, p1);
ObjectSet(no, OBJPROP_TIME2 , t2);
ObjectSet(no, OBJPROP_PRICE2, p2);
}//+——————————————————————+
//| 屿屙屙桢 溧螓 磬 钿桧 蝾疸钼 溴睃 |
//| 相疣戾蝠? |
//| dt – 溧蜞 蝾疸钼钽?漤 |
//+——————————————————————+
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));
}
//+——————————————————————+
暂无评论...