Pages

Friday, March 16, 2012

EUR/USD BUY Hits Profit

EUR/USD follows through with Up Trend by bouncing off Support early in Tokyo Session.
Took profits at previous Resistance.














See Previous Post on Entry: Click Here

Thursday, March 15, 2012

EUR/USD BUY 1.3069

Trading Price Action on EUR/USD notice how Price Broke Resistance and came back to that level/area.
We parked a BUY Limit and was filled as price will flip Resistance into Support.














If you want the FREE MT4 ADR Indicator in this chart see this post: Click Here

Updated code TheGreedyPig ADR v6.mq4

I found some bugs after I tried to clean up the code.
Here is what it looks like















If you would like a FREE copy of this indicator, send an email to FREE_ADR_Indicator@SendFree.com.


If you need help developing Expert Advisor, Scripts, or Indicators
send an eMail to: FREEMT4Consultation@sendfree.com

Visit/Follow us:
YouTube: http://www.youtube.com/user/GreedyPigTrading
Blog: http://greedypigtrading.blogspot.com/
eMail: GreedyPigTrading@Gmail.com
LinkedIn: http://www.linkedin.com/pub/thegreedy-pig/47/ba4/20b

Tuesday, March 13, 2012

EUR/USD Winding Up!!

EUR/USD is winding up to spring towards 1.3363.
Keep watch for BUY Opportunities.










Check back for Trade ideas and examples.
Oink Oink
Article on Support Resistance

Sunday, March 4, 2012

TheGreedyPig ADR v6.mq4

This is a modified ADR Indicator I found in a Forum.












Here is the MT4 Code:


//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
//                                          TheGreedyPig ADR v6.mq4 $
//                                   Copyright © 2012, TheGreedyPig $
//                            http://greedypigtrading.blogspot.com/ $
//                                                                  $
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
#property copyright "Greedy Pig Trading"
#property indicator_chart_window
/*
If you need help developing Expert Advisor, Scripts, or Indicators
send an eMail to: FREEMT4Consultation@sendfree.com
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                              Version Log
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
2012/03/04 - TheGreedyPig
TheGreedyPig ADR v6
Added Input Options to display High/Low Prices on chart for ADR 20, ADR 10 ADR 5
Top Left of chart shows:
ADR(20) = XXX
ADR(10) = XXX
ADR(5)  = XXX
Today   = XXX
ADR5 Top = xxxx - xx Pips Away [This will turn Yellow if within 20 Pips]
(Pips from Open) = xx [this will change color >20 is Green, < -20 is RED Less than 20 is Yellow]
ADR5 Bottom = xxxx - xx Pips Away [This will turn Yellow if within 20 Pips]
*/
 extern  bool Show.ADR5  = true;
 extern  bool Show.ADR10 = true;
 extern  bool Show.ADR20 = true;
 extern  bool ExcludeSundayData = true;  // set to "false" to INCLUDE Sunday bar in the calculation

 color      ADR_Color=Blue;

 int        Font_Size=10;
 int        DisplayCorner=0;            
 int        x=10;
 int        y=10;
 int        LastBars0=0;
 int        Todays.Range; // current days range High to Low
 int        RmUp; // Pips from Bid to ADR5 High
 int        RmDn;// Pips from Bid to ADR5 Low
 int        n = 1; // $$$ Used to loop back x days

 string     font1 = "Compact";
 string     font2 = "Arial Black";
 static int adr1,adr5,adr10,adr20; // stores ADR calcs
 string     text; //

 double     PipValue = 0.0001;
 double     ADR5_High =0;
 double     ADR5_Low=0;
 double     ADR10_High =0;
 double     ADR10_Low=0;
 double     ADR20_High =0;
 double     ADR20_Low=0;
 double     DailyPips; // used to hold the daily move in pips
 double     Daily.Range = 0.0;  // $$$ Used to Total up the Daily Ranges

 

