//+------------------------------------------------------------------+
//|                                                     pin bars.mq4 |
//|                      Copyright © 2010, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
int count;
int count1;
string i;
string instrument;
extern int shadow=2;
extern int atr_multiply = 2;
extern bool forex=true;
extern bool commodities =true;
extern bool sr=true;
extern bool pinbars=true;
extern bool monthly=true;
extern bool weekly=true;
extern bool daily=true;
extern bool h4=true;
extern bool h1=true;
extern bool m15=true;
bool check=true;


//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----

while(count <=159)
 {
  count=count+1;
  if (forex == true && count == 1)
    {
     i="AUDCAD";
     check=true;
    }  
  if (forex == true && count == 2)
    {
     i="AUDCHF";
     check=true;
    }  
  if (forex == true && count == 3)
    {
     i="AUDJPY";
     check=true;
    }
  if (forex == true && count == 4)
    {
     i="AUDNZD";
     check=true;
    }
  if (forex == true && count == 5)
    {
     i="AUDUSD";
     check=true;
    }
  if (forex == true && count == 6)
    {
     i="CADCHF";
     check=true;
    }
  if (forex == true && count == 7)
    {
     i="CADJPY";
     check=true;
    }
  if (forex == true && count == 8)
    {
     i="CHFJPY";
     check=true;
    }
  if (forex == true && count == 9)
    {
     i="CHFNOK";
     check=true;
    }
  if (forex == true && count == 10)
    {
     i="EURAUD";
     check=true;
    }
  if (forex == true && count == 11)
    {
     i="EURCAD";
     check=true;
    }
  if (forex == true && count == 12)
    {
     i="EURCHF";
     check=true;
    }
  if (forex == true && count == 13)
    {
     i="EURCZK";
     check=true;
    }
  if (forex == true && count == 14)
    {
     i="EURDKK";
     check=true;
    }
  if (forex == true && count == 15)
    {
     i="EURGBP";
     check=true;
    }
  if (forex == true && count == 16)
    {
     i="EURJPY";
     check=true;
    }
  if (forex == true && count == 17)
    {
     i="EURNOK";
     check=true;
    }
  if (forex == true && count == 18)
    {
     i="EURHUF";
     check=true;
    }
  if (forex == true && count == 19)
    {
     i="EURNZD";
     check=true;
    }
  if (forex == true && count == 20)
    {
     i="EURPLN";
     check=true;
    }
  if (forex == true && count == 21)
    {
     i="EURSEK";
     check=true;
    }
  if (forex == true && count == 22)
    {
     i="EURTRY";
     check=true;
    }
  if (forex == true && count == 23)
    {
     i="EURUSD";
     check=true;
    }
  if (forex == true && count == 24)
    {
     i="GBPAUD";
     check=true;
    }
  if (forex == true && count == 25)
    {
     i="GBPCAD";
     check=true;
    }
  if (forex == true && count == 26)
    {
     i="GBPCHF";
     check=true;
    }
  if (forex == true && count == 27)
    {
     i="GBPJPY";
     check=true;
    }
  if (forex == true && count == 28)
    {
     i="GBPNZD";
     check=true;
    }
  if (forex == true && count1 == 29)
    {
     i="GBPSEK";
     check=true;
    }  
  if (forex == true && count1 == 30)
    {
     i="GBPUSD";
     check=true;
    }  
  if (forex == true && count1 == 31)
    {
     i="HKDJPY";
     check=true;
    }
  if (forex == true && count1 == 32)
    {
     i="NOKJPY";
     check=true;
    }
  if (forex == true && count1 == 33)
    {
     i="NZDCAD";
     check=true;
    }
  if (forex == true && count1 == 34)
    {
     i="NZDCHF";
     check=true;
    }
  if (forex == true && count1 == 35)
    {
     i="NZDJPY";
     check=true;
    }
  if (forex == true && count1 == 36)
    {
     i="NZDUSD";
     check=true;
    }
  if (forex == true && count == 37)
    {
     i="USDCHF";
     check=true;
    }
  if (forex == true && count == 38)
    {
     i="USDCZK";
     check=true;
    }
  if (forex == true && count == 39)
    {
     i="USDDKK";
     check=true;
    }
  if (forex == true && count == 40)
    {
     i="USDHKD";
     check=true;
    }
  if (forex == true && count == 41)
    {
     i="USDHUF";
     check=true;
    }
  if (forex == true && count == 42)
    {
     i="USDJPY";
     check=true;
    }
  if (forex == true && count == 43)
    {
     i="USDMXN";
     check=true;
    }
  if (forex == true && count == 44)
    {
     i="USDNOK";
     check=true;
    }
  if (forex == true && count == 45)
    {
     i="USDPLN";
     check=true;
    }
  if (forex == true && count == 46)
    {
     i="USDRUB";
     check=true;
    }
  if (forex == true && count == 47)
    {
     i="USDSEK";
     check=true;
    }
  if (forex == true && count == 48)
    {
     i="USDSGD";
     check=true;
    }
  if (forex == true && count == 49)
    {
     i="USDTRY";
     check=true;
    }
  if (forex == true && count == 50)
    {
     i="USDZAR";
     check=true;
    }
  if (forex == true && count == 51)
    {
     i="TRYJPY";
     check=true;
    }
  if (forex == true && count == 52)
    {
     i="SEKJPY";
     check=true;
    }
  if (forex == true && count == 53)
    {
     i="SGDJPY";
     check=true;
    }
  if (commodities == true && count == 54)
    {
     i="XAGUSD";
     check=true;
    }
  if (commodities == true && count == 55)
    {
     i="XAUUSD";
     check=true;
    }
  if (forex == true && count == 56)
    {
     i="ZARJPY";
     check=true;
    }
                
  //Low and Lower close up pin bar------------------------------------------------------------------------------------          
  if (pinbars == true && i != instrument && check == true && monthly == true && iClose(i,PERIOD_MN1,2) < iOpen(i,PERIOD_MN1,2) && iOpen(i,PERIOD_MN1,1) > iClose(i,PERIOD_MN1,1) 
      && (iClose(i,PERIOD_MN1,1) - iLow(i,PERIOD_MN1,1)) /shadow > iOpen(i,PERIOD_MN1,1) - iClose(i,PERIOD_MN1,1)
      && iLow(i,PERIOD_MN1,1) < iLow(i,PERIOD_MN1,2) && iHigh(i,PERIOD_MN1,1) - iOpen(i,PERIOD_MN1,1)
      < (iClose(i,PERIOD_MN1,1) - iLow(i,PERIOD_MN1,1))/2)
    {
     Alert("Pinbar on monthly ",i);
     instrument=i;
    }
  if (pinbars == true && i != instrument && check == true && weekly == true && iClose(i,PERIOD_W1,2) < iOpen(i,PERIOD_W1,2) && iOpen(i,PERIOD_W1,1) > iClose(i,PERIOD_W1,1) 
      && (iClose(i,PERIOD_W1,1) - iLow(i,PERIOD_W1,1)) /shadow > iOpen(i,PERIOD_W1,1) - iClose(i,PERIOD_W1,1)
      && iLow(i,PERIOD_W1,1) < iLow(i,PERIOD_W1,2)&& iHigh(i,PERIOD_W1,1) - iOpen(i,PERIOD_W1,1)
      < (iClose(i,PERIOD_W1,1) - iLow(i,PERIOD_W1,1))/2)
    {
     Alert("Pinbar on weekly ",i);
     instrument=i;
    }
  if (pinbars == true && i != instrument && check == true && daily == true && iClose(i,PERIOD_D1,2) < iOpen(i,PERIOD_D1,2) && iOpen(i,PERIOD_D1,1) > iClose(i,PERIOD_D1,1) 
      && (iClose(i,PERIOD_D1,1) - iLow(i,PERIOD_D1,1)) /shadow > iOpen(i,PERIOD_D1,1) - iClose(i,PERIOD_D1,1)
      && iLow(i,PERIOD_D1,1) < iLow(i,PERIOD_D1,2)&& iHigh(i,PERIOD_D1,1) - iOpen(i,PERIOD_D1,1)
      < (iClose(i,PERIOD_D1,1) - iLow(i,PERIOD_D1,1))/2)
    {
     Alert("Pinbar on daily ",i);
     instrument=i;
    }
  if (pinbars == true && i != instrument && check == true && h4 == true && iClose(i,PERIOD_H4,2) < iOpen(i,PERIOD_H4,2) && iOpen(i,PERIOD_H4,1) > iClose(i,PERIOD_H4,1) 
      && (iClose(i,PERIOD_H4,1) - iLow(i,PERIOD_H4,1)) /shadow > iOpen(i,PERIOD_H4,1) - iClose(i,PERIOD_H4,1)
      && iLow(i,PERIOD_H4,1) < iLow(i,PERIOD_H4,2)&& iHigh(i,PERIOD_H4,1) - iOpen(i,PERIOD_H4,1)
      < (iClose(i,PERIOD_H4,1) - iLow(i,PERIOD_H4,1))/2)
    {
     Alert("Pinbar on 4h ",i);
     instrument=i;
    }
  //High and higher close down pin bar---------------------------------------------------------------------------------  
  if (pinbars == true && i != instrument && check == true && monthly == true && iClose(i,PERIOD_MN1,2) > iOpen(i,PERIOD_MN1,2) && iOpen(i,PERIOD_MN1,1) < iClose(i,PERIOD_MN1,1) 
      && (iHigh(i,PERIOD_MN1,1) - iClose(i,PERIOD_MN1,1)) /shadow > iClose(i,PERIOD_MN1,1) - iOpen(i,PERIOD_MN1,1)
      && iHigh(i,PERIOD_MN1,1) > iHigh(i,PERIOD_MN1,2) && iOpen(i,PERIOD_MN1,1) - iLow(i,PERIOD_MN1,1)
      < (iHigh(i,PERIOD_MN1,1) - iClose(i,PERIOD_MN1,1))/2)
    {
     Alert("Pinbar on monthly ",i);
     instrument=i;
    }
  if (pinbars == true && i != instrument && check == true && weekly == true && iClose(i,PERIOD_W1,2) > iOpen(i,PERIOD_W1,2) && iOpen(i,PERIOD_W1,1) < iClose(i,PERIOD_W1,1) 
      && (iHigh(i,PERIOD_W1,1) - iClose(i,PERIOD_W1,1)) /shadow > iClose(i,PERIOD_W1,1) - iOpen(i,PERIOD_W1,1)
      && iHigh(i,PERIOD_W1,1) > iHigh(i,PERIOD_W1,2) && iOpen(i,PERIOD_W1,1) - iLow(i,PERIOD_W1,1)
      < (iHigh(i,PERIOD_W1,1) - iClose(i,PERIOD_W1,1))/2)
    {
     Alert("Pinbar on weekly ",i);
     instrument=i;
    }
  if (pinbars == true && i != instrument && check == true && daily == true && iClose(i,PERIOD_D1,2) > iOpen(i,PERIOD_D1,2) && iOpen(i,PERIOD_D1,1) < iClose(i,PERIOD_D1,1) 
      && (iHigh(i,PERIOD_D1,1) - iClose(i,PERIOD_D1,1)) /shadow > iClose(i,PERIOD_D1,1) - iOpen(i,PERIOD_D1,1)
      && iHigh(i,PERIOD_D1,1) > iHigh(i,PERIOD_D1,2) && iOpen(i,PERIOD_D1,1) - iLow(i,PERIOD_D1,1)
      < (iHigh(i,PERIOD_D1,1) - iClose(i,PERIOD_D1,1))/2)
    {
     Alert("Pinbar on daily ",i);
     instrument=i;
    }
  if (pinbars == true && i != instrument && check == true && h4 == true && iClose(i,PERIOD_H4,2) > iOpen(i,PERIOD_H4,2) && iOpen(i,PERIOD_H4,1) < iClose(i,PERIOD_H4,1) 
      && (iHigh(i,PERIOD_H4,1) - iClose(i,PERIOD_H4,1)) /shadow > iClose(i,PERIOD_H4,1) - iOpen(i,PERIOD_H4,1)
      && iHigh(i,PERIOD_H4,1) > iHigh(i,PERIOD_H4,2) && iOpen(i,PERIOD_H4,1) - iLow(i,PERIOD_H4,1)
      < (iHigh(i,PERIOD_H4,1) - iClose(i,PERIOD_H4,1))/2)
    {
     Alert("Pinbar on 4h ",i);
     instrument=i;
    }
  //low and higher close up pin bar-----------------------------------------------------------------------------------
  if (pinbars == true && i != instrument && check == true && monthly == true && iClose(i,PERIOD_MN1,2) < iOpen(i,PERIOD_MN1,2) && iOpen(i,PERIOD_MN1,1) < iClose(i,PERIOD_MN1,1) 
      && (iOpen(i,PERIOD_MN1,1) - iLow(i,PERIOD_MN1,1)) /shadow > iClose(i,PERIOD_MN1,1) - iOpen(i,PERIOD_MN1,1)
      && iLow(i,PERIOD_MN1,1) < iLow(i,PERIOD_MN1,2) && iHigh(i,PERIOD_MN1,1) - iClose(i,PERIOD_MN1,1)
      < (iOpen(i,PERIOD_MN1,1) - iLow(i,PERIOD_MN1,1))/2)
    {
     Alert("Pinbar on monthly ",i);
     instrument=i;
    }
  if (pinbars == true && i != instrument && check == true && weekly == true && iClose(i,PERIOD_W1,2) < iOpen(i,PERIOD_W1,2) && iOpen(i,PERIOD_W1,1) < iClose(i,PERIOD_W1,1) 
      && (iOpen(i,PERIOD_W1,1) - iLow(i,PERIOD_W1,1)) /shadow > iClose(i,PERIOD_W1,1) - iOpen(i,PERIOD_W1,1)
      && iLow(i,PERIOD_W1,1) < iLow(i,PERIOD_W1,2) && iHigh(i,PERIOD_W1,1) - iClose(i,PERIOD_W1,1)
      < (iOpen(i,PERIOD_W1,1) - iLow(i,PERIOD_W1,1))/2)
    {
     Alert("Pinbar on weekly ",i);
     instrument=i;
    }
  if (pinbars == true && i != instrument && check == true && daily == true && iClose(i,PERIOD_D1,2) < iOpen(i,PERIOD_D1,2) && iOpen(i,PERIOD_D1,1) < iClose(i,PERIOD_D1,1) 
      && (iOpen(i,PERIOD_D1,1) - iLow(i,PERIOD_D1,1)) /shadow > iClose(i,PERIOD_D1,1) - iOpen(i,PERIOD_D1,1)
      && iLow(i,PERIOD_D1,1) < iLow(i,PERIOD_D1,2) && iHigh(i,PERIOD_D1,1) - iClose(i,PERIOD_D1,1)
      < (iOpen(i,PERIOD_D1,1) - iLow(i,PERIOD_D1,1))/2)
    {
     Alert("Pinbar on daily ",i);
     instrument=i;
    }
  if (pinbars == true && i != instrument && check == true && h4 == true && iClose(i,PERIOD_H4,2) < iOpen(i,PERIOD_H4,2) && iOpen(i,PERIOD_H4,1) < iClose(i,PERIOD_H4,1) 
      && (iOpen(i,PERIOD_H4,1) - iLow(i,PERIOD_H4,1)) /shadow > iClose(i,PERIOD_H4,1) - iOpen(i,PERIOD_H4,1)
      && iLow(i,PERIOD_H4,1) < iLow(i,PERIOD_H4,2) && iHigh(i,PERIOD_H4,1) - iClose(i,PERIOD_H4,1)
      < (iOpen(i,PERIOD_H4,1) - iLow(i,PERIOD_H4,1))/2)
    {
     Alert("Pinbar on h4 ",i);
     instrument=i;
    }      
  //High and lower close down pin bar-----------------------------------------------------------------------------------
  if (pinbars == true && i != instrument && check == true && monthly == true && iClose(i,PERIOD_MN1,2) > iOpen(i,PERIOD_MN1,2) && iOpen(i,PERIOD_MN1,1) > iClose(i,PERIOD_MN1,1) 
      && (iHigh(i,PERIOD_MN1,1) - iOpen(i,PERIOD_MN1,1)) /shadow > iOpen(i,PERIOD_MN1,1) - iClose(i,PERIOD_MN1,1)
      && iHigh(i,PERIOD_MN1,1) > iHigh(i,PERIOD_MN1,2) && iClose(i,PERIOD_MN1,1) - iLow(i,PERIOD_MN1,1)
      < (iHigh(i,PERIOD_MN1,1) - iOpen(i,PERIOD_MN1,1))/2)
    {
     Alert("Pinbar on monthly ",i);
     instrument=i;
    }
  if (pinbars == true && i != instrument && check == true && weekly == true && iClose(i,PERIOD_W1,2) > iOpen(i,PERIOD_W1,2) && iOpen(i,PERIOD_W1,1) > iClose(i,PERIOD_W1,1) 
      && (iHigh(i,PERIOD_W1,1) - iOpen(i,PERIOD_W1,1)) /shadow > iOpen(i,PERIOD_W1,1) - iClose(i,PERIOD_W1,1)
      && iHigh(i,PERIOD_W1,1) > iHigh(i,PERIOD_W1,2) && iClose(i,PERIOD_W1,1) - iLow(i,PERIOD_W1,1)
      < (iHigh(i,PERIOD_W1,1) - iOpen(i,PERIOD_W1,1))/2)
    {
     Alert("Pinbar on weekly ",i);
     instrument=i;
    }
  if (pinbars == true && i != instrument && check == true && daily == true && iClose(i,PERIOD_D1,2) > iOpen(i,PERIOD_D1,2) && iOpen(i,PERIOD_D1,1) > iClose(i,PERIOD_D1,1) 
      && (iHigh(i,PERIOD_D1,1) - iOpen(i,PERIOD_D1,1)) /shadow > iOpen(i,PERIOD_D1,1) - iClose(i,PERIOD_D1,1)
      && iHigh(i,PERIOD_D1,1) > iHigh(i,PERIOD_D1,2) && iClose(i,PERIOD_D1,1) - iLow(i,PERIOD_D1,1)
      < (iHigh(i,PERIOD_D1,1) - iOpen(i,PERIOD_D1,1))/2)
    {
     Alert("Pinbar on daily ",i);
     instrument=i;
    }
  if (pinbars == true && i != instrument && check == true && h4 == true && iClose(i,PERIOD_H4,2) > iOpen(i,PERIOD_H4,2) && iOpen(i,PERIOD_H4,1) > iClose(i,PERIOD_H4,1) 
      && (iHigh(i,PERIOD_H4,1) - iOpen(i,PERIOD_H4,1)) /shadow > iOpen(i,PERIOD_H4,1) - iClose(i,PERIOD_H4,1)
      && iHigh(i,PERIOD_H4,1) > iHigh(i,PERIOD_H4,2) && iClose(i,PERIOD_H4,1) - iLow(i,PERIOD_H4,1)
      < (iHigh(i,PERIOD_H4,1) - iOpen(i,PERIOD_H4,1))/2)
    {
     Alert("Pinbar on h4 ",i);
     instrument=i;
    }
           
  //Check for resistance---------------------------------------------------------------------------------------------------------  
  if (iHighest(i,PERIOD_D1,MODE_HIGH,480,0) > 25 && i != instrument && sr == true && iHigh(i,PERIOD_D1,iHighest(i,PERIOD_D1,MODE_HIGH,480,0)) - MarketInfo(i,MODE_BID) < iATR(i,PERIOD_D1,10,1)*atr_multiply)
    {
     Alert("Close to resistance at daily ",i);
     instrument=i;
    }    
  if (iHighest(i,PERIOD_H4,MODE_HIGH,480,0) > 25 && i != instrument && sr == true && iHigh(i,PERIOD_H4,iHighest(i,PERIOD_H4,MODE_HIGH,480,0)) - MarketInfo(i,MODE_BID) < iATR(i,PERIOD_H4,10,1)*atr_multiply)
    {
     Alert("Close to resistance at h4 ",i);
     instrument=i;
    }    
  if (iHighest(i,PERIOD_H1,MODE_HIGH,480,0) > 25 && i != instrument && sr == true && iHigh(i,PERIOD_H1,iHighest(i,PERIOD_H1,MODE_HIGH,480,0)) - MarketInfo(i,MODE_BID) < iATR(i,PERIOD_H1,10,1)*atr_multiply)
    {
     Alert("Close to resistance at h1 ",i);
     instrument=i;
    }  
  if (iHighest(i,PERIOD_M15,MODE_HIGH,480,0) > 25 && i != instrument && sr == true && iHigh(i,PERIOD_M15,iHighest(i,PERIOD_M15,MODE_HIGH,480,0)) - MarketInfo(i,MODE_BID) < iATR(i,PERIOD_M15,10,1)*atr_multiply)
    {
     Alert("Close to resistance at m15 ",i);
     instrument=i;
    }
  //Check for support---------------------------------------------------------------------------------------------------------  
  if (iLowest(i,PERIOD_D1,MODE_LOW,480,0) > 25 && i != instrument && sr == true && MarketInfo(i,MODE_BID) - iLow(i,PERIOD_D1,iLowest(i,PERIOD_D1,MODE_LOW,480,0)) < iATR(i,PERIOD_D1,10,1)*atr_multiply)
    {
     Alert("Close to support at daily ",i);
     instrument=i;
    }     
  if (iLowest(i,PERIOD_H4,MODE_LOW,480,0) > 25 && i != instrument && sr == true && MarketInfo(i,MODE_BID) - iLow(i,PERIOD_H4,iLowest(i,PERIOD_H4,MODE_LOW,480,0)) < iATR(i,PERIOD_H4,10,1)*atr_multiply)
    {
     Alert("Close to support at h4 ",i);
     instrument=i;
    }
  if (iLowest(i,PERIOD_H1,MODE_LOW,480,0) > 25 && i != instrument && sr == true && MarketInfo(i,MODE_BID) - iLow(i,PERIOD_H1,iLowest(i,PERIOD_H1,MODE_LOW,480,0)) < iATR(i,PERIOD_H1,10,1)*atr_multiply)
    {
     Alert("Close to support at h1 ",i);
     instrument=i;
    }
  if (iLowest(i,PERIOD_M15,MODE_LOW,480,0) > 25 && i != instrument && sr == true && MarketInfo(i,MODE_BID) - iLow(i,PERIOD_M15,iLowest(i,PERIOD_M15,MODE_LOW,480,0)) < iATR(i,PERIOD_M15,10,1)*atr_multiply)
    {
     Alert("Close to support at m15 ",i);
     instrument=i;
    }
  }   
   
  
