help EA build

 
//+------------------------------------------------------------------+
//|                                                      SmartON.mq4 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
input double TakeProfit    =400;
input double StopLoss      =170; 
input double Lots          =0.75;

void OnTick()
  {
  
int    ticket,total;
  
double spread = Ask - Bid * _Point;

double h1 = iHigh(_Symbol,PERIOD_M5,2);
double h2 = iHigh(_Symbol,PERIOD_M5,3);
double h3 = iHigh(_Symbol,PERIOD_M5,4);
double h4 = iHigh(_Symbol,PERIOD_M5,5);
double h5 = iHigh(_Symbol,PERIOD_M5,6);
double h6 = iHigh(_Symbol,PERIOD_M5,7);
double h7 = iHigh(_Symbol,PERIOD_M5,8);
double h8 = iHigh(_Symbol,PERIOD_M5,9);
double h9 = iHigh(_Symbol,PERIOD_M5,10);
double h10 = iHigh(_Symbol,PERIOD_M5,11);
double h11 = iHigh(_Symbol,PERIOD_M5,12);
double h12 = iHigh(_Symbol,PERIOD_M5,13);
double h13 = iHigh(_Symbol,PERIOD_M5,14);
double h14 = iHigh(_Symbol,PERIOD_M5,15);
double h15 = iHigh(_Symbol,PERIOD_M5,16);
double h16 = iHigh(_Symbol,PERIOD_M5,17);
double h17 = iHigh(_Symbol,PERIOD_M5,18);
double h18 = iHigh(_Symbol,PERIOD_M5,19);
double h19 = iHigh(_Symbol,PERIOD_M5,20);
double h20 = iHigh(_Symbol,PERIOD_M5,21);
double h21 = iHigh(_Symbol,PERIOD_M5,22);

double u1= iFractals(_Symbol,PERIOD_M5,MODE_UPPER,2);
double u2= iFractals(_Symbol,PERIOD_M5,MODE_UPPER,3);
double u3= iFractals(_Symbol,PERIOD_M5,MODE_UPPER,4); 
double u4= iFractals(_Symbol,PERIOD_M5,MODE_UPPER,5);
double u5= iFractals(_Symbol,PERIOD_M5,MODE_UPPER,6);
double u6= iFractals(_Symbol,PERIOD_M5,MODE_UPPER,7);
double u7= iFractals(_Symbol,PERIOD_M5,MODE_UPPER,8);
double u8= iFractals(_Symbol,PERIOD_M5,MODE_UPPER,9);
double u9= iFractals(_Symbol,PERIOD_M5,MODE_UPPER,10);
double u10 =iFractals(_Symbol,PERIOD_M5,MODE_UPPER,11);
double u11 =iFractals(_Symbol,PERIOD_M5,MODE_UPPER,12);
double u12 =iFractals(_Symbol,PERIOD_M5,MODE_UPPER,13);
double u13 =iFractals(_Symbol,PERIOD_M5,MODE_UPPER,14);
double u14 =iFractals(_Symbol,PERIOD_M5,MODE_UPPER,15);
double u15 =iFractals(_Symbol,PERIOD_M5,MODE_UPPER,16);
double u16 =iFractals(_Symbol,PERIOD_M5,MODE_UPPER,17);
double u17 =iFractals(_Symbol,PERIOD_M5,MODE_UPPER,18);
double u18 =iFractals(_Symbol,PERIOD_M5,MODE_UPPER,19);
double u19 =iFractals(_Symbol,PERIOD_M5,MODE_UPPER,20);
double u20 =iFractals(_Symbol,PERIOD_M5,MODE_UPPER,21);
double u21 =iFractals(_Symbol,PERIOD_M5,MODE_UPPER,22);
  
double l1 = iLow(_Symbol,PERIOD_M5,2);  
double l2 = iLow(_Symbol,PERIOD_M5,3);
double l3 = iLow(_Symbol,PERIOD_M5,4);
double l4 = iLow(_Symbol,PERIOD_M5,5);
double l5 = iLow(_Symbol,PERIOD_M5,6);
double l6 = iLow(_Symbol,PERIOD_M5,7);
double l7 = iLow(_Symbol,PERIOD_M5,8);
double l8 = iLow(_Symbol,PERIOD_M5,9);
double l9 = iLow(_Symbol,PERIOD_M5,10);
double l10 = iLow(_Symbol,PERIOD_M5,11);
double l11 = iLow(_Symbol,PERIOD_M5,12);
double l12 = iLow(_Symbol,PERIOD_M5,13);
double l13 = iLow(_Symbol,PERIOD_M5,14);
double l14 = iLow(_Symbol,PERIOD_M5,15);
double l15 = iLow(_Symbol,PERIOD_M5,16);
double l16 = iLow(_Symbol,PERIOD_M5,17);
double l17 = iLow(_Symbol,PERIOD_M5,18);
double l18 = iLow(_Symbol,PERIOD_M5,19);
double l19 = iLow(_Symbol,PERIOD_M5,20);
double l20 = iLow(_Symbol,PERIOD_M5,21);
double l21 = iLow(_Symbol,PERIOD_M5,22);

double d1= iFractals(_Symbol,PERIOD_M5,MODE_LOWER,2);
double d2= iFractals(_Symbol,PERIOD_M5,MODE_LOWER,3);
double d3= iFractals(_Symbol,PERIOD_M5,MODE_LOWER,4); 
double d4= iFractals(_Symbol,PERIOD_M5,MODE_LOWER,5);
double d5= iFractals(_Symbol,PERIOD_M5,MODE_LOWER,6);
double d6= iFractals(_Symbol,PERIOD_M5,MODE_LOWER,7);
double d7= iFractals(_Symbol,PERIOD_M5,MODE_LOWER,8);
double d8= iFractals(_Symbol,PERIOD_M5,MODE_LOWER,9);
double d9= iFractals(_Symbol,PERIOD_M5,MODE_LOWER,10);
double d10 =iFractals(_Symbol,PERIOD_M5,MODE_LOWER,11);
double d11 =iFractals(_Symbol,PERIOD_M5,MODE_LOWER,12);
double d12 =iFractals(_Symbol,PERIOD_M5,MODE_LOWER,13);
double d13 =iFractals(_Symbol,PERIOD_M5,MODE_LOWER,14);
double d14 =iFractals(_Symbol,PERIOD_M5,MODE_LOWER,15);
double d15 =iFractals(_Symbol,PERIOD_M5,MODE_LOWER,16);
double d16 =iFractals(_Symbol,PERIOD_M5,MODE_LOWER,17);
double d17 =iFractals(_Symbol,PERIOD_M5,MODE_LOWER,18);
double d18 =iFractals(_Symbol,PERIOD_M5,MODE_LOWER,19);
double d19 =iFractals(_Symbol,PERIOD_M5,MODE_LOWER,20);
double d20 =iFractals(_Symbol,PERIOD_M5,MODE_LOWER,21);
double d21 =iFractals(_Symbol,PERIOD_M5,MODE_LOWER,22);

double Icc = iCCI( 
          NULL,           // symbol 
             PERIOD_H1,        // timeframe 
             14,           // averaging period 
             PRICE_CLOSE,    // applied price 
             0            // shift 
   );

double ma20m5 = iMA( 
   NULL,           // symbol 
          5,        // timeframe 
          20,        // MA averaging period 
          0,         // MA shift 
             0,        // averaging method 
             0,    // applied price 
             0             // shift 
   );

 

double stoc1h = iStochastic( 
          _Symbol,           // symbol 
             PERIOD_H1,        // timeframe 
             5,          // K line period 
             3,          // D line period 
             3,          // slowing 
             MODE_SMA,           // averaging method 
             0,      // price (Low/High or Close/Close) 
             MODE_SIGNAL,             // line index 
             0             // shift 
   );
   
double stoc1m = iStochastic( 
          _Symbol,           // symbol 
             PERIOD_M5,        // timeframe 
             5,          // K line period 
             3,          // D line period 
             3,          // slowing 
             MODE_SMA,           // averaging method 
             0,      // price (Low/High or Close/Close) 
             MODE_SIGNAL,             // line index 
             0             // shift 
   );   
double stoc1ml = iStochastic( 
          _Symbol,           // symbol 
             PERIOD_M5,        // timeframe 
             5,         // K line period 
             3,          // D line period 
             3,          // slowing 
             MODE_SMA,           // averaging method 
             0,      // price (Low/High or Close/Close) 
             MODE_SIGNAL,             // line index 
             1             // shift 
   );
   total=OrdersTotal();
   if(total<1)
     {
      //--- no opened orders identified
      if(AccountFreeMargin()<(1000*Lots))
        {
         Print("We have no money. Free Margin = ",AccountFreeMargin());
         return;
        }
      //--- check for long position (BUY) possibility
      if( 
       ??? 
      
      
      ) 
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,"macd sample",16384,0,Green);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
               Print("BUY order opened : ",OrderOpenPrice());
           }
         else
            Print("Error opening BUY order : ",GetLastError());
         return;
        }
      //--- check for short position (SELL) possibility
      if(                                      
        ???
      
     
       )// 
        {
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point,"macd sample",16384,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
               Print("SELL order opened : ",OrderOpenPrice());
           }
         else
            Print("Error opening SELL order : ",GetLastError());
        }
      //--- exit from the "no opened orders" block
      return;
     }
  }
//+------------------------------------------------------------------+



Now i want ti shearch for a fractal between d1 to d7 in the ??? are in the if statment how can i do that ??


 

is that the way to do this ?


if( 

       ((d1>0||d2>0||d3>0||d4>0||d5>0)&&(d9>0||d10>0||d11>0)&&(d17>0||d18>0||d19>0||d20>0||d21>0))

      

      

      ) 

 
Use the </> button to insert your code.