Jenis Input Input Eksternal?
Ini sangat sederhana. Saya hanya perlu menambahkan input eksternal untuk preferensi font yang mencetak harga di atas kotak sesi.
Ada saran? Saya bukan coder btw.
Inserted Code/ ------------------------------------------------------------------ /| i-Sessions.mq4 |/| #1050;#1080;#1084; #1048;#1075;#1086;#1088;#1100; #1042;. aka KimIV |/| http://www.kimiv.ru |/| |/| 16.11.2005 #1048;#1085;#1076;#1080;#1082;#1072;#1090;#1086;#1 088; #1090;#1086;#1088;#1075;#1086;#1074;#1099;#1093; #1089;#1077;#1089;#1089;#1080;#1081; |/ ------------------------------------------------------------------ #property copyright #1050;#1080;#1084; #1048;#1075;#1086;#1088;#1100; #1042;. aka KimIV #property link http://www.kimiv.ru #property indior_chart_window/------- #1042;#1085;#1077;#1096;#1085;#1080;#1077; #1087;#1072;#1088;#1072;#1084;#1077;#1090;#1088;#1 099; #1080;#1085;#1076;#1080;#1082;#1072;#1090;#1086;#1 088;#1072; ------------------------------- extern int NumberOfDays = 2; /#1050;#1086;#1083;#1080;#1095;#1077;#1089;#1090;#1 074;#1086; #1076;#1085;#1077;#1081; extern string AsiaBegin = 01:00; /#1054;#1090;#1082;#1088;#1099;#1090;#1080;#1077; #1072;#1079;#1080;#1072;#1090;#1089;#1082;#1086;#1 081; #1089;#1077;#1089;#1089;#1080;#1080; extern string AsiaEnd = 10:00; /#1047;#1072;#1082;#1088;#1099;#1090;#1080;#1077; #1072;#1079;#1080;#1072;#1090;#1089;#1082;#1086;#1 081; #1089;#1077;#1089;#1089;#1080;#1080; extern color AsiaColor = Goldenrod;/#1062;#1074;#1077;#1090; #1072;#1079;#1080;#1072;#1090;#1089;#1082;#1086;#1 081; #1089;#1077;#1089;#1089;#1080;#1080; extern string EurBegin = 07:00; /#1054;#1090;#1082;#1088;#1099;#1090;#1080;#1077; #1077;#1074;#1088;#1086;#1087;#1077;#1081;#1089;#1 082;#1086;#1081; #1089;#1077;#1089;#1089;#1080;#1080; extern string EurEnd = 16:00; /#1047;#1072;#1082;#1088;#1099;#1090;#1080;#1077; #1077;#1074;#1088;#1086;#1087;#1077;#1081;#1089;#1 082;#1086;#1081; #1089;#1077;#1089;#1089;#1080;#1080; extern color EurColor = Tan; /#1062;#1074;#1077;#1090; #1077;#1074;#1088;#1086;#1087;#1077;#1081;#1089;#1 082;#1086;#1081; #1089;#1077;#1089;#1089;#1080;#1080; extern string USABegin = 14:00; /#1054;#1090;#1082;#1088;#1099;#1090;#1080;#1077; #1072;#1084;#1077;#1088;#1080;#1082;#1072;#1085;#1 089;#1082;#1086;#1081; #1089;#1077;#1089;#1089;#1080;#1080; extern string USAEnd = 23:00; /#1047;#1072;#1082;#1088;#1099;#1090;#1080;#1077; #1072;#1084;#1077;#1088;#1080;#1082;#1072;#1085;#1 089;#1082;#1086;#1081; #1089;#1077;#1089;#1089;#1080;#1080; extern color USAColor = Pink; /#1062;#1074;#1077;#1090; #1072;#1084;#1077;#1088;#1080;#1082;#1072;#1085;#1 089;#1082;#1086;#1081; #1089;#1077;#1089;#1089;#1080;#1080; extern bool ShowPrice = True; /#1055;#1086;#1082;#1072;#1079;#1099;#1074;#1072;#1 090;#1100; #1094;#1077;#1085;#1086;#1074;#1099;#1077; #1091;#1088;#1086;#1074;#1085;#1080; extern color clFont = Blue; /#1062;#1074;#1077;#1090; #1096;#1088;#1080;#1092;#1090;#1072; extern int SizeFont = 8; /#1056;#1072;#1079;#1084;#1077;#1088; #1096;#1088;#1080;#1092;#1090;#1072; extern int OffSet = 10; /#1057;#1084;#1077;#1097;#1077;#1085;#1080;#1077; / ------------------------------------------------------------------ /| Custom indior initialization function |/ ------------------------------------------------------------------ void init() { DeleteObjects(); for (int i=0; ilt;NumberOfDays; i ) { CreateObjects(AS i, AsiaColor); CreateObjects(EU i, EurColor); CreateObjects(US i, USAColor); } Comment(); }/ ------------------------------------------------------------------ /| Custor indior deinitialization function |/ ------------------------------------------------------------------ void deinit() { DeleteObjects(); Comment(); }/ ------------------------------------------------------------------ /| #1057;#1086;#1079;#1076;#1072;#1085;#1080;#1077; #1086;#1073;#1098;#1077;#1082;#1090;#1086;#1074; #1080;#1085;#1076;#1080;#1082;#1072;#1090;#1086;#1 088;#1072; |/| #1055;#1072;#1088;#1072;#1084;#1077;#1090;#1088;#1 099;: |/| no - #1085;#1072;#1080;#1084;#1077;#1085;#1086;#1074;#1 072;#1085;#1080;#1077; #1086;#1073;#1098;#1077;#1082;#1090;#1072; |/| cl - #1094;#1074;#1077;#1090; #1086;#1073;#1098;#1077;#1082;#1090;#1072; |/ ------------------------------------------------------------------ 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); }/ ------------------------------------------------------------------ /| #1059;#1076;#1072;#1083;#1077;#1085;#1080;#1077; #1086;#1073;#1098;#1077;#1082;#1090;#1086;#1074; #1080;#1085;#1076;#1080;#1082;#1072;#1090;#1086;#1 088;#1072; |/ ------------------------------------------------------------------ void DeleteObjects() { for (int i=0; ilt;NumberOfDays; i ) { ObjectDelete(AS i); ObjectDelete(EU i); ObjectDelete(US i); } ObjectDelete(ASup); ObjectDelete(ASdn); ObjectDelete(EUup); ObjectDelete(EUdn); ObjectDelete(USup); ObjectDelete(USdn); }/ ------------------------------------------------------------------ /| Custom indior iteration function |/ ------------------------------------------------------------------ void start() { datetime dt=CurTime(); for (int i=0; ilt;NumberOfDays; i ) { if (ShowPrice i==0) { DrawPrices(dt, AS, AsiaBegin, AsiaEnd); DrawPrices(dt, EU, EurBegin, EurEnd); DrawPrices(dt, US, USABegin, USAEnd); } DrawObjects(dt, AS i, AsiaBegin, AsiaEnd); DrawObjects(dt, EU i, EurBegin, EurEnd); DrawObjects(dt, US i, USABegin, USAEnd); dt=decDateTradeDay(dt); while (TimeDayOfWeek(dt)gt;5) dt=decDateTradeDay(dt); } }/ ------------------------------------------------------------------ /| #1055;#1088;#1086;#1088;#1080;#1089;#1086;#1074;#1 082;#1072; #1086;#1073;#1098;#1077;#1082;#1090;#1086;#1074; #1085;#1072; #1075;#1088;#1072;#1092;#1080;#1082;#1077; |/| #1055;#1072;#1088;#1072;#1084;#1077;#1090;#1088;#1 099;: |/| dt - #1076;#1072;#1090;#1072; #1090;#1086;#1088;#1075;#1086;#1074;#1086;#1075;#1 086; #1076;#1085;#1103; |/| no - #1085;#1072;#1080;#1084;#1077;#1085;#1086;#1074;#1 072;#1085;#1080;#1077; #1086;#1073;#1098;#1077;#1082;#1090;#1072; |/| tb - #1074;#1088;#1077;#1084;#1103; #1085;#1072;#1095;#1072;#1083;#1072; #1089;#1077;#1089;#1089;#1080;#1080; |/| te - #1074;#1088;#1077;#1084;#1103; #1086;#1082;#1086;#1085;#1095;#1072;#1085;#1080;#1 103; #1089;#1077;#1089;#1089;#1080;#1080; |/ ------------------------------------------------------------------ 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#91;Highest(NULL, 0, MODE_HIGH, b1-b2, b2)#93;; p2=Low #91;Lowest (NULL, 0, MODE_LOW , b1-b2, b2)#93;; ObjectSet(no, OBJPROP_TIME1 , t1); ObjectSet(no, OBJPROP_PRICE1, p1); ObjectSet(no, OBJPROP_TIME2 , t2); ObjectSet(no, OBJPROP_PRICE2, p2); }/ ------------------------------------------------------------------ /| #1055;#1088;#1086;#1088;#1080;#1089;#1086;#1074;#1 082;#1072; #1094;#1077;#1085;#1086;#1074;#1099;#1093; #1084;#1077;#1090;#1086;#1082; #1085;#1072; #1075;#1088;#1072;#1092;#1080;#1082;#1077; |/| #1055;#1072;#1088;#1072;#1084;#1077;#1090;#1088;#1 099;: |/| dt - #1076;#1072;#1090;#1072; #1090;#1086;#1088;#1075;#1086;#1074;#1086;#1075;#1 086; #1076;#1085;#1103; |/| no - #1085;#1072;#1080;#1084;#1077;#1085;#1086;#1074;#1 072;#1085;#1080;#1077; #1086;#1073;#1098;#1077;#1082;#1090;#1072; |/| tb - #1074;#1088;#1077;#1084;#1103; #1085;#1072;#1095;#1072;#1083;#1072; #1089;#1077;#1089;#1089;#1080;#1080; |/| te - #1074;#1088;#1077;#1084;#1103; #1086;#1082;#1086;#1085;#1095;#1072;#1085;#1080;#1 103; #1089;#1077;#1089;#1089;#1080;#1080; |/ ------------------------------------------------------------------ void DrawPrices(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#91;Highest(NULL, 0, MODE_HIGH, b1-b2, b2)#93;; p2=Low #91;Lowest (NULL, 0, MODE_LOW , b1-b2, b2)#93;; if (ObjectFind(no up)lt;0) ObjectCreate(no up, OBJ_TEXT, 0, 0,0); ObjectSet(no up, OBJPROP_TIME1 , t2); ObjectSet(no up, OBJPROP_PRICE1 , p1 OffSet*Point); ObjectSet(no up, OBJPROP_COLOR , clFont); ObjectSet(no up, OBJPROP_FONTSIZE, SizeFont); ObjectSetText(no up, DoubleToStr(p1 Ask-Bid, Digits)); if (ObjectFind(no dn)lt;0) ObjectCreate(no dn, OBJ_TEXT, 0, 0,0); ObjectSet(no dn, OBJPROP_TIME1 , t2); ObjectSet(no dn, OBJPROP_PRICE1 , p2); ObjectSet(no dn, OBJPROP_COLOR , clFont); ObjectSet(no dn, OBJPROP_FONTSIZE, SizeFont); ObjectSetText(no dn, DoubleToStr(p2, Digits)); }/ ------------------------------------------------------------------ /| #1059;#1084;#1077;#1085;#1100;#1096;#1077;#1085;#1 080;#1077; #1076;#1072;#1090;#1099; #1085;#1072; #1086;#1076;#1080;#1085; #1090;#1086;#1088;#1075;#1086;#1074;#1099;#1081; #1076;#1077;#1085;#1100; |/| #1055;#1072;#1088;#1072;#1084;#1077;#1090;#1088;#1 099;: |/| dt - #1076;#1072;#1090;#1072; #1090;#1086;#1088;#1075;#1086;#1074;#1086;#1075;#1 086; #1076;#1085;#1103; |/ ------------------------------------------------------------------ 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)); }/ ------------------------------------------------------------------