//+------------------------------------------------------------------+
//|                         Percentage Money Management with ATR.mq4 |
//|                                                    Edward Munroe |
//|                                       Hugh Briss @ Forex Factory |
//+------------------------------------------------------------------+
#property copyright "Edward Munroe"

#property indicator_chart_window

extern int fontsize = 10;
extern int x = 1200;
extern int y = 0;
extern bool useatr = true;
extern int atrmult = 2;
extern int stop = 25;
extern double percent = 1.0;

string useatrs;

int start()
  {
  if(useatr == false) useatrs = "False"; else useatrs = "True";
  
  if(useatr == false)
  {
    Display("s", x,y+20);
    ObjectSetText ("s", "Spread = " + DoubleToStr(MarketInfo(Symbol(), MODE_SPREAD)/10,1), fontsize, "Verdana", Lime);   
    
    Display("atrtrueorfalse",x,y+40);
    ObjectSetText("atrtrueorfalse","ATR = " + useatrs,fontsize,"Verdana",Lime);
   
    Display("percentatstoppips", x,y+60);
    ObjectSetText ("percentatstoppips", stop + " pips at " + DoubleToStr(percent,1) + "%", fontsize, "Verdana", Lime);    
    
    Display("accbal", x,y+80);
    ObjectSetText ("accbal", "= " + DoubleToStr(AccountEquity()*0.001*percent/stop/(MarketInfo(Symbol(), MODE_TICKVALUE)),2), fontsize, "Verdana", Lime);  
  }
  
  if(useatr == true)
  {
  // Calculate atr
  int pipMult = 10000;
  if(StringFind(Symbol(),"JPY",0) != -1) pipMult = 100;
  double atr = iATR(NULL,0,20,0);
  stop = atr*pipMult*atrmult;  
  
  // Display
    Display("s", x,y+20);
    ObjectSetText ("s", "Spread = " + DoubleToStr(MarketInfo(Symbol(), MODE_SPREAD)/10,1), fontsize, "Verdana", Lime);   
    
    Display("atrtrueorfalse",x,y+40);
    ObjectSetText("atrtrueorfalse","ATR = " + useatrs + " x " + DoubleToStr(atrmult,0),fontsize,"Verdana",Lime);
   
    Display("percentatstoppips", x,y+60);
    ObjectSetText ("percentatstoppips", stop + " pips at " + DoubleToStr(percent,1) + "%", fontsize, "Verdana", Lime);    
    
    Display("accbal", x,y+80);
    ObjectSetText ("accbal", "= " + DoubleToStr(AccountEquity()*0.001*percent/stop/(MarketInfo(Symbol(), MODE_TICKVALUE)),2), fontsize, "Verdana", Lime);
  
  
  
  
  
  
  }
   return(0);
  }

void Display(string name, int x, int y)
   {
   ObjectCreate(name, OBJ_LABEL, 0, 0, 0);
   ObjectSet(name, OBJPROP_CORNER, 0);
   ObjectSet(name, OBJPROP_XDISTANCE, x);
   ObjectSet(name, OBJPROP_YDISTANCE, y);
   ObjectSet(name, OBJPROP_BACK, FALSE);
   } 