//+------------------------------------------------------------------+
//|                                                          0vr.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+


sinput int io = 1;
input int io2 = 1;

#include <Trade\SymbolInfo.mqh>
CSymbolInfo MS_CSymbolInfo;





int OnInit()
  {
//---
    datetime nach, kon;
    
    Comment(
   
   "\n", SymbolInfoSessionTrade(Symbol(), TUESDAY, 5, nach, kon ),
   "\n", nach,
   "\n", kon
   
   );
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+



void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
    datetime nach, kon;
    
    MS_CSymbolInfo.Name(Symbol() );
    MS_CSymbolInfo.RefreshRates(); //        котировки по символу
    MS_CSymbolInfo.Refresh(); //???????????? данные по символу    
    
   MqlTick MS_MqlTick;
   
   MqlDateTime MS_MqlDateTime;    
   
   MqlRates MS_MqlRates[];
    
    TimeCurrent(MS_MqlDateTime);
    
    SymbolInfoTick(NULL, MS_MqlTick);
    
    double CCI_Op[], Bands_Up[], Bands_Low[];
    
      ArraySetAsSeries(CCI_Op, true);
      ArraySetAsSeries(Bands_Up, true);         
      ArraySetAsSeries(Bands_Low, true);
      
      ArraySetAsSeries(MS_MqlRates ,true);
      
      CopyRates(NULL, PERIOD_M1, 0, 2, MS_MqlRates);
      
      //int hMacd = iMACD(NULL, PERIOD_M15, Macd12, Macd26, Macd9, PRICE_CLOSE);

      //CCI_Op = iCCI(NULL, CCI_TimeFr, CCI_Period, PRICE_CLOSE, 0);    
      
      //int hCCI = iCCI(NULL, CCI_TimeFr, CCI_Period, PRICE_CLOSE);
      //int hCCI = iCCI(Symbol(), CCI_TimeFr, CCI_Period, PRICE_CLOSE);
      int hCCI = iCCI(Symbol(), 1, 23, PRICE_CLOSE);
     
      CopyBuffer(hCCI, 0, 0, 2, CCI_Op); // 0 bar
      

      //Bands_Up = iBands(NULL, Bands_TimeFr, Bands20_Per, Bands2_Dev, Bands0_Shift, PRICE_CLOSE, MODE_UPPER, 1);
      //Bands_Low = iBands(NULL, Bands_TimeFr,Bands20_Per, Bands2_Dev, Bands0_Shift, PRICE_CLOSE, MODE_LOWER, 1);

      //int hBands = iBands(NULL, Bands_TimeFr, Bands20_Per, Bands0_Shift, Bands2_Dev, PRICE_CLOSE);
      int hBands = iBands(Symbol(), 1, 21, 0, 2, PRICE_CLOSE);
      
      CopyBuffer(hBands, 1, 0, 2, Bands_Up); // 1 bar
      CopyBuffer(hBands, 2, 0, 2, Bands_Low); // 1 bar
    
    MS_CSymbolInfo.Name(Symbol() );
    MS_CSymbolInfo.RefreshRates(); //        котировки по символу
    MS_CSymbolInfo.Refresh(); //???????????? данные по символу        
    
    Comment(
    "\n TimeCurrent()= ", TimeCurrent(),
    "\n",
    "\n MS_CSymbolInfo.Time= ", MS_CSymbolInfo.Time(),
    "\n",
    "\n MS_MqlTick.time= ", MS_MqlTick.time,
    "\n",
    "\n MS_MqlDateTime.min= ", MS_MqlDateTime.min,
    "\n MS_MqlDateTime.sec= ", MS_MqlDateTime.sec,
    "\n",
    "\n MS_MqlRates[0].time= ", MS_MqlRates[0].time,
    "\n MS_MqlRates[1].time= ", MS_MqlRates[1].time,
    "\n",
    "\n MS_CSymbolInfo.Bid= ", DoubleToString(MS_CSymbolInfo.Bid(), Digits() ),
    "\n MS_MqlTick.bid= ", DoubleToString(MS_MqlTick.bid, Digits() ),
    "\n",
    "\n CCI_Op= ", DoubleToString(CCI_Op[1], 2), "   ", DoubleToString(CCI_Op[0], 2),
    "\n Bands_Up= ", DoubleToString(Bands_Up[1], Digits() ), "   ", DoubleToString(Bands_Up[0], Digits() ),
    "\n Bands_Low= ", DoubleToString(Bands_Low[1], Digits() ), "   ", DoubleToString(Bands_Low[0], Digits() )
         
   );
   
    
    
    //SymbolInfoTick(Symbol(),last_tick);
    
    //Comment(last_tick.bid);


   //io = 0;
   //io2 = 0;

/*   
   Comment(
        MQLInfoInteger(MQL_TESTER), 
   "\n",MQLInfoInteger(MQL_OPTIMIZATION) );
*/ 
  }
//+------------------------------------------------------------------+
