Drawing arows with PLOTSETINTEGER and no arrows shown on the charts

 

Hi , I have an indicator that draws arrow with each doji found on the charts . But with the drawings , it does not indicate any windgings object , but instead it displays a green cross . 

Here are the codes lines : 

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots   1 
#property indicator_type1   DRAW_ARROW 
#property indicator_color1  clrGreen,clrAqua,clrOrange,clrBeige,clrViolet, clrRed, clrYellow, clrMagenta, clrLightYellow  
#property indicator_style1  STYLE_SOLID
#property indicator_width1  3


After the properties , I have set the codes lines : 

int OnInit(void)
  {
     
//--- indicator buffers mapping 
   SetIndexBuffer(0,ArrowsBuffer,INDICATOR_DATA); 
   SetIndexBuffer(1,ColorArrowColors,INDICATOR_COLOR_INDEX) ; 
    
   PlotIndexSetInteger(0,PLOT_COLOR_INDEXES,3);
   
   PlotIndexSetInteger(0,PLOT_LINE_COLOR,0, color_FIRST  );   
   
   PlotIndexSetInteger(0,PLOT_LINE_COLOR,1, color_SECOND   );
   
   PlotIndexSetInteger(0,PLOT_LINE_COLOR,2, color_THIRD   ); 
 
   PlotIndexSetInteger(0,PLOT_LINE_COLOR,1, color_FOURTH   );
 
   PlotIndexSetInteger(0,PLOT_LINE_COLOR,1, color_FIFTH   );

//--- Define the symbol code for drawing in PLOT_ARROW 
   PlotIndexSetInteger(0,PLOT_ARROW,252); 
//--- Set the vertical shift of arrows in pixels 
   PlotIndexSetInteger(0,PLOT_ARROW_SHIFT,20); 
//--- Set as an empty value 0 
   PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0); 
//--- 
   return(INIT_SUCCEEDED);
 
  }
  


It might be the PlotSetInteger with the arrow codes .


As the results , we get : 


indic 19




Is it possible to declare the arrows and the right codes for each point on the charts ? 

Reason: