PipSize

 

Hello! I have one doubt about computing PipSize

I have This:

double Pip()
  {
//  
   double pip   =0;

   int    dig     =(int)MarketInfo(_Symbol,MODE_DIGITS);

   switch(dig)
     {
      case 2:
         point=0.1     ;
         break;
      case 3:
         point=0.01    ;
         break;
      case 5:
         point=0.0001 ;
         break;
     }
   return(pip);
 


  }

Not sure about case 2.

I have seen another model. 


double PipSize(string pSymbol)
  {
   double pPoint = MarketInfo(pSymbol,MODE_POINT);
   int dig       = (int)MarketInfo(pSymbol,MODE_DIGITS);
   return(((dig%2)==1)?pPoint*10:pPoint);
 }

Both of them are similar except when there are 2 digits.

 
Daniel Cioca:

Hello! I have one doubt about computing PipSize

double Pip()
  {
//  
   double pip   =0;

   int    dig     =(int)MarketInfo(_Symbol,MODE_DIGITS);

   switch(dig)
     {
      case 2:
         point=0.1     ;
         break;
      case 3:
         point=0.01    ;
         break;
      case 5:
         point=0.0001 ;
         break;
     }
   return(pip);
  }

You do not change the value of pip so your function returns 0 every time.

 
Keith Watford #:

You do not change the value of pip so your function returns 0 every time.

Hi..it was a typo

double Pip()
  {
//  
   double pip   =0;

   int    dig     =(int)MarketInfo(_Symbol,MODE_DIGITS);

   switch(dig)
     {
      case 2:
         pip=0.1     ;
         break;
      case 3:
         pip=0.01    ;
         break;
      case 5:
         pip=0.0001 ;
         break;
     }
   return(pip);
  }
Reason: