//+------------------------------------------------------------------+
//|                                                  qqe scanner.mq4 |
//|                                                           .....h |
//|                                                    hayseedfx.com |
//+------------------------------------------------------------------+
#property copyright ".....h"
#property link      "hayseedfx.com"
#property version   "1.00"
#property strict

#property show_inputs

       int    tfs[]       = {5,15,30,60,240,1440,10080};           
extern int    wprperiods  = 20;     
      
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {

//---


  int    count  = SymbolsTotal(true);  
  int    tfsize = ArraySize(tfs);
  string sym    = "";
  
  for(int i=0;i<count;i++)
      {
      sym = SymbolName(i,true);
      
  for(int j=0;j<tfsize;j++)
      {
       double wpr = iWPR(sym,tfs[j],wprperiods,1);
          
       wpr(sym,tfs[j]);                                                                    
      }
      }
        
    
  }
//+------------------------------------------------------------------+       


      
//---- 
//----  wpr


void wpr(string sym, int tf)
        {
         if((iWPR(sym,tf,wprperiods,1) > -50.0) && (iWPR(sym,tf,wprperiods,2) <= -50.0))        
            {
            Alert(sym+" "+ IntegerToString(tf)+" wpr crossed above 50");
            } 
 
         if((iWPR(sym,tf,wprperiods,1) < -50.0) && (iWPR(sym,tf,wprperiods,2) >= -50.0))        
            {
            Alert(sym+" "+ IntegerToString(tf)+" wpr crossed below 50");     
            }         
        }




      
//----
//----




void qqe(string sym, int tf)
        {
         if((iCustom(sym,tf,"QQE",5,false,0,1) > 50.0) && (iCustom(sym,tf,"QQE",5,false,0,2) <= 50.0))        
            {
            Alert(sym+" "+ IntegerToString(tf)+" qqe crossed above 50");
            } 
 
         if((iCustom(sym,tf,"QQE",5,false,0,1) < 50.0) && (iCustom(sym,tf,"QQE",5,false,0,2) >= 50.0))        
            {
            Alert(sym+" "+ IntegerToString(tf)+" qqe crossed below 50");     
            }         
        }




//---
//---
