This forum is in read-only mode now. You may discuss your questions on forums of MQL4.community and MQL5.community
Pivot Point Code HelpBack to topics list |
|
guitara
2005.04.13 04:26
I'm looking to get Yesterday's open price. In the following:
yesterday_close = CLOSE[cnt+1]; yesterday_open = OPEN[cnt+1]; today_open = OPEN[cnt]; OPEN[cnt+1] doesn't give me it. I'm confused. Here's the basic PP code, that's templated across most PP indicators. var: cnt(0),how_long(720), begin_bar(0), prev_day(0), cur_day(0), day_high(0),day_low(0), yesterday_high(0), yesterday_low(0), yesterday_close(0), yesterday_open(0), today_open(0), textvar(""), current(0), TRange(0), YRange(0), P(0),S(0),R(0),S1(0),R1(0),S2(0),R2(0),S3(0),R3(0),M5(0),M4(0),M3(0),M2(0),M1(0),M0(0), timeShift(0),lastMinute(0), prevTime(0); for cnt = Bars downto 0 { SetIndexValue(cnt, 0); SetIndexValue2(cnt, 0); }; if Period > 240 then exit; timeShift = 0; if how_long = -1 then { begin_bar = bars; } else { begin_bar = how_long; }; If prevTime = Time then exit; for cnt = begin_bar downto 1 { cur_day = TimeDay(time[cnt]); if prev_day != cur_day then { yesterday_close = CLOSE[cnt+1]; yesterday_open = OPEN[cnt+1]; today_open = OPEN[cnt]; yesterday_high = day_high; yesterday_low = day_low; MoveObject("dayChange",OBJ_VLINE,time[cnt],close[cnt],time[cnt],close[cnt],RED,1,STYLE_SOLID); If TimeDayOfWeek(time[cnt])=2 Then MoveObject("weekChange",OBJ_VLINE,time[cnt],close[cnt],time[cnt],close[cnt],BLUE,1,STYLE_SOLID); day_high = HIGH[cnt]; day_low = LOW[cnt]; P = (yesterday_high + yesterday_low + yesterday_close + today_open) / 4; R1 = (2*P)-yesterday_low; S1 = (2*P)-yesterday_high; R2 = P-S1+R1; S2 = P-R1+S1; R3 = (2*P)+(yesterday_high-(2*yesterday_low)); S3 = (2*P)-((2* yesterday_high)-yesterday_low); M5 = (R2+R3)/2; M4 = (R1+R2)/2; M3 = (P+R1)/2; M2 = (P+S1)/2; M1 = (S1+S2)/2; M0 = (S2+S3)/2; YRange = 100 * (yesterday_high - yesterday_low); prev_day = cur_day; }; |
|
guitara
2005.04.13 07:26
This works, but is there a better way?
cnt = 0; cur_day = TimeDay(time[cnt]); prev_day = TimeDay(time[cnt+1]); //FIND THE PREVIOUS DAY. While (prev_day = cur_day) { cnt++; prev_day = TimeDay(time[cnt]); }; aprev_Day = TimeDay(time[cnt+1]); //Find Previous Day While (aprev_day = prev_day) { cnt++; aprev_day = TimeDay(time[cnt]); }; yesterday_open = Close[cnt]; |
Download MetaTrader 5 (450 Kb, web installer) — a new terminal for financial markets
