//+------------------------------------------------------------------+ //| Full_Bar_w_Spread_Shadow.mq4 | //| transport_david , David W Honeywell | //| transport.david@gmail.com | //+------------------------------------------------------------------+ #property copyright "transport_david , David W Honeywell" #property link "transport.david@gmail.com" #property indicator_chart_window #property indicator_buffers 4 #property indicator_color1 Lime #property indicator_color2 Lime #property indicator_color3 Coral #property indicator_color4 Coral //---- input parameters //---- buffers double ExtMapBuffer0[]; double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_HISTOGRAM, 0, 1); SetIndexBuffer(0, ExtMapBuffer0); SetIndexStyle(1,DRAW_HISTOGRAM, 0, 1); SetIndexBuffer(1, ExtMapBuffer1); SetIndexStyle(2,DRAW_HISTOGRAM, 0, 1); SetIndexBuffer(2, ExtMapBuffer2); SetIndexStyle(3,DRAW_HISTOGRAM, 0, 1); SetIndexBuffer(3, ExtMapBuffer3); //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { double spread, Hsplitprice, Lsplitprice, Top, TopPlus; int counted_bars=IndicatorCounted(); if (counted_bars<0) return(-1); if (counted_bars>0) counted_bars--; int i; //---- for (i=counted_bars-1; i>=0; i--) { spread = (Ask-Bid); TopPlus = (High[i]+spread); Top = (High[i]); Hsplitprice = (Close[i]+spread); Lsplitprice = (Close[i]); ExtMapBuffer0[i] = TopPlus; if (Top < Hsplitprice) { ExtMapBuffer1[i] = Hsplitprice; } if (Top >= Hsplitprice) { ExtMapBuffer1[i] = Top; } ExtMapBuffer2[i] = Hsplitprice; ExtMapBuffer3[i] = Lsplitprice; } //---- return(0); } //+------------------------------------------------------------------+