Dinamyc Fib Grid - Help Code.

 
Good Morning!

Guys, does anyone here could help me?

- (Figure 1) I'm improving a simpler grid called (Dinamyc Fibonacci Grid), but I'm having some difficulties as the colors in a particular object that added in the grid (moving average). I wonder how do I put this transparent object so that when it passes over the fibonaccis lines, it does not overshadow this line.

- (Figure 2) How to put a border (or would border?) Over a certain fibonacci? (The only way would be adding the font type "wingding" object? Because with wingding/marlett I could not find a band or edge to add on the fibonacci line).

 

 Figure 1 = 

 

 

Figure 2 =  

 
Guys, below the variables of diamonds, I'm using OBJECT_ARROW, but I do not know what to do to implement it over the fibonaccis levels.

It is fully opaque, and I wanted to let them transparent.

 

 

for(i=0; i<NMA; i++)
      {
         objName = uniqueid + "fml_bar_" + tf + "_" + i;              // horizontal momentum lines
         ObjectCreate(objName,OBJ_ARROW, 0, 0, 0, 0, 0);
         ObjectSetInteger(0,objName,OBJPROP_ARROWCODE,117);
         ObjectSet(objName, OBJPROP_WIDTH, 2);
         
          //ObjectSetInteger(NULL,objName, OBJPROP_ANCHOR,ANCHOR_CENTER);
          //ObjectSet(objName, OBJPROP_COLOR, Black);
          //ObjectSet(objName, OBJPROP_BACK, false);
          //ObjectSetInteger(NULL,objName,OBJPROP_FONTSIZE,7);
          //ObjectSet(objName, OBJPROP_WIDTH, 0);
        //if(i<2 || i == NMA-1)
            //ObjectSet(objName, OBJPROP_WIDTH, 1);

      }
for(i=0; i<NMA; i++)
      {
         objName = uniqueid + "fml_bar_" + tf + "_" + i;
            ObjectSet(objName, OBJPROP_TIME1,  curTime+shift+tf*spacing+6*xUnit);
            ObjectSet(objName, OBJPROP_PRICE1, fml[tf][i]);
            //double original = fml[tf][i]+Point()*1000;
            //double rounded = NormalizeDouble(fml[tf][i],2);
            //double actual = (original-rounded)/(Point()*10);
            //if (original-rounded<10) actual = original-rounded;
            //if (original-rounded>10) actual = original-Point*100-rounded;
            //double labelDouble = actual/(Point()*10);
            //if (labelDouble >= 100) labelDouble=labelDouble-100;
            //if (labelDouble < 10) labelString = "0"+DoubleToString(labelDouble,0);
            //if (labelDouble >= 10) labelString=DoubleToString(labelDouble,0);
            
         if(i==0){
              if(fml[tf][i] >= price) col=DiamondWeakDirection0; else col=DiamondWeakDirection1; 
            ObjectSet(objName, OBJPROP_COLOR, col);
            ObjectSetInteger(NULL,objName, OBJPROP_BACK, false);
            //ObjectSetInteger(NULL,objName, OBJPROP_FONTSIZE,13);
            //ObjectSetString(NULL,objName, OBJPROP_FONT, "Wingdings");
            //ObjectSetText(objName,"u");
            ObjectSet(objName, OBJPROP_TIME1,  curTime+shift+tf*spacing+10*xUnit);
            ObjectSet(objName, OBJPROP_PRICE1, fml[tf][i]);
         }   
 
Someone? =\
Reason: