//+------------------------------------------------------------------+ //| (T_S_R)-DATA WINDOW#2.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 "Display by cja" // Thanks to the coders who supplied some of the code // & Xdard777 for his MM labels code. #property indicator_separate_window #property indicator_buffers 3 //---- indicator buffers #define Daily "Daily" #define Daily1 "Daily1" #define Daily2 "Daily2" #define OP1 "OP1" color DailyColor =Maroon; color DailyColor1 =DarkGreen; color DailyColor2= Lime;//C'0,44,09' //---- buffers //---- input parameters int shift=0,i2=0,WorkTime=0,Periods=0,CurPeriod=0,nTime=0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { IndicatorShortName("ATM_TSRdata"); return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- ObjectDelete(Daily); ObjectDelete(DailyColor); ObjectDelete(Daily1); ObjectDelete(DailyColor1); ObjectDelete(Daily2); ObjectDelete(DailyColor2); ObjectsDeleteAll(0,OBJ_TRENDBYANGLE); ObjectsDeleteAll(0,OBJ_RECTANGLE); ObjectsDeleteAll(0, OBJ_TEXT); ObjectsDeleteAll(0, OBJ_LABEL); ObjectDelete(OP1); Comment(""); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { CreateOP(); } void CreateObj2(string objName2, double start, double end, color clr) { ObjectCreate(objName2, OBJ_TRENDBYANGLE, 0, iTime(NULL,1440,0), start, Time[0], end); // ObjectSet(objName2, OBJPROP_COLOR, clr); ObjectSet(objName2, OBJPROP_COLOR, Green); ObjectSet(objName2,OBJPROP_RAY,false); ObjectSet(objName2,OBJPROP_WIDTH,5); } ObjectDelete(OP1); void CreateOP() { ObjectsDeleteAll(0,OBJ_TRENDBYANGLE); CreateHL(); } void CreateObj(string objName, double start, double end, color clr) { // ObjectCreate(objName, OBJ_RECTANGLE, 0, iTime(NULL,1440,0), start, Time[0], end); // ObjectSet(objName, OBJPROP_COLOR, clr); // ObjectCreate(objName, OBJ_RECTANGLE, 0, iTime(NULL,1440,0), 0, Time[0],0); // ObjectSet(objName, OBJPROP_COLOR, clr); } void DeleteObjects() { ObjectDelete(Daily); ObjectDelete(DailyColor); ObjectDelete(Daily1); ObjectDelete(DailyColor1); ObjectDelete(Daily2); ObjectDelete(DailyColor2); } void CreateHL() { DeleteObjects(); double HI2 = iHigh(NULL,1440,0); double LOW2 = iLow(NULL,1440,0); double HI3 = iHigh(NULL,1440,1); double LOW3 = iLow(NULL,1440,1); double HI4 = iHigh(NULL,1440,0); double LOW4 = iLow(NULL,1440,0); double HI5 = iHigh(NULL,1440,2); double LOW5 = iLow(NULL,1440,2); double HI6 = iHigh(NULL,1440,3); double LOW6 = iLow(NULL,1440,3); double HI7 = iHigh(NULL,1440,4); double LOW7 = iLow(NULL,1440,4); double HI8 = iHigh(NULL,1440,5); double LOW8 = iLow(NULL,1440,5); double HI9 = iHigh(NULL,1440,6); double LOW9 = iLow(NULL,1440,6); double HI10 = iHigh(NULL,1440,7); double LOW10 = iLow(NULL,1440,7); double HI11 = iHigh(NULL,1440,8); double LOW11 = iLow(NULL,1440,8); double HI12 = iHigh(NULL,1440,9); double LOW12 = iLow(NULL,1440,9); double HI13 = iHigh(NULL,1440,10); double LOW13 = iLow(NULL,1440,10); double HI14 = iHigh(NULL,1440,11); double LOW14 = iLow(NULL,1440,11); double HI15 = iHigh(NULL,1440,12); double LOW15 = iLow(NULL,1440,12); double HI16 = iHigh(NULL,1440,13); double LOW16 = iLow(NULL,1440,13); double HI17 = iHigh(NULL,1440,14); double LOW17 = iLow(NULL,1440,14); double HI18 = iHigh(NULL,1440,15); double LOW18 = iLow(NULL,1440,15); double HI19 = iHigh(NULL,1440,16); double LOW19 = iLow(NULL,1440,16); double HI20 = iHigh(NULL,1440,17); double LOW20 = iLow(NULL,1440,17); double HI21 = iHigh(NULL,1440,18); double LOW21 = iLow(NULL,1440,18); double HI22 = iHigh(NULL,1440,19); double LOW22 = iLow(NULL,1440,19); double HI23 = iHigh(NULL,1440,20); double LOW23 = iLow(NULL,1440,20); double OPEN = iOpen(NULL,1440,0); double CLOSE = iClose(NULL,1440,0); double ONE = (HI3-LOW3)/2; double FIVE = ((HI3-LOW3)+(HI5-LOW5)+(HI6-LOW6)+(HI7-LOW7)+(HI8-LOW8))/10; double TEN = ((HI3-LOW3)+(HI5-LOW5)+(HI6-LOW6)+(HI7-LOW7)+(HI8-LOW8)+ (HI9-LOW9)+(HI10-LOW10)+(HI11-LOW11)+(HI12-LOW12)+(HI13-LOW13))/20; double TWENTY = ((HI3-LOW3)+(HI5-LOW5)+(HI6-LOW6)+(HI7-LOW7)+(HI8-LOW8)+ (HI9-LOW9)+(HI10-LOW10)+(HI11-LOW11)+(HI12-LOW12)+(HI13-LOW13)+ (HI14-LOW14)+(HI15-LOW15)+(HI16-LOW16)+(HI17-LOW17)+(HI18-LOW18)+ (HI19-LOW19)+(HI20-LOW20)+(HI21-LOW21)+(HI22-LOW22)+(HI23-LOW23))/40; double AV = (ONE+FIVE+TEN+TWENTY)/4;// New Setting AV = (FIVE+TEN+TWENTY)/3; double HIDaily = iHigh(NULL,1440,0)-(AV); double LOWDaily = iLow(NULL,1440,0)+(AV); double HIDaily1 = iHigh(NULL,1440,0); double LOWDaily1 =iLow(NULL,1440,0); double HIDaily2 = iHigh(NULL,1440,0)-(AV)*2; double LOWDaily2 =iLow(NULL,1440,0)+(AV)*2; double CURRPRICE = iMA(Symbol(),0,1,0,MODE_EMA,PRICE_CLOSE,0); //Short Average if(ObjectFind("HIDaily1") != 0) { //ObjectCreate("HIDaily1", OBJ_TEXT, 0, Time[0], HIDaily); //ObjectSetText("HIDaily1", " SHORT Entry", 9, "Verdana", Black); } else { //ObjectMove("HIDaily1", 0, Time[0], HIDaily); } //High Average if(ObjectFind("HIDaily2") != 0) { //ObjectCreate("HIDaily2", OBJ_TEXT, 0, Time[0], LOWDaily); //ObjectSetText("HIDaily2", " LONG Entry", 9, "Verdana", Black); } else { //ObjectMove("HIDaily2", 0, Time[0], LOWDaily); } //Today's High if(ObjectFind("HIDaily3") != 0) { //ObjectCreate("HIDaily3", OBJ_TEXT, 0, Time[0], HI4); //ObjectSetText("HIDaily3", " High ", 9, "Verdana", Black); } else { //ObjectMove("HIDaily3", 0, Time[0], HI4); } //Todays Low if(ObjectFind("HIDaily4") != 0) { //ObjectCreate("HIDaily4", OBJ_TEXT, 0, Time[0], LOW4); //ObjectSetText("HIDaily4", " Low ", 9, "Verdana", Black); } else { //ObjectMove("HIDaily4", 0, Time[0], LOW4); } //Open if(ObjectFind("HIDaily5") != 0) { //ObjectCreate("HIDaily5", OBJ_TEXT, 0, Time[2], OPEN); //ObjectSetText("HIDaily5", "Open", 9, "Verdana",Black); } else { //ObjectMove("HIDaily5", 0, Time[2], OPEN); } //Bottom of Daily Range if(ObjectFind("HIDaily6") != 0) { //ObjectCreate("HIDaily6", OBJ_TEXT, 0, Time[8],HIDaily2); //ObjectSetText("HIDaily6", "Bottom Daily Range", 9, "Verdana",SandyBrown); } else { //ObjectMove("HIDaily6", 0, Time[8], HIDaily2); } //TOP of Daily Range if(ObjectFind("HIDaily7") != 0) { //ObjectCreate("HIDaily7", OBJ_TEXT, 0, Time[7],LOWDaily2); //ObjectSetText("HIDaily7", "Top Daily Range", 9, "Verdana",SandyBrown); } else { //ObjectMove("HIDaily7", 0, Time[7], LOWDaily2); } { if( (WorkTime != Time[0]) || (Periods != Period()) ) { CreateObj(Daily, HIDaily, LOWDaily, DailyColor); CreateObj(Daily1, HIDaily1, LOWDaily1, DailyColor1); CreateObj(Daily2, HIDaily2, LOWDaily2, DailyColor2); CreateObj2(OP1,OPEN,OPEN, Coral);} ObjectCreate("ATSR2", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR2","50% Avg Daily Range:", 11, "Arial Bold", Black); ObjectSet("ATSR2", OBJPROP_CORNER, 0); ObjectSet("ATSR2", OBJPROP_XDISTANCE, 5); ObjectSet("ATSR2", OBJPROP_YDISTANCE, 45); ObjectCreate("ATSR3", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR3",DoubleToStr(AV/Point,0),11, "Arial Bold", Lime); ObjectSet("ATSR3", OBJPROP_CORNER, 0); ObjectSet("ATSR3", OBJPROP_XDISTANCE, 160); ObjectSet("ATSR3", OBJPROP_YDISTANCE, 45); /* ObjectCreate("ATSR4", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR4","SHORT Entry:", 11, "Arial Bold", Red); ObjectSet("ATSR4", OBJPROP_CORNER, 0); ObjectSet("ATSR4", OBJPROP_XDISTANCE, 340); ObjectSet("ATSR4", OBJPROP_YDISTANCE, 30); ObjectCreate("ATSR5", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR5",DoubleToStr(HIDaily,Digits),11, "Arial Bold", Red); ObjectSet("ATSR5", OBJPROP_CORNER, 0); ObjectSet("ATSR5", OBJPROP_XDISTANCE, 470); ObjectSet("ATSR5", OBJPROP_YDISTANCE, 30); ObjectCreate("ATSR6", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR6","LONG Entry:", 11, "Arial Bold",Green); ObjectSet("ATSR6", OBJPROP_CORNER, 0); ObjectSet("ATSR6", OBJPROP_XDISTANCE, 340); ObjectSet("ATSR6", OBJPROP_YDISTANCE, 15); ObjectCreate("ATSR7", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR7",DoubleToStr(LOWDaily,Digits),11, "Arial Bold", Green); ObjectSet("ATSR7", OBJPROP_CORNER, 0); ObjectSet("ATSR7", OBJPROP_XDISTANCE, 470); ObjectSet("ATSR7", OBJPROP_YDISTANCE, 15); */ ObjectCreate("ATSR8", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR8","Top Daily Average Range:", 11, "Arial Bold", Aqua); ObjectSet("ATSR8", OBJPROP_CORNER, 0); ObjectSet("ATSR8", OBJPROP_XDISTANCE, 5); ObjectSet("ATSR8", OBJPROP_YDISTANCE, 25); ObjectCreate("ATSR9", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR9",DoubleToStr(LOWDaily2,Digits),11, "Arial Bold", Aqua); ObjectSet("ATSR9", OBJPROP_CORNER, 0); ObjectSet("ATSR9", OBJPROP_XDISTANCE, 200); ObjectSet("ATSR9", OBJPROP_YDISTANCE, 25); ObjectCreate("ATSR10", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR10","Bottom Average Daily Range:", 11, "Arial Bold", Magenta); ObjectSet("ATSR10", OBJPROP_CORNER, 0); ObjectSet("ATSR10", OBJPROP_XDISTANCE, 260);//5 ObjectSet("ATSR10", OBJPROP_YDISTANCE, 25);//30 ObjectCreate("ATSR11", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR11",DoubleToStr(HIDaily2,Digits),11, "Arial Bold", Magenta); ObjectSet("ATSR11", OBJPROP_CORNER, 0); ObjectSet("ATSR11", OBJPROP_XDISTANCE, 475);//240 ObjectSet("aTSR11", OBJPROP_YDISTANCE, 25);//30 ObjectCreate("ATSR12", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR12","Pips From HI to LOW:", 11, "Arial Bold", Black); ObjectSet("ATSR12", OBJPROP_CORNER, 0); ObjectSet("ATSR12", OBJPROP_XDISTANCE, 320); ObjectSet("ATSR12", OBJPROP_YDISTANCE, 45); ObjectCreate("ATSR13", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR13",DoubleToStr((HI2-LOW2)/Point,0),11, "Arial Bold", Lime); ObjectSet("ATSR13", OBJPROP_CORNER, 0); ObjectSet("ATSR13", OBJPROP_XDISTANCE, 470); ObjectSet("ATSR13", OBJPROP_YDISTANCE, 45); ObjectCreate("ATSR14", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR14","OPEN:",11, "Arial Bold", Black); ObjectSet("ATSR14", OBJPROP_CORNER, 0); ObjectSet("ATSR14", OBJPROP_XDISTANCE, 200); ObjectSet("ATSR14", OBJPROP_YDISTANCE, 45); ObjectCreate("ATSR15", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR15",DoubleToStr(OPEN,Digits),11, "Arial Bold", Lime); ObjectSet("ATSR15", OBJPROP_CORNER, 0); ObjectSet("ATSR15", OBJPROP_XDISTANCE, 250); ObjectSet("ATSR15", OBJPROP_YDISTANCE, 45); /* ObjectCreate("ATSR16", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR16","Profit LONG:", 11, "Arial Bold", Green); ObjectSet("ATSR16", OBJPROP_CORNER, 0); ObjectSet("ATSR16", OBJPROP_XDISTANCE, 570); ObjectSet("ATSR16", OBJPROP_YDISTANCE, 15); ObjectCreate("ATSR17", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR17",DoubleToStr(CURRPRICE-LOWDaily ,Digits),11, "Arial Bold", Green); ObjectSet("ATSR17", OBJPROP_CORNER, 0); ObjectSet("ATSR17", OBJPROP_XDISTANCE, 690); ObjectSet("ATSR17", OBJPROP_YDISTANCE, 15); ObjectCreate("ATSR18", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR18","Profit SHORT:", 11, "Arial Bold", Red); ObjectSet("ATSR18", OBJPROP_CORNER, 0); ObjectSet("ATSR18", OBJPROP_XDISTANCE, 570); ObjectSet("ATSR18", OBJPROP_YDISTANCE, 30); ObjectCreate("ATSR19", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR19",DoubleToStr(HIDaily-CURRPRICE,Digits),11, "Arial Bold", Red); ObjectSet("ATSR19", OBJPROP_CORNER, 0); ObjectSet("ATSR19", OBJPROP_XDISTANCE, 690); ObjectSet("ATSR19", OBJPROP_YDISTANCE, 30); */ ObjectCreate("ATSR19", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR19","Current Price:", 11, "Arial Bold", Yellow); ObjectSet("ATSR19", OBJPROP_CORNER, 0); ObjectSet("ATSR19", OBJPROP_XDISTANCE, 550); ObjectSet("ATSR19", OBJPROP_YDISTANCE, 25); ObjectCreate("ATSR20", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR20",DoubleToStr(CURRPRICE,Digits),11, "Arial Bold", Yellow); ObjectSet("ATSR20", OBJPROP_CORNER, 0); ObjectSet("ATSR20", OBJPROP_XDISTANCE, 660); ObjectSet("ATSR20", OBJPROP_YDISTANCE, 25); ObjectCreate("ATSR21", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR21","Daily HI:", 11, "Arial Bold", Black); ObjectSet("ATSR21", OBJPROP_CORNER, 0); ObjectSet("ATSR21", OBJPROP_XDISTANCE, 495); ObjectSet("ATSR21", OBJPROP_YDISTANCE, 45); ObjectCreate("ATSR22", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR22",DoubleToStr(HI2,Digits),11, "Arial Bold", Lime); ObjectSet("ATSR22", OBJPROP_CORNER, 0); ObjectSet("ATSR22", OBJPROP_XDISTANCE, 557); ObjectSet("ATSR22", OBJPROP_YDISTANCE, 45); ObjectCreate("ATSR23", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR23","Daily LOW:", 11, "Arial Bold", Black); ObjectSet("ATSR23", OBJPROP_CORNER, 0); ObjectSet("ATSR23", OBJPROP_XDISTANCE, 630); ObjectSet("ATSR23", OBJPROP_YDISTANCE, 45); ObjectCreate("ATSR24", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR24",DoubleToStr(LOW2,Digits),11, "Arial Bold", Lime); ObjectSet("ATSR24", OBJPROP_CORNER, 0); ObjectSet("ATSR24", OBJPROP_XDISTANCE, 705); ObjectSet("ATSR24", OBJPROP_YDISTANCE, 45); ObjectCreate("ATSR25", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR25","Local Time:", 11, "Arial Bold", Black); ObjectSet("ATSR25", OBJPROP_CORNER, 0); ObjectSet("ATSR25", OBJPROP_XDISTANCE, 785); ObjectSet("ATSR25", OBJPROP_YDISTANCE, 30); ObjectCreate("ATSR26", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR26",TimeToStr(LocalTime(),Digits+2),11, "Arial Bold", Lime); ObjectSet("ATSR26", OBJPROP_CORNER, 0); ObjectSet("ATSR26", OBJPROP_XDISTANCE, 880); ObjectSet("ATSR26", OBJPROP_YDISTANCE, 30); ObjectCreate("ATSR27", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR27","Sever Time:", 11, "Arial Bold", Black); ObjectSet("ATSR27", OBJPROP_CORNER, 0); ObjectSet("ATSR27", OBJPROP_XDISTANCE, 785); ObjectSet("ATSR27", OBJPROP_YDISTANCE, 45); ObjectCreate("ATSR28", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR28",TimeToStr(CurTime(),Digits+2),11, "Arial Bold", Lime); ObjectSet("ATSR28", OBJPROP_CORNER, 0); ObjectSet("ATSR28", OBJPROP_XDISTANCE, 880); ObjectSet("ATSR28", OBJPROP_YDISTANCE, 45); ObjectCreate("ATSR30", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0); ObjectSetText("ATSR30","Original Indicator & Display by cja", 8, "Arial", DarkGray); ObjectSet("ATSR30", OBJPROP_CORNER, 0); ObjectSet("ATSR30", OBJPROP_XDISTANCE, 100); ObjectSet("ATSR30", OBJPROP_YDISTANCE, 5); } return(0); } //+------------------------------------------------------------------+