//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
int init()
{
//$$$ Establish Pips for 4 or 5 digit/fractional pip calculations
   if (Digits == 2 || Digits == 3) PipValue = PipValue * 100; // $$$ For JPY pairs
   if (Digits == 4 || Digits == 5) PipValue = PipValue;
// $$$ Branding
  ObjectCreate("trademark", OBJ_LABEL, 0, 0, 0);          //$$$ Trademark
  ObjectSet("trademark", OBJPROP_CORNER, DisplayCorner);
  ObjectSet("trademark", OBJPROP_XDISTANCE, x);
  ObjectSet("trademark", OBJPROP_YDISTANCE, y+5);
  ObjectSetText("trademark","TheGreedyPig",Font_Size-3, font2, Black);

  ObjectCreate("Watermark", OBJ_LABEL, 0, 0, 0);          //$$$ Watermark
  ObjectSet("Watermark", OBJPROP_CORNER, 3);
  ObjectSet("Watermark", OBJPROP_XDISTANCE, 5);
  ObjectSet("Watermark", OBJPROP_YDISTANCE, 5);
  ObjectSetText("Watermark","http://greedypigtrading.blogspot.com",Font_Size, font2, DimGray);    
// $$$ TopLeft Dashboard/Display
  ObjectCreate("xADR0", OBJ_LABEL, 0, 0, 0);          // Average Daily Range ("ADR20" Label)
  ObjectSet("xADR0", OBJPROP_CORNER, DisplayCorner);
  ObjectSet("xADR0", OBJPROP_XDISTANCE, x);
  ObjectSet("xADR0", OBJPROP_YDISTANCE, y+20);

  ObjectCreate("xADR1", OBJ_LABEL, 0, 0, 0);          // Average Daily Range ("ADR10" Label)
  ObjectSet("xADR1", OBJPROP_CORNER, DisplayCorner);
  ObjectSet("xADR1", OBJPROP_XDISTANCE, x);
  ObjectSet("xADR1", OBJPROP_YDISTANCE, y+35);

  ObjectCreate("xADR2", OBJ_LABEL, 0, 0, 0);          // Average Daily Range ("ADR5" Label)
  ObjectSet("xADR2", OBJPROP_CORNER, DisplayCorner);
  ObjectSet("xADR2", OBJPROP_XDISTANCE, x);
  ObjectSet("xADR2", OBJPROP_YDISTANCE, y+50);

  ObjectCreate("xADR3", OBJ_LABEL, 0, 0, 0);          // "Today's Range" Label
  ObjectSet("xADR3", OBJPROP_CORNER, DisplayCorner);
  ObjectSet("xADR3", OBJPROP_XDISTANCE, x);
  ObjectSet("xADR3", OBJPROP_YDISTANCE, y+65);
 
  ObjectCreate("xADR4", OBJ_LABEL, 0, 0, 0);
  ObjectSet("xADR4", OBJPROP_CORNER, DisplayCorner);  // "ADR Top" Label
  ObjectSet("xADR4", OBJPROP_XDISTANCE, x);
  ObjectSet("xADR4", OBJPROP_YDISTANCE, y+80);

  ObjectCreate("DailyPipsObj2", OBJ_LABEL, 0, 0, 0);
  ObjectSet("DailyPipsObj2", OBJPROP_CORNER, DisplayCorner);  // Daily Pips
  ObjectSet("DailyPipsObj2", OBJPROP_XDISTANCE, x);
  ObjectSet("DailyPipsObj2", OBJPROP_YDISTANCE, y+97);

  ObjectCreate("xADR5", OBJ_LABEL, 0, 0, 0);          // "ADR Bottom" Label
  ObjectSet("xADR5", OBJPROP_CORNER, DisplayCorner);
  ObjectSet("xADR5", OBJPROP_XDISTANCE, x);
  ObjectSet("xADR5", OBJPROP_YDISTANCE, y+130);
// $$$ On Chart ADR Price Label Display  
  ObjectCreate("ADR5_High_obj" ,OBJ_ARROW,0,Time[0],0);  //Get this to calc price and plot
  ObjectSet("ADR5_High_obj",OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
  ObjectSet("ADR5_High_obj" ,OBJPROP_COLOR,Red);
  ObjectSet("ADR5_High_obj" ,OBJPROP_WIDTH,3);
 
  ObjectCreate("ADR5_Low_obj",OBJ_ARROW,0,Time[0],0);  //Get this to calc price and plot
  ObjectSet("ADR5_Low_obj",OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
  ObjectSet("ADR5_Low_obj" ,OBJPROP_COLOR,Green);
  ObjectSet("ADR5_Low_obj" ,OBJPROP_WIDTH,3);

  ObjectCreate("ADR10_High_obj" ,OBJ_ARROW,0,Time[1],0);  //Get this to calc price and plot
  ObjectSet("ADR10_High_obj",OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
  ObjectSet("ADR10_High_obj" ,OBJPROP_COLOR,Red);
  ObjectSet("ADR10_High_obj" ,OBJPROP_WIDTH,2);
 
  ObjectCreate("ADR10_Low_obj",OBJ_ARROW,0,Time[1],0);  //Get this to calc price and plot
  ObjectSet("ADR10_Low_obj",OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
  ObjectSet("ADR10_Low_obj" ,OBJPROP_COLOR,Green);
  ObjectSet("ADR10_Low_obj" ,OBJPROP_WIDTH,2);

  ObjectCreate("ADR20_High_obj" ,OBJ_ARROW,0,Time[2],0);  //Get this to calc price and plot
  ObjectSet("ADR20_High_obj",OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
  ObjectSet("ADR20_High_obj" ,OBJPROP_COLOR,Red);
  ObjectSet("ADR20_High_obj" ,OBJPROP_WIDTH,1);
 
  ObjectCreate("ADR20_Low_obj",OBJ_ARROW,0,Time[2],0);  //Get this to calc price and plot
  ObjectSet("ADR20_Low_obj",OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
  ObjectSet("ADR20_Low_obj" ,OBJPROP_COLOR,Green);
  ObjectSet("ADR20_Low_obj" ,OBJPROP_WIDTH,1);
  return(0);
} // End Initialize

int deinit()
{
     if (ObjectFind("xADR0") == 0 )          ObjectDelete("xADR0");// only delete it if it exists
     if (ObjectFind("xADR1") == 0 )          ObjectDelete("xADR1");
     if (ObjectFind("xADR2") == 0 )          ObjectDelete("xADR2");
     if (ObjectFind("xADR3") == 0 )          ObjectDelete("xADR3");
     if (ObjectFind("xADR4") == 0 )          ObjectDelete("xADR4");
     if (ObjectFind("xADR5") == 0 )          ObjectDelete("xADR5");                  
     if (ObjectFind("DailyPipsObj2") == 0 )  ObjectDelete("DailyPipsObj2");
     if (ObjectFind("ADR5_High_obj") == 0 )  ObjectDelete("ADR5_High_obj");
     if (ObjectFind("ADR5_Low_obj") == 0 )   ObjectDelete("ADR5_Low_obj");
     if (ObjectFind("ADR10_High_obj") == 0 )  ObjectDelete("ADR10_High_obj");
     if (ObjectFind("ADR10_Low_obj") == 0 )   ObjectDelete("ADR10_Low_obj");
     if (ObjectFind("ADR20_High_obj") == 0 )  ObjectDelete("ADR20_High_obj");
     if (ObjectFind("ADR20_Low_obj") == 0 )   ObjectDelete("ADR20_Low_obj");            
   
     
  return(0);
} // End Deinitialize

int start()
{
  // Oink Oink
  int Bars0=Bars;
  //$$$$$  ADR CALCULATION $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  if(Bars0>LastBars0)
  {
    for(int i=1;i<=20;i++) // $$$ Loop Past 20 Daily Sessions
    {
      while(ExcludeSundayData && TimeDayOfWeek(iTime(Symbol(),PERIOD_D1,n))==0) n++; // If TimeDayOfWeek returns 0 add 1 to n to skip Sunday
      Daily.Range=Daily.Range + ( iHigh(Symbol(),PERIOD_D1,n) - iLow(Symbol(),PERIOD_D1,n) )/PipValue;
      if(i==1)  adr1 =MathRound(Daily.Range);
      if(i==5)  adr5 =MathRound(Daily.Range/5);
      if(i==10) adr10=MathRound(Daily.Range/10);
      if(i==20) adr20=MathRound(Daily.Range/20);
      n++;
    }  
    text="ADR(20) = "+adr20;
    ObjectSetText("xADR0",text,Font_Size, font2, ADR_Color);      // $$$ "ADR20" Label    
 
    text="ADR(10) = "+adr10;
    ObjectSetText("xADR1",text,Font_Size, font2, ADR_Color);      // $$$ "ADR10" Label  
 
    text="ADR(5)   = "+adr5;
    ObjectSetText("xADR2",text,Font_Size, font2, ADR_Color);      // $$$ "ADR5" Label

    LastBars0=Bars0;    
  }    
  //$$$$$  END OF ADR CALCULATION $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

  //Today's Range and Limit Room $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  double Todays.Low  =  iLow (Symbol(),PERIOD_D1,0);
  double Todays.High =  iHigh(Symbol(),PERIOD_D1,0);
  Todays.Range =  MathRound((Todays.High - Todays.Low)    /PipValue );
  RmUp         =  MathRound( adr5   - (Bid - Todays.Low)  /PipValue );
  RmDn         =  MathRound( adr5   - (Todays.High - Bid) /PipValue );
 
  ADR5_High     =  Todays.Low  + (adr5 * PipValue);
  ADR5_Low      =  Todays.High - (adr5 * PipValue);

  ADR10_High     =  Todays.Low  + (adr10 * PipValue);
  ADR10_Low      =  Todays.High - (adr10 * PipValue);

  ADR20_High     =  Todays.Low  + (adr20 * PipValue);
  ADR20_Low      =  Todays.High - (adr20 * PipValue);  

  text         ="Today    = " + Todays.Range;                       // "Today's Range" Label
  ObjectSetText("xADR3",text,Font_Size,font2, ADR_Color);
   
  text         ="ADR(5) Top@" + DoubleToStr(ADR5_High,4)+" = "+ RmUp + " Pips Away";      // "ADR Top" Label
  if (RmUp<20)   ObjectSetText("xADR4",text,Font_Size, font1, Yellow);
   else   ObjectSetText("xADR4",text,Font_Size, font2, Green);

  text         ="ADR(5) Bottom@" + DoubleToStr(ADR5_Low,4)+" = "+ RmDn + " Pips Away";    // "ADR Bottom" Label
  if (RmDn<20)   ObjectSetText("xADR5",text,Font_Size, font2, Yellow);
  else ObjectSetText("xADR5",text,Font_Size, font2, Green);

if( iClose(Symbol(),PERIOD_D1,0 ) > iOpen(Symbol(),PERIOD_D1,0 )) DailyPips = (iClose(Symbol(),PERIOD_D1,0 ) - iOpen(Symbol(),PERIOD_D1,0 ) ) /PipValue;
else if( iOpen(Symbol(),PERIOD_D1,0 ) > iClose(Symbol(),PERIOD_D1,0 )) DailyPips = (iOpen(Symbol(),PERIOD_D1,0 ) - iClose(Symbol(),PERIOD_D1,0 ) ) /PipValue;

// $$$ Change Display of DailyPips by Daily Pip Range for the day.
// $$$ YELLOW
if (DailyPips < 20)
ObjectSetText ("DailyPipsObj2",DoubleToStr( (iClose(Symbol(),PERIOD_D1,0 ) - iOpen(Symbol(),PERIOD_D1,0 ))/PipValue ,0),20,"Arial Black",Yellow);
// $$$ RED
else if (
            (iOpen(Symbol(),PERIOD_D1,0 ) - iClose(Symbol(),PERIOD_D1,0 ))/PipValue >20 )
ObjectSetText ("DailyPipsObj2",DoubleToStr( (iClose(Symbol(),PERIOD_D1,0 ) - iOpen(Symbol(),PERIOD_D1,0 ))/PipValue ,0),20,"Arial Black",Red);
// $$$ GREEN
else if (
            (iClose(Symbol(),PERIOD_D1,0 ) - iOpen(Symbol(),PERIOD_D1,0 ))/PipValue >20 )

ObjectSetText ("DailyPipsObj2",DoubleToStr( (iClose(Symbol(),PERIOD_D1,0 ) - iOpen(Symbol(),PERIOD_D1,0 ))/PipValue ,0),20,"Arial Black",Green);
// $$$ DISPLAY OF PRICE LABELS ON THE CHART
if (Show.ADR5)
   {
   // $$$ Set ADR Price Label HIGH  
   ObjectSet("ADR5_High_obj"    ,OBJPROP_TIME1,Time[0]);  //Get this to calc price and plot
   ObjectSet("ADR5_High_obj"    ,OBJPROP_PRICE1,ADR5_High);  //Get this to calc price and plot  
ObjectSetText("ADR5_High_obj","ADR5 High=" + DoubleToStr(ADR5_High,4),10,font1,Red);
   // $$$ Set ADR Price Label LOW  
   ObjectSet("ADR5_Low_obj"    ,OBJPROP_TIME1,Time[0]);  //Get this to calc price and plot
   ObjectSet("ADR5_Low_obj"    ,OBJPROP_PRICE1,ADR5_Low);  //Get this to calc price and plot  
ObjectSetText("ADR5_Low_obj","ADR5 Low="+DoubleToStr(ADR5_Low,4),10,font1,Red);
   }
   else
   {
     if (ObjectFind("ADR5_High_obj") == 0 )  ObjectDelete("ADR5_High_obj");
     if (ObjectFind("ADR5_Low_obj")  == 0 )  ObjectDelete("ADR5_Low_obj");
   }
if (Show.ADR10)
   {
   // $$$ Set ADR Price Label HIGH  
   ObjectSet("ADR10_High_obj"    ,OBJPROP_TIME1,Time[1]);  //Get this to calc price and plot
   ObjectSet("ADR10_High_obj"    ,OBJPROP_PRICE1,ADR10_High);  //Get this to calc price and plot  
ObjectSetText("ADR10_High_obj","ADR10 High=" + DoubleToStr(ADR10_High,4),10,font1,Red);
   // $$$ Set ADR Price Label LOW  
   ObjectSet("ADR10_Low_obj"    ,OBJPROP_TIME1,Time[1]);  //Get this to calc price and plot
   ObjectSet("ADR10_Low_obj"    ,OBJPROP_PRICE1,ADR10_Low);  //Get this to calc price and plot  
ObjectSetText("ADR10_Low_obj","ADR10 Low="+DoubleToStr(ADR10_Low,4),10,font1,Red);
   }
   else
   {
     if (ObjectFind("ADR10_High_obj") == 0 )  ObjectDelete("ADR10_High_obj");
     if (ObjectFind("ADR10_Low_obj")  == 0 )  ObjectDelete("ADR10_Low_obj");
   }
if (Show.ADR20)
   {
   // $$$ Set ADR Price Label HIGH  
   ObjectSet("ADR20_High_obj"    ,OBJPROP_TIME1,Time[2]);  //Get this to calc price and plot
   ObjectSet("ADR20_High_obj"    ,OBJPROP_PRICE1,ADR20_High);  //Get this to calc price and plot  
ObjectSetText("ADR20_High_obj","ADR20 High=" + DoubleToStr(ADR20_High,4),10,font1,Red);
   // $$$ Set ADR Price Label LOW  
   ObjectSet("ADR20_Low_obj"    ,OBJPROP_TIME1,Time[2]);  //Get this to calc price and plot
   ObjectSet("ADR20_Low_obj"    ,OBJPROP_PRICE1,ADR20_Low);  //Get this to calc price and plot  
ObjectSetText("ADR20_Low_obj","ADR20 Low="+DoubleToStr(ADR20_Low,4),10,font1,Red);
   }  
   else
   {
     if (ObjectFind("ADR20_High_obj") == 0 )  ObjectDelete("ADR20_High_obj");
     if (ObjectFind("ADR20_Low_obj")  == 0 )  ObjectDelete("ADR20_Low_obj");
   }
  return(0);
} // END Start
//+------------------------------------------------------------------+