Simple EA into sub window indicater - How?

 

How can I turn this simple EA into an indicator - results either in main window or sub window.

//+------------------------------------------------------------------+
//|                                                   MarketInfo.mq4 |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  //edit to chose what to display
  bool show[34] ;
  show[0]=false ;
  show[1]=false ; //Min Day Price
  show[2]=false ; //Max Day Price
  show[3]=false ; //unknown
  show[4]=false ; //unknown
  show[5]=false ; //Last tick time
  show[6]=false ; //unknown
  show[7]=false ; //unknown
  show[8]=false ; //unknown
  show[9]=false ; // Bid
  show[10]=false ; // Ask
  show[11]=false ; // Point
  show[12]=false ; // Digits
  show[13]=false ; // Spread
  show[14]=false ; // Stop Level
  show[15]=false ; // Lot Size
  show[16]=false ; // Tick Value
  show[17]=false ; // Tick Size
  show[18]=true ; // Swap long
  show[19]=true ; // Swap Short
  show[20]=false ; // Trade start date
  show[21]=false ; // Trade end date
  show[22]=false ; // Trade allowed
  show[23]=false ; // Minimum Lot
  show[24]=false ; // Lot Step size
  show[25]=false ; // Max Lot size
  show[26]=true ; // Swap Type 0- in points 1 -symbol currency 2 - by interest 3 - in margin currency
  show[27]=false ; // Profit calculation mode. 0 - Forex; 1 - CFD; 2 - Futures.
  show[28]=false ; // Margin calculation mode. 0 - Forex; 1 - CFD; 2 - Futures; 3 - CFD for indexes.
  show[29]=false ; // Initial margin requirements for 1 lot.
  show[30]=false ; // Margin to maintain open positions calculated for 1 lot.
  show[31]=false ; // Hedged margin calculated for 1 lot
  show[32]=false ; // Free margin level required to open 1 lot
  show[33]=false ; // Freeze Level

   string msg ;
   for (int i=0 ; i<34 ; i++ ) 
    if (show[i]) msg=msg+MItext(i)+"  "+MarketInfo(Symbol(),i)+"\n" ;
   Comment(msg) ;
  
   return(0);
  }
//+------------------------------------------------------------------+


string MItext( int a )
{
switch ( a )
{
  case 1: return("Min Day Price") ;
  case 2: return("Max Day Price") ;
  case 5: return("Last Tick Time") ;
  case 9: return("Bid") ;
  case 10: return("Ask");
  case 11: return("Point") ;
  case 12: return("Digits") ;
  case 13: return("Spread") ;
  case 14: return("Stop Level") ;
  case 15: return("Lot Size") ;
  case 16: return("Tick Value") ;
  case 17: return("Tick Size") ;
  case 18: return("Swap Long(Buy)") ;
  case 19: return("Swap Short(Sell)") ;
  case 20: return("Future Start Date") ;
  case 21: return("Future End Date") ;
  case 22: return("Trade Alowed") ;
  case 23: return("Minimum Lot") ;
  case 24: return("Lot Step Size") ;
  case 25: return("Max Lot size") ;
  case 26: return("Swap calc type") ;
  case 27: return("Profit calc mode") ;
  case 28: return("Margin calc mode") ;
  case 29: return("Margin Init") ;
  case 30: return("Margin Needed for open trades") ;
  case 31: return("Margin Hedged") ;
  case 32: return("Free Margin to open 1 Lot") ;
  case 33: return("Freeze Level") ;
  default:
  return("unknown") ;
}//end switch
}
Reason: