/*[[ Name := Pivot Daily Author := Copyright © 2004, MetaQuotes Software Corp. Link := Groups.yahoo.com Separate Window := No First Color := Blue First Draw Type := Line First Symbol := 217 Use Second Data := Yes Second Color := Red Second Draw Type := Line Second Symbol := 218 ]]*/ // ############################## // # Originally posted by umanm # // # Modified by bc_4x_1 # // # Further Modified by aghent # // ############################## Variable: GMTShift(0); input: GMT_Shift(0); var: formula(0); var: show_comment(1); var: how_long(720); var: drw(1); var: cnt(0); var: begin_bar(0); var: prev_day(0), cur_day(0); var: day_high(0); var: day_low(0); var: yesterday_high(0); var: yesterday_low(0); var: yesterday_close(0); var: today_open(0); var: today_high(0); var: today_low(0); var: textvar(""); var: P(0),Q(0),S(0),R(0),M2(0),M3(0),S1(0),R1(0),M1(0),M4(0),S2(0),R2(0),M0(0),M5(0),S3(0),R3(0),L3(0),L4(0),H3(0),H4(0),nQ(0),nD(0),D(0); var: timeShift(0); for cnt = bars downto 0 { SetIndexValue(cnt, 0); SetIndexValue2(cnt, 0); }; if Period > 60 then exit; timeShift = 0; if formula < 0 or formula > 3 then exit; if how_long = -1 then { begin_bar = bars; } else { begin_bar = how_long; }; for cnt = begin_bar downto 1 { cur_day = TimeDay(time[cnt]-(GMT_Shift*3600)); if prev_day != cur_day then { yesterday_close = CLOSE[cnt+1]; today_open = OPEN[cnt]; yesterday_high = day_high; yesterday_low = day_low; Q = (yesterday_high - yesterday_low); P = (yesterday_high + yesterday_low + yesterday_close) / 3; if formula = 1 then { R = P + P - yesterday_low; S = P + P - yesterday_high; } else if formula = 2 then { R = P + yesterday_high - yesterday_low; S = P - yesterday_high + yesterday_low; } else if formula = 3 then { R = P + P - yesterday_low - yesterday_low + yesterday_high; S = P + P - yesterday_high - yesterday_high + yesterday_low; }; day_high = HIGH[cnt]; day_low = LOW[cnt]; prev_day = cur_day; }; day_high = max(day_high, HIGH[cnt]); day_low = min(day_low, LOW[cnt]); D = (day_high - day_low); if formula = 0 then { //if drw = 1 then SetIndexValue(cnt, P); if drw = 1 then SetIndexValue(cnt, 0); } else { if drw = 1 then { SetIndexValue(cnt, R); SetIndexValue2(cnt, S); }; }; if Q > 5 then { nQ = Q; } else { nQ = Q*10000; }; if D > 5 then { nD = D; } else { nD = D*10000; }; }; if show_comment = 1 then { H4 = (Q*0.55)+yesterday_close; H3 = (Q*0.27)+yesterday_close; R3 = (2*P)+(yesterday_high-(2*yesterday_low)); M5 = (R2+R3)/2; R2 = P-S1+R1; M4 = (R1+R2)/2; R1 = (2*P)-yesterday_low; M3 = (P+R1)/2; P = (yesterday_high + yesterday_low + yesterday_close)/3; M2 = (P+S1)/2; S1 = (2*P)-yesterday_high; M1 = (S1+S2)/2; S2 = P-R1+S1; M0 = (S2+S3)/2; S3 = (2*P)-((2* yesterday_high)-yesterday_low); L3 = yesterday_close-(Q*0.27); L4 = yesterday_close-(Q*0.55); Comment("High= ",yesterday_high," Previous Days Range= ",nQ,"\nLow= ",yesterday_low," Current Days Range= ",nD,"\nClose= ",yesterday_close); MoveObject("H4_Line",OBJ_HLINE,time[cnt],H4,time[cnt],H4,Yellow,1,STYLE_DOT); MoveObject("H3_Line",OBJ_HLINE,time[cnt],H3,time[cnt],H3,Yellow,1,STYLE_DOT); MoveObject("R3_line",OBJ_HLINE,time[cnt],R3,time[cnt],R3,YellowGreen,1,STYLE_DOT); MoveObject("M5_line",OBJ_HLINE,time[cnt],M5,time[cnt],M5,SkyBlue,1,STYLE_DOT); MoveObject("R2_line",OBJ_HLINE,time[cnt],R2,time[cnt],R2,YellowGreen,1,STYLE_DOT); MoveObject("M4_line",OBJ_HLINE,time[cnt],M4,time[cnt],M4,SkyBlue,1,STYLE_DOT); MoveObject("R1_line",OBJ_HLINE,time[cnt],R1,time[cnt],R1,YellowGreen,1,STYLE_DOT); MoveObject("M3_line",OBJ_HLINE,time[cnt],M3,time[cnt],M3,SkyBlue,1,STYLE_DOT); MoveObject("P_line",OBJ_HLINE,time[cnt],P,time[cnt],P,Magenta,1,STYLE_DASH); MoveObject("M2_line",OBJ_HLINE,time[cnt],M2,time[cnt],M2,SkyBlue,1,STYLE_DOT); MoveObject("S1_line",OBJ_HLINE,time[cnt],S1,time[cnt],S1,Red,1,STYLE_DOT); MoveObject("M1_line",OBJ_HLINE,time[cnt],M1,time[cnt],M1,SkyBlue,1,STYLE_DOT); MoveObject("S2_line",OBJ_HLINE,time[cnt],S2,time[cnt],S2,Red,1,STYLE_DOT); MoveObject("M0_line",OBJ_HLINE,time[cnt],M0,time[cnt],M0,SkyBlue,1,STYLE_DOT); MoveObject("S3_line",OBJ_HLINE,time[cnt],S3,time[cnt],S3,Red,1,STYLE_DOT); MoveObject("L3_Line",OBJ_HLINE,time[cnt],L3,time[cnt],L3,Yellow,1,STYLE_DOT); MoveObject("L4_Line",OBJ_HLINE,time[cnt],L4,time[cnt],L4,Yellow,1,STYLE_DOT); SetObjectText("H4_txt"," H4 ","Arial",8,Gray); MoveObject("H4_txt",OBJ_TEXT,time[0],H4,time[0],H4,Gray); SetObjectText("H3_txt"," H3 ","Arial",8,Gray); MoveObject("H3_txt",OBJ_TEXT,time[0],H3,time[0],H3,Gray); SetObjectText("R3_txt"," R3 ","Arial",8,Gray); MoveObject("R3_txt",OBJ_TEXT,time[0],R3,time[0],R3,Gray); SetObjectText("M5_txt"," M5 ","Arial",8,Gray); MoveObject("M5_txt",OBJ_TEXT,time[0],M5,time[0],M5,Gray); SetObjectText("R2_txt"," R2 ","Arial",8,Gray); MoveObject("R2_txt",OBJ_TEXT,time[0],R2,time[0],R2,Gray); SetObjectText("M4_txt"," M4 ","Arial",8,Gray); MoveObject("M4_txt",OBJ_TEXT,time[0],M4,time[0],M4,Gray); SetObjectText("R1_txt"," R1 ","Arial",8,Gray); MoveObject("R1_txt",OBJ_TEXT,time[0],R1,time[0],R1,Gray); SetObjectText("M3_txt"," M3 ","Arial",8,Gray); MoveObject("M3_txt",OBJ_TEXT,time[0],M3,time[0],M3,Gray); SetObjectText("P_txt"," Pivot ","Arial",8,Gray); MoveObject("P_txt",OBJ_TEXT,time[0],P,time[0],P,Gray); SetObjectText("M2_txt"," M2 ","Arial",8,Gray); MoveObject("M2_txt",OBJ_TEXT,time[0],M2,time[0],M2,Gray); SetObjectText("S1_txt"," S1 ","Arial",8,Gray); MoveObject("S1_txt",OBJ_TEXT,time[0],S1,time[0],S1,Gray); SetObjectText("M1_txt"," M1 ","Arial",8,Gray); MoveObject("M1_txt",OBJ_TEXT,time[0],M1,time[0],M1,Gray); SetObjectText("S2_txt"," S2 ","Arial",8,Gray); MoveObject("S2_txt",OBJ_TEXT,time[0],S2,time[0],S2,Gray); SetObjectText("M0_txt"," M0 ","Arial",8,Gray); MoveObject("M0_txt",OBJ_TEXT,time[0],M0,time[0],M0,Gray); SetObjectText("S3_txt"," S3 ","Arial",8,Gray); MoveObject("S3_txt",OBJ_TEXT,time[0],S3,time[0],S3,Gray); SetObjectText("L3_txt"," L3 ","Arial",8,Gray); MoveObject("L3_txt",OBJ_TEXT,time[0],L3,time[0],L3,Gray); SetObjectText("L4_txt"," L4 ","Arial",8,Gray); MoveObject("L4_txt",OBJ_TEXT,time[0],L4,time[0],L4,Gray); };