//+------------------------------------------------------------------+ //| FiboPiviotChanel.mq4 | //| Kalenzo | //| bartlomiej.gorski@gmail.com | //+------------------------------------------------------------------+ #property copyright "Kalenzo" #property link "bartlomiej.gorski@gmail.com" #property indicator_buffers 7 #property indicator_color1 Red #property indicator_color2 Red #property indicator_color3 Red #property indicator_color4 Blue #property indicator_color5 LimeGreen #property indicator_color6 LimeGreen #property indicator_color7 LimeGreen double s1[]; double s2[]; double s3[]; double piv[]; double r1[]; double r2[]; double r3[]; #property indicator_chart_window //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE,STYLE_DOT,1); SetIndexStyle(1,DRAW_LINE,STYLE_DASH,1); SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,2); SetIndexStyle(3,DRAW_LINE,STYLE_SOLID,2); SetIndexStyle(4,DRAW_LINE,STYLE_DOT,1); SetIndexStyle(5,DRAW_LINE,STYLE_DASH,1); SetIndexStyle(6,DRAW_LINE,STYLE_SOLID,2); SetIndexBuffer(0,s1); SetIndexBuffer(1,s2); SetIndexBuffer(2,s3); SetIndexBuffer(3,piv); SetIndexBuffer(4,r1); SetIndexBuffer(5,r2); SetIndexBuffer(6,r3); SetIndexLabel(0,"First support level"); SetIndexLabel(1,"Second support level"); SetIndexLabel(2,"Third support level"); SetIndexLabel(3,"FiboPiviot level"); SetIndexLabel(4,"First resistance level"); SetIndexLabel(5,"First resistance level"); SetIndexLabel(6,"First resistance level"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int limit; int counted_bars=IndicatorCounted(); if(counted_bars<0) counted_bars=0; if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; for(int i = limit ;i >= 0 ;i--) { double R = iHigh(Symbol(),PERIOD_D1,iBarShift(Symbol(),PERIOD_D1,Time[i])+1) - iLow(Symbol(),PERIOD_D1,iBarShift(Symbol(),PERIOD_D1,Time[i])+1);//range double p = (iHigh(Symbol(),PERIOD_D1,iBarShift(Symbol(),PERIOD_D1,Time[i])+1) + iLow(Symbol(),PERIOD_D1,iBarShift(Symbol(),PERIOD_D1,Time[i])+1) + iClose(Symbol(),PERIOD_D1,iBarShift(Symbol(),PERIOD_D1,Time[i])+1))/3;// Standard Pivot piv[i] = p; r3[i] = p + (R * 1.000); r2[i] = p + (R * 0.618); r1[i] = p + (R * 0.382); s1[i] = p - (R * 0.382); s2[i] = p - (R * 0.618); s3[i] = p - (R * 1.000); } return(0); } //+------------------------------------------------------------------+