The arrows part is easy. Add this to the top of the code along with the other external variables:
extern bool Draw_Arrows=true;
Then in the indicators initialization section put the four lines that take care of the arrows inside an if block as:
if(Draw_Arrows==true)
{
SetIndexStyle(2,DRAW_ARROW,EMPTY,3,Blue);
SetIndexStyle(3,DRAW_ARROW,EMPTY,3,Red);
SetIndexArrow(2,SYMBOL_ARROWUP);
SetIndexArrow(3,SYMBOL_ARROWDOWN);
}
That will take care of that. I’ll keep working on the rest.