//+------------------------------------------------------------------+ //| Dayly Pivot | //| Copyright © 2006, Profitrader | //| Coded/Verified by Profitrader | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, Profitrader." #property link "profitrader@inbox.ru" #property indicator_chart_window #property indicator_buffers 7 #property indicator_color1 Orange #property indicator_color2 DarkBlue #property indicator_color3 Maroon #property indicator_color4 DarkBlue #property indicator_color5 Maroon #property indicator_color6 Green #property indicator_color7 Green //---- buffers double PBuffer[]; double S1Buffer[]; double R1Buffer[]; double S2Buffer[]; double R2Buffer[]; double S3Buffer[]; double R3Buffer[]; double P,S1,R1,S2,R2,S3,R3,LastHigh,LastLow; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { SetIndexBuffer(0,PBuffer); SetIndexBuffer(1,S1Buffer); SetIndexBuffer(2,R1Buffer); SetIndexBuffer(3,S2Buffer); SetIndexBuffer(4,R2Buffer); SetIndexBuffer(5,S3Buffer); SetIndexBuffer(6,R3Buffer); SetIndexStyle(0,DRAW_LINE,0,2); SetIndexStyle(1,DRAW_LINE,0,2); SetIndexStyle(2,DRAW_LINE,0,2); SetIndexStyle(3,DRAW_LINE,0,2); SetIndexStyle(4,DRAW_LINE,0,2); SetIndexStyle(5,DRAW_LINE,0,2); SetIndexStyle(6,DRAW_LINE,0,2); SetIndexLabel(0,"Pivot Point"); SetIndexLabel(1,"Support 1"); SetIndexLabel(2,"Resistant 1"); SetIndexLabel(3,"Support 2"); SetIndexLabel(4,"Resistant 2"); SetIndexLabel(5,"Support 3"); SetIndexLabel(6,"Resistant 3"); return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { ObjectDelete("Pivot"); ObjectDelete("Sup1"); ObjectDelete("Res1"); ObjectDelete("Sup2"); ObjectDelete("Res2"); ObjectDelete("Sup3"); ObjectDelete("Res3"); return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int i,counted_bars=IndicatorCounted(); //---- check for possible errors if(counted_bars<0) return(-1); //---- last counted bar will be recounted if(counted_bars>0) counted_bars--; int limit=Bars-counted_bars; if(Period()>PERIOD_H1) return(-1); if(counted_bars==0) { ObjectCreate("Pivot",OBJ_TEXT,0,0,0); ObjectSetText("Pivot"," Pivot Point",9,"Arial",Orange); ObjectCreate("Sup1",OBJ_TEXT,0,0,0); ObjectSetText("Sup1"," Sup 1",9,"Arial",Red); ObjectCreate("Res1",OBJ_TEXT,0,0,0); ObjectSetText("Res1"," Res 1",9,"Arial",Red); ObjectCreate("Sup2",OBJ_TEXT,0,0,0); ObjectSetText("Sup2"," Sup 2",9,"Arial",Red); ObjectCreate("Res2",OBJ_TEXT,0,0,0); ObjectSetText("Res2"," Res 2",9,"Arial",Red); ObjectCreate("Sup3",OBJ_TEXT,0,0,0); ObjectSetText("Sup3"," Sup 3",9,"Arial",Red); ObjectCreate("Res3",OBJ_TEXT,0,0,0); ObjectSetText("Res3"," Res 3",9,"Arial",Red); } for(i=limit-1; i>=0; i--) { if(TimeDay(Time[i])!=TimeDay(Time[i+1])) { P=(LastHigh+LastLow+Close[i+1])/3; R1=(2*P)-LastLow; S1=(2*P)-LastHigh; R2=P+(LastHigh-LastLow); S2=P-(LastHigh-LastLow); R3=(2*P)+(LastHigh-(2*LastLow)); S3=(2*P)-((2*LastHigh)-LastLow); ObjectMove("Pivot",0,Time[i],P); ObjectMove("Sup1",0,Time[i],S1); ObjectMove("Res1",0,Time[i],R1); ObjectMove("Sup2",0,Time[i],S2); ObjectMove("Res2",0,Time[i],R2); ObjectMove("Sup3",0,Time[i],S3); ObjectMove("Res3",0,Time[i],R3); LastLow=Low[i]; LastHigh=High[i]; } LastLow=MathMin(LastLow,Low[i]); LastHigh=MathMax(LastHigh,High[i]); PBuffer[i]=P; S1Buffer[i]=S1; R1Buffer[i]=R1; S2Buffer[i]=S2; R2Buffer[i]=R2; S3Buffer[i]=S3; R3Buffer[i]=R3; } //---- return(0); } //+------------------------------------------------------------------+