count=count-57;

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
if (count == 80)
  {
   count=count-80;
  }

Comment("count = ",count);

if (Minute() < 55 )
  {
   while(count <= 57)
    {
     count=count+1;
     if (forex == true && count == 1)
       {
        i="AUDCAD";
        check=true;
       }  
     if (forex == true && count == 2)
       {
        i="AUDCHF";
        check=true;
       }  
     if (forex == true && count == 3)
       {
        i="AUDJPY";
        check=true;
       }
     if (forex == true && count == 4)
       {
        i="AUDNZD";
        check=true;
       }
     if (forex == true && count == 5)
       {
        i="AUDUSD";
        check=true;
       }
     if (forex == true && count == 6)
       {
        i="CADCHF";
        check=true;
       }
     if (forex == true && count == 7)
       {
        i="CADJPY";
        check=true;
       }
     if (forex == true && count == 8)
       {
        i="CHFJPY";
        check=true;
       }
     if (forex == true && count == 9)
       {
        i="CHFNOKCHFSEK";
        check=true;
       }
     if (forex == true && count == 10)
       {
        i="EURAUD";
        check=true;
       }
     if (forex == true && count == 11)
       {
        i="EURCAD";
        check=true;
       }
     if (forex == true && count == 12)
       {
        i="EURCHF";
        check=true;
       }
     if (forex == true && count == 13)
       {
        i="EURCZK";
        check=true;
       }
     if (forex == true && count == 14)
       {
        i="EURDKK";
        check=true;
       }
     if (forex == true && count == 15)
       {
        i="EURGBP";
        check=true;
       }
     if (forex == true && count == 16)
       {
        i="EURJPY";
        check=true;
       }
     if (forex == true && count == 17)
       {
        i="EURNOK";
        check=true;
       }
     if (forex == true && count == 18)
       {
        i="EURHUF";
        check=true;
       }
     if (forex == true && count == 19)
       {
        i="EURNZD";
        check=true;
       }
     if (forex == true && count == 20)
       {
        i="EURPLN";
        check=true;
       }
     if (forex == true && count == 21)
       {
        i="EURSEK";
        check=true;
       }
     if (forex == true && count == 22)
       {
        i="EURTRY";
        check=true;
       }
     if (forex == true && count == 23)
       {
        i="EURUSD";
        check=true;
       }
     if (forex == true && count == 24)
       {
        i="GBPAUD";
        check=true;
       }
     if (forex == true && count == 25)
       {
        i="GBPCAD";
        check=true;
       }
     if (forex == true && count == 26)
       {
        i="GBPCHF";
        check=true;
       }
     if (forex == true && count == 27)
       {
        i="GBPJPY";
        check=true;
       }
     if (forex == true && count == 28)
       {
        i="GBPNZD";
        check=true;
       }
     if (forex == true && count1 == 29)
       {
        i="GBPSEK";
        check=true;
       }  
     if (forex == true && count1 == 30)
       {
        i="GBPUSD";
        check=true;
       }  
     if (forex == true && count1 == 31)
       {
        i="HKDJPY";
        check=true;
       }
     if (forex == true && count1 == 32)
       {
        i="NOKJPY";
        check=true;
       }
     if (forex == true && count1 == 33)
       {
        i="NZDCAD";
        check=true;
       }
     if (forex == true && count1 == 34)
       {
        i="NZDCHF";
        check=true;
       }
     if (forex == true && count1 == 35)
       {
        i="NZDJPY";
        check=true;
       }
     if (forex == true && count1 == 36)
       {
        i="NZDUSD";
        check=true;
       }
     if (forex == true && count == 37)
       {
        i="USDCHF";
        check=true;
       }
     if (forex == true && count == 38)
       {
        i="USDCZK";
        check=true;
       }
     if (forex == true && count == 39)
       {
        i="USDDKK";
        check=true;
       }
     if (forex == true && count == 40)
       {
        i="USDHKD";
        check=true;
       }
     if (forex == true && count == 41)
       {
        i="USDHUF";
        check=true;
       }
     if (forex == true && count == 42)
       {
        i="USDJPY";
        check=true;
       }
     if (forex == true && count == 43)
       {
        i="USDMXN";
        check=true;
       }
     if (forex == true && count == 44)
       {
        i="USDNOK";
        check=true;
       }
     if (forex == true && count == 45)
       {
        i="USDPLN";
        check=true;
       }
     if (forex == true && count == 46)
       {
        i="USDRUB";
        check=true;
       }
     if (forex == true && count == 47)
       {
        i="USDSEK";
        check=true;
       }
     if (forex == true && count == 48)
       {
        i="USDSGD";
        check=true;
       }
     if (forex == true && count == 49)
       {
        i="USDTRY";
        check=true;
       }
     if (forex == true && count == 50)
       {
        i="USDZAR";
        check=true;
       }
     if (forex == true && count == 51)
       {
        i="TRYJPY";
        check=true;
       }
     if (forex == true && count == 52)
       {
        i="SEKJPY";
        check=true;
       }
     if (forex == true && count == 53)
       {
        i="SGDJPY";
        check=true;
       }
     if (commodities == true && count == 54)
       {
        i="XAGUSD";
        check=true;
       }
     if (commodities == true && count == 55)
       {
        i="XAUUSD";
        check=true;
       }
     if (forex == true && count == 56)
       {
        i="ZARJPY";
        check=true;
       }
                   
     //Low and Lower close up pin bar------------------------------------------------------------------------------------          
     if (pinbars == true && i != instrument && check == true && monthly == true && iClose(i,PERIOD_MN1,2) < iOpen(i,PERIOD_MN1,2) && iOpen(i,PERIOD_MN1,1) > iClose(i,PERIOD_MN1,1) 
         && (iClose(i,PERIOD_MN1,1) - iLow(i,PERIOD_MN1,1)) /shadow > iOpen(i,PERIOD_MN1,1) - iClose(i,PERIOD_MN1,1)
         && iLow(i,PERIOD_MN1,1) < iLow(i,PERIOD_MN1,2) && iHigh(i,PERIOD_MN1,1) - iOpen(i,PERIOD_MN1,1)
         < (iClose(i,PERIOD_MN1,1) - iLow(i,PERIOD_MN1,1))/2)
       {
        Alert("Pinbar on monthly ",i);
        instrument=i;
       }
     if (pinbars == true && i != instrument && check == true && weekly == true && iClose(i,PERIOD_W1,2) < iOpen(i,PERIOD_W1,2) && iOpen(i,PERIOD_W1,1) > iClose(i,PERIOD_W1,1) 
         && (iClose(i,PERIOD_W1,1) - iLow(i,PERIOD_W1,1)) /shadow > iOpen(i,PERIOD_W1,1) - iClose(i,PERIOD_W1,1)
         && iLow(i,PERIOD_W1,1) < iLow(i,PERIOD_W1,2)&& iHigh(i,PERIOD_W1,1) - iOpen(i,PERIOD_W1,1)
         < (iClose(i,PERIOD_W1,1) - iLow(i,PERIOD_W1,1))/2)
       {
        Alert("Pinbar on weekly ",i);
        instrument=i;
       }
     if (pinbars == true && i != instrument && check == true && daily == true && iClose(i,PERIOD_D1,2) < iOpen(i,PERIOD_D1,2) && iOpen(i,PERIOD_D1,1) > iClose(i,PERIOD_D1,1) 
         && (iClose(i,PERIOD_D1,1) - iLow(i,PERIOD_D1,1)) /shadow > iOpen(i,PERIOD_D1,1) - iClose(i,PERIOD_D1,1)
         && iLow(i,PERIOD_D1,1) < iLow(i,PERIOD_D1,2)&& iHigh(i,PERIOD_D1,1) - iOpen(i,PERIOD_D1,1)
         < (iClose(i,PERIOD_D1,1) - iLow(i,PERIOD_D1,1))/2)
       {
        Alert("Pinbar on daily ",i);
        instrument=i;
       }
     if (pinbars == true && i != instrument && check == true && h4 == true && iClose(i,PERIOD_H4,2) < iOpen(i,PERIOD_H4,2) && iOpen(i,PERIOD_H4,1) > iClose(i,PERIOD_H4,1) 
         && (iClose(i,PERIOD_H4,1) - iLow(i,PERIOD_H4,1)) /shadow > iOpen(i,PERIOD_H4,1) - iClose(i,PERIOD_H4,1)
         && iLow(i,PERIOD_H4,1) < iLow(i,PERIOD_H4,2)&& iHigh(i,PERIOD_H4,1) - iOpen(i,PERIOD_H4,1)
         < (iClose(i,PERIOD_H4,1) - iLow(i,PERIOD_H4,1))/2)
       {
        Alert("Pinbar on 4h ",i);
        instrument=i;
       }
     //High and higher close down pin bar---------------------------------------------------------------------------------  
     if (pinbars == true && i != instrument && check == true && monthly == true && iClose(i,PERIOD_MN1,2) > iOpen(i,PERIOD_MN1,2) && iOpen(i,PERIOD_MN1,1) < iClose(i,PERIOD_MN1,1) 
         && (iHigh(i,PERIOD_MN1,1) - iClose(i,PERIOD_MN1,1)) /shadow > iClose(i,PERIOD_MN1,1) - iOpen(i,PERIOD_MN1,1)
         && iHigh(i,PERIOD_MN1,1) > iHigh(i,PERIOD_MN1,2) && iOpen(i,PERIOD_MN1,1) - iLow(i,PERIOD_MN1,1)
         < (iHigh(i,PERIOD_MN1,1) - iClose(i,PERIOD_MN1,1))/2)
       {
        Alert("Pinbar on monthly ",i);
        instrument=i;
       }
     if (pinbars == true && i != instrument && check == true && weekly == true && iClose(i,PERIOD_W1,2) > iOpen(i,PERIOD_W1,2) && iOpen(i,PERIOD_W1,1) < iClose(i,PERIOD_W1,1) 
         && (iHigh(i,PERIOD_W1,1) - iClose(i,PERIOD_W1,1)) /shadow > iClose(i,PERIOD_W1,1) - iOpen(i,PERIOD_W1,1)
         && iHigh(i,PERIOD_W1,1) > iHigh(i,PERIOD_W1,2) && iOpen(i,PERIOD_W1,1) - iLow(i,PERIOD_W1,1)
         < (iHigh(i,PERIOD_W1,1) - iClose(i,PERIOD_W1,1))/2)
       {
        Alert("Pinbar on weekly ",i);
        instrument=i;
       }
     if (pinbars == true && i != instrument && check == true && daily == true && iClose(i,PERIOD_D1,2) > iOpen(i,PERIOD_D1,2) && iOpen(i,PERIOD_D1,1) < iClose(i,PERIOD_D1,1) 
         && (iHigh(i,PERIOD_D1,1) - iClose(i,PERIOD_D1,1)) /shadow > iClose(i,PERIOD_D1,1) - iOpen(i,PERIOD_D1,1)
         && iHigh(i,PERIOD_D1,1) > iHigh(i,PERIOD_D1,2) && iOpen(i,PERIOD_D1,1) - iLow(i,PERIOD_D1,1)
         < (iHigh(i,PERIOD_D1,1) - iClose(i,PERIOD_D1,1))/2)
       {
        Alert("Pinbar on daily ",i);
        instrument=i;
       }
     if (pinbars == true && i != instrument && check == true && h4 == true && iClose(i,PERIOD_H4,2) > iOpen(i,PERIOD_H4,2) && iOpen(i,PERIOD_H4,1) < iClose(i,PERIOD_H4,1) 
         && (iHigh(i,PERIOD_H4,1) - iClose(i,PERIOD_H4,1)) /shadow > iClose(i,PERIOD_H4,1) - iOpen(i,PERIOD_H4,1)
         && iHigh(i,PERIOD_H4,1) > iHigh(i,PERIOD_H4,2) && iOpen(i,PERIOD_H4,1) - iLow(i,PERIOD_H4,1)
         < (iHigh(i,PERIOD_H4,1) - iClose(i,PERIOD_H4,1))/2)
       {
        Alert("Pinbar on 4h ",i);
        instrument=i;
       }
     //low and higher close up pin bar-----------------------------------------------------------------------------------
     if (pinbars == true && i != instrument && check == true && monthly == true && iClose(i,PERIOD_MN1,2) < iOpen(i,PERIOD_MN1,2) && iOpen(i,PERIOD_MN1,1) < iClose(i,PERIOD_MN1,1) 
         && (iOpen(i,PERIOD_MN1,1) - iLow(i,PERIOD_MN1,1)) /shadow > iClose(i,PERIOD_MN1,1) - iOpen(i,PERIOD_MN1,1)
         && iLow(i,PERIOD_MN1,1) < iLow(i,PERIOD_MN1,2) && iHigh(i,PERIOD_MN1,1) - iClose(i,PERIOD_MN1,1)
         < (iOpen(i,PERIOD_MN1,1) - iLow(i,PERIOD_MN1,1))/2)
       {
        Alert("Pinbar on monthly ",i);
        instrument=i;
       }
     if (pinbars == true && i != instrument && check == true && weekly == true && iClose(i,PERIOD_W1,2) < iOpen(i,PERIOD_W1,2) && iOpen(i,PERIOD_W1,1) < iClose(i,PERIOD_W1,1) 
         && (iOpen(i,PERIOD_W1,1) - iLow(i,PERIOD_W1,1)) /shadow > iClose(i,PERIOD_W1,1) - iOpen(i,PERIOD_W1,1)
         && iLow(i,PERIOD_W1,1) < iLow(i,PERIOD_W1,2) && iHigh(i,PERIOD_W1,1) - iClose(i,PERIOD_W1,1)
         < (iOpen(i,PERIOD_W1,1) - iLow(i,PERIOD_W1,1))/2)
       {
        Alert("Pinbar on weekly ",i);
        instrument=i;
       }
     if (pinbars == true && i != instrument && check == true && daily == true && iClose(i,PERIOD_D1,2) < iOpen(i,PERIOD_D1,2) && iOpen(i,PERIOD_D1,1) < iClose(i,PERIOD_D1,1) 
         && (iOpen(i,PERIOD_D1,1) - iLow(i,PERIOD_D1,1)) /shadow > iClose(i,PERIOD_D1,1) - iOpen(i,PERIOD_D1,1)
         && iLow(i,PERIOD_D1,1) < iLow(i,PERIOD_D1,2) && iHigh(i,PERIOD_D1,1) - iClose(i,PERIOD_D1,1)
         < (iOpen(i,PERIOD_D1,1) - iLow(i,PERIOD_D1,1))/2)
       {
        Alert("Pinbar on daily ",i);
        instrument=i;
       }
     if (pinbars == true && i != instrument && check == true && h4 == true && iClose(i,PERIOD_H4,2) < iOpen(i,PERIOD_H4,2) && iOpen(i,PERIOD_H4,1) < iClose(i,PERIOD_H4,1) 
         && (iOpen(i,PERIOD_H4,1) - iLow(i,PERIOD_H4,1)) /shadow > iClose(i,PERIOD_H4,1) - iOpen(i,PERIOD_H4,1)
         && iLow(i,PERIOD_H4,1) < iLow(i,PERIOD_H4,2) && iHigh(i,PERIOD_H4,1) - iClose(i,PERIOD_H4,1)
         < (iOpen(i,PERIOD_H4,1) - iLow(i,PERIOD_H4,1))/2)
       {
        Alert("Pinbar on h4 ",i);
        instrument=i;
       }      
     //High and lower close down pin bar-----------------------------------------------------------------------------------
     if (pinbars == true && i != instrument && check == true && monthly == true && iClose(i,PERIOD_MN1,2) > iOpen(i,PERIOD_MN1,2) && iOpen(i,PERIOD_MN1,1) > iClose(i,PERIOD_MN1,1) 
         && (iHigh(i,PERIOD_MN1,1) - iOpen(i,PERIOD_MN1,1)) /shadow > iOpen(i,PERIOD_MN1,1) - iClose(i,PERIOD_MN1,1)
         && iHigh(i,PERIOD_MN1,1) > iHigh(i,PERIOD_MN1,2) && iClose(i,PERIOD_MN1,1) - iLow(i,PERIOD_MN1,1)
         < (iHigh(i,PERIOD_MN1,1) - iOpen(i,PERIOD_MN1,1))/2)
       {
        Alert("Pinbar on monthly ",i);
        instrument=i;
       }
     if (pinbars == true && i != instrument && check == true && weekly == true && iClose(i,PERIOD_W1,2) > iOpen(i,PERIOD_W1,2) && iOpen(i,PERIOD_W1,1) > iClose(i,PERIOD_W1,1) 
         && (iHigh(i,PERIOD_W1,1) - iOpen(i,PERIOD_W1,1)) /shadow > iOpen(i,PERIOD_W1,1) - iClose(i,PERIOD_W1,1)
         && iHigh(i,PERIOD_W1,1) > iHigh(i,PERIOD_W1,2) && iClose(i,PERIOD_W1,1) - iLow(i,PERIOD_W1,1)
         < (iHigh(i,PERIOD_W1,1) - iOpen(i,PERIOD_W1,1))/2)
       {
        Alert("Pinbar on weekly ",i);
        instrument=i;
       }
     if (pinbars == true && i != instrument && check == true && daily == true && iClose(i,PERIOD_D1,2) > iOpen(i,PERIOD_D1,2) && iOpen(i,PERIOD_D1,1) > iClose(i,PERIOD_D1,1) 
         && (iHigh(i,PERIOD_D1,1) - iOpen(i,PERIOD_D1,1)) /shadow > iOpen(i,PERIOD_D1,1) - iClose(i,PERIOD_D1,1)
         && iHigh(i,PERIOD_D1,1) > iHigh(i,PERIOD_D1,2) && iClose(i,PERIOD_D1,1) - iLow(i,PERIOD_D1,1)
         < (iHigh(i,PERIOD_D1,1) - iOpen(i,PERIOD_D1,1))/2)
       {
        Alert("Pinbar on daily ",i);
        instrument=i;
       }
     if (pinbars == true && i != instrument && check == true && h4 == true && iClose(i,PERIOD_H4,2) > iOpen(i,PERIOD_H4,2) && iOpen(i,PERIOD_H4,1) > iClose(i,PERIOD_H4,1) 
         && (iHigh(i,PERIOD_H4,1) - iOpen(i,PERIOD_H4,1)) /shadow > iOpen(i,PERIOD_H4,1) - iClose(i,PERIOD_H4,1)
         && iHigh(i,PERIOD_H4,1) > iHigh(i,PERIOD_H4,2) && iClose(i,PERIOD_H4,1) - iLow(i,PERIOD_H4,1)
         < (iHigh(i,PERIOD_H4,1) - iOpen(i,PERIOD_H4,1))/2)
       {
        Alert("Pinbar on h4 ",i);
        instrument=i;
       }
            
     //Check for resistance---------------------------------------------------------------------------------------------------------  
     if (iHighest(i,PERIOD_D1,MODE_HIGH,480,0) > 25 && i != instrument && sr == true && iHigh(i,PERIOD_D1,iHighest(i,PERIOD_D1,MODE_HIGH,480,0)) - MarketInfo(i,MODE_BID) < iATR(i,PERIOD_D1,10,1)*atr_multiply)
       {
        Alert("Close to resistance at daily ",i);
        instrument=i;
       }    
     if (iHighest(i,PERIOD_H4,MODE_HIGH,480,0) > 25 && i != instrument && sr == true && iHigh(i,PERIOD_H4,iHighest(i,PERIOD_H4,MODE_HIGH,480,0)) - MarketInfo(i,MODE_BID) < iATR(i,PERIOD_H4,10,1)*atr_multiply)
       {
        Alert("Close to resistance at h4 ",i);
        instrument=i;
       }    
     if (iHighest(i,PERIOD_H1,MODE_HIGH,480,0) > 25 && i != instrument && sr == true && iHigh(i,PERIOD_H1,iHighest(i,PERIOD_H1,MODE_HIGH,480,0)) - MarketInfo(i,MODE_BID) < iATR(i,PERIOD_H1,10,1)*atr_multiply)
       {
        Alert("Close to resistance at h1 ",i);
        instrument=i;
       }  
     if (iHighest(i,PERIOD_M15,MODE_HIGH,480,0) > 25 && i != instrument && sr == true && iHigh(i,PERIOD_M15,iHighest(i,PERIOD_M15,MODE_HIGH,480,0)) - MarketInfo(i,MODE_BID) < iATR(i,PERIOD_M15,10,1)*atr_multiply)
       {
        Alert("Close to resistance at m15 ",i);
        instrument=i;
       }
     //Check for support---------------------------------------------------------------------------------------------------------  
     if (iLowest(i,PERIOD_D1,MODE_LOW,480,0) > 25 && i != instrument && sr == true && MarketInfo(i,MODE_BID) - iLow(i,PERIOD_D1,iLowest(i,PERIOD_D1,MODE_LOW,480,0)) < iATR(i,PERIOD_D1,10,1)*atr_multiply)
       {
        Alert("Close to support at daily ",i);
        instrument=i;
       }     
     if (iLowest(i,PERIOD_H4,MODE_LOW,480,0) > 25 && i != instrument && sr == true && MarketInfo(i,MODE_BID) - iLow(i,PERIOD_H4,iLowest(i,PERIOD_H4,MODE_LOW,480,0)) < iATR(i,PERIOD_H4,10,1)*atr_multiply)
       {
        Alert("Close to support at h4 ",i);
        instrument=i;
       }
     if (iLowest(i,PERIOD_H1,MODE_LOW,480,0) > 25 && i != instrument && sr == true && MarketInfo(i,MODE_BID) - iLow(i,PERIOD_H1,iLowest(i,PERIOD_H1,MODE_LOW,480,0)) < iATR(i,PERIOD_H1,10,1)*atr_multiply)
       {
        Alert("Close to support at h1 ",i);
        instrument=i;
       }
     if (iLowest(i,PERIOD_M15,MODE_LOW,480,0) > 25 && i != instrument && sr == true && MarketInfo(i,MODE_BID) - iLow(i,PERIOD_M15,iLowest(i,PERIOD_M15,MODE_LOW,480,0)) < iATR(i,PERIOD_M15,10,1)*atr_multiply)
       {
        Alert("Close to support at m15 ",i);
        instrument=i;
       }
     }  
   Sleep(60000);
  }
  


//----
   return(0);
  }
//+------------------------------------------------------------------+