Price Change





//+------------------------------------------------------------------+
//|                                                 Price Change.mq4 |
//|                                                             cja. |
//+------------------------------------------------------------------+

#property indicator_chart_window
extern int Font_SIZE        = 40;
extern string Font_TYPE     = "Arial";
extern int BarsShift_Side   = 0;
extern int BarsShift_UP_DN  = 20;
extern int WindowToUse      = 0;
extern int CornerToUse      = 0;
int nDigits, Precision, nDigitsMINUS;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+

   int CreateTEXT( string n, int BarsShift_UP_DN, int BarsShift_Side ) {
   ObjectCreate( n, OBJ_LABEL, WindowToUse, 0, 0 );
   ObjectSet( n, OBJPROP_CORNER, CornerToUse );
   ObjectSet( n, OBJPROP_XDISTANCE,BarsShift_Side );
   ObjectSet( n, OBJPROP_YDISTANCE,BarsShift_UP_DN);
   ObjectSet( n, OBJPROP_BACK, false );
   }

int init()
  {
//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   ObjectDelete("Price"); 
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----
  	if( StringFind( Symbol(), "JPY", 0) != -1 )
   {nDigitsMINUS = 0; Precision = 100; nDigits  = 2;} else {nDigitsMINUS = 2;  Precision = 10000; nDigits  = 4; }    
   
   double today_open = iOpen(NULL,1440,0);  
  
   
	double ChangeVal = (Bid - today_open)*Precision; 
   string CHANGE = (DoubleToStr(ChangeVal,nDigits-nDigitsMINUS));
	    
	    
  CreateTEXT( "Price",40+BarsShift_UP_DN,40+BarsShift_Side);
    if (ChangeVal == 0) 
       {
          ObjectSetText( "Price","+"+CHANGE+" ", Font_SIZE,Font_TYPE, Gold);
       }
       else if (ChangeVal > 0) {
          ObjectSetText( "Price","+"+CHANGE+" ", Font_SIZE,Font_TYPE, Lime);       
       } 
       else {
          ObjectSetText( "Price"," "+CHANGE+" ", Font_SIZE,Font_TYPE, Red); 
	    }
//----
   return(0);
  }
//+------------------------------------------------------------------+



Sample





Analysis



Market Information Used:

Series array that contains open prices of each bar


Indicator Curves created:


Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features: