/*[[ 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 # // ############################## input: formula(0); input: show_comment(1); input: how_long(720); input: 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: textvar(""); var: P(0),S(0),R(0),S1(0),R1(0),S2(0),R2(0),S3(0),R3(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]); if prev_day != cur_day then { yesterday_close = CLOSE[cnt+1]; today_open = OPEN[cnt]; yesterday_high = day_high; yesterday_low = day_low; P = (yesterday_high + yesterday_low + yesterday_close + today_open) / 4; 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]); 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); }; }; textVar = TimeHour(time[0])+":"+TimeMinute(time[0])+" "+(60-Minute)+"R"; }; if show_comment = 1 then { P = (yesterday_high + yesterday_low + yesterday_close)/3; // + today_open) / 4; R1 = (2*P)-yesterday_low; S1 = (2*P)-yesterday_high; R2 = P+(yesterday_high - yesterday_low); S2 = P-(yesterday_high - yesterday_low); R3 = (2*P)+(yesterday_high-(2*yesterday_low)); S3 = (2*P)-((2* yesterday_high)-yesterday_low); MoveObject("R1_line",OBJ_HLINE,time[cnt],R1,time[cnt],R1,DimGray,1,STYLE_DASHDOT); MoveObject("R2_line",OBJ_HLINE,time[cnt],R2,time[cnt],R2,DimGray,1,STYLE_DASHDOT); MoveObject("R3_line",OBJ_HLINE,time[cnt],R3,time[cnt],R3,DimGray,1,STYLE_DASHDOT); MoveObject("P_line",OBJ_HLINE,time[cnt],P,time[cnt],P,LightSteelBlue,1,STYLE_DASHDOT); MoveObject("S1_line",OBJ_HLINE,time[cnt],S1,time[cnt],S1,DimGray,1,STYLE_DASHDOT); MoveObject("S2_line",OBJ_HLINE,time[cnt],S2,time[cnt],S2,DimGray,1,STYLE_DASHDOT); MoveObject("S3_line",OBJ_HLINE,time[cnt],S3,time[cnt],S3,DimGray,1,STYLE_DASHDOT); };