Multi Symbol and Multi TimeFrame EA in Mql5

I’ve been trying to code my EA to trade multiple symbols and multiple timeframes and have reached a point where i do not know how to proceed, it complies just fine but i know it’s not how it should be done, should i use 3d arrays ? and how so ? How do i get the ChartOpen() to distinguish which symbol and tmeframe to trade ?

 `ENUM_TIMEFRAMES TF[]= {PERIOD_M1,PERIOD_M2,PERIOD_M3,PERIOD_M4,PERIOD_M5,PERIOD_M6,PERIOD_M10,PERIOD_M12,PERIOD_M15,PERIOD_M20,PERIOD_M30,PERIOD_H1};


 for(int i=0; i<=SymbolsTotal(1); i++){
  for(int j=0; j<=ArraySize(TF); j++){

     string    sym = SymbolName(i,1);
     double    open[];
     double    close[];
     double    high[];
     double    low[];

     ArraySetAsSeries(open,true);
     ArraySetAsSeries(close,true);
     ArraySetAsSeries(high,true);
     ArraySetAsSeries(low,true);

     CopyOpen(sym,TF[j],0,35,open);
     CopyClose(sym,TF[j],0,35,close);
     CopyHigh(sym,TF[j],0,35,high);
     CopyLow(sym,TF[j],0,35,low);

     double   bid = SymbolInfoDouble(sym,SYMBOL_BID);
     double   ask = SymbolInfoDouble(sym,SYMBOL_ASK);

     if(.............)
       {
        ChartOpen(sym,TF[j]);
       }
    }
 }`

Okay ,it looks like MT5 .
What is the EA Supposed to do ?
Or if you want to protect the logic , how much data do you need per cycle ?
and is the above running on tick ?