Mysterious error when extending code - Code too long? Too much data exported?

 

hi

i have this indicator that works, exporting multiple MA of timeframes:

//+------------------------------------------------------------------+

int start()
  {
 static int  flag;
 int handle;
  
   
  double AUDCAD_Bid, AUDCAD_Ask, 
         AUDCAD_M1_10_MA, AUDCAD_M1_20_MA, AUDCAD_M1_30_MA, AUDCAD_M1_40_MA, AUDCAD_M1_50_MA, AUDCAD_M1_60_MA, AUDCAD_M1_70_MA, 
         AUDCAD_M5_10_MA, AUDCAD_M5_20_MA, AUDCAD_M5_30_MA, AUDCAD_M5_40_MA, AUDCAD_M5_50_MA, AUDCAD_M5_60_MA, AUDCAD_M5_70_MA, 
         AUDCAD_M15_10_MA, AUDCAD_M15_20_MA, AUDCAD_M15_30_MA, AUDCAD_M15_40_MA, AUDCAD_M15_50_MA, AUDCAD_M15_60_MA, AUDCAD_M15_70_MA, 
         AUDCAD_M30_10_MA, AUDCAD_M30_20_MA, AUDCAD_M30_30_MA, AUDCAD_M30_40_MA, AUDCAD_M30_50_MA, AUDCAD_M30_60_MA, AUDCAD_M30_70_MA, 
         AUDCAD_H1_10_MA, AUDCAD_H1_20_MA, AUDCAD_H1_30_MA, AUDCAD_H1_40_MA, AUDCAD_H1_50_MA, AUDCAD_H1_60_MA, AUDCAD_H1_70_MA, 
         AUDCAD_H4_10_MA, AUDCAD_H4_20_MA, AUDCAD_H4_30_MA, AUDCAD_H4_40_MA, AUDCAD_H4_50_MA, AUDCAD_H4_60_MA, AUDCAD_H4_70_MA, 
         AUDCAD_D1_10_MA, AUDCAD_D1_20_MA, AUDCAD_D1_30_MA, AUDCAD_D1_40_MA, AUDCAD_D1_50_MA, AUDCAD_D1_60_MA, AUDCAD_D1_70_MA, 
         AUDCAD_W1_10_MA, AUDCAD_W1_20_MA, AUDCAD_W1_30_MA, AUDCAD_W1_40_MA, AUDCAD_W1_50_MA, AUDCAD_W1_60_MA, AUDCAD_W1_70_MA, 
         
         AUDCAD_M15_ATR, AUDCAD_M30_ATR, AUDCAD_H1_ATR, AUDCAD_H4_ATR, AUDCAD_D1_ATR;
  
    
  
         AUDCAD_Bid = MarketInfo("AUDCAD",MODE_BID);
         AUDCAD_Ask = MarketInfo("AUDCAD",MODE_ASK);
         AUDCAD_M1_10_MA = iMA("AUDCAD",PERIOD_M1,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_20_MA = iMA("AUDCAD",PERIOD_M1,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_30_MA = iMA("AUDCAD",PERIOD_M1,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_40_MA = iMA("AUDCAD",PERIOD_M1,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_50_MA = iMA("AUDCAD",PERIOD_M1,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_60_MA = iMA("AUDCAD",PERIOD_M1,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_70_MA = iMA("AUDCAD",PERIOD_M1,70,0,MODE_SMA,PRICE_CLOSE,1);

         AUDCAD_M5_10_MA = iMA("AUDCAD",PERIOD_M5,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_20_MA = iMA("AUDCAD",PERIOD_M5,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_30_MA = iMA("AUDCAD",PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_40_MA = iMA("AUDCAD",PERIOD_M5,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_50_MA = iMA("AUDCAD",PERIOD_M5,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_60_MA = iMA("AUDCAD",PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_70_MA = iMA("AUDCAD",PERIOD_M5,70,0,MODE_SMA,PRICE_CLOSE,1);

         AUDCAD_M15_10_MA = iMA("AUDCAD",PERIOD_M15,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_20_MA = iMA("AUDCAD",PERIOD_M15,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_30_MA = iMA("AUDCAD",PERIOD_M15,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_40_MA = iMA("AUDCAD",PERIOD_M15,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_50_MA = iMA("AUDCAD",PERIOD_M15,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_60_MA = iMA("AUDCAD",PERIOD_M15,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_70_MA = iMA("AUDCAD",PERIOD_M15,70,0,MODE_SMA,PRICE_CLOSE,1);

         AUDCAD_M30_10_MA = iMA("AUDCAD",PERIOD_M30,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_20_MA = iMA("AUDCAD",PERIOD_M30,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_30_MA = iMA("AUDCAD",PERIOD_M30,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_40_MA = iMA("AUDCAD",PERIOD_M30,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_50_MA = iMA("AUDCAD",PERIOD_M30,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_60_MA = iMA("AUDCAD",PERIOD_M30,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_70_MA = iMA("AUDCAD",PERIOD_M30,70,0,MODE_SMA,PRICE_CLOSE,1);

         AUDCAD_H1_10_MA = iMA("AUDCAD",PERIOD_H1,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_20_MA = iMA("AUDCAD",PERIOD_H1,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_30_MA = iMA("AUDCAD",PERIOD_H1,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_40_MA = iMA("AUDCAD",PERIOD_H1,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_50_MA = iMA("AUDCAD",PERIOD_H1,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_60_MA = iMA("AUDCAD",PERIOD_H1,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_70_MA = iMA("AUDCAD",PERIOD_H1,70,0,MODE_SMA,PRICE_CLOSE,1);

         AUDCAD_H4_10_MA = iMA("AUDCAD",PERIOD_H4,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_20_MA = iMA("AUDCAD",PERIOD_H4,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_30_MA = iMA("AUDCAD",PERIOD_H4,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_40_MA = iMA("AUDCAD",PERIOD_H4,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_50_MA = iMA("AUDCAD",PERIOD_H4,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_60_MA = iMA("AUDCAD",PERIOD_H4,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_70_MA = iMA("AUDCAD",PERIOD_H4,70,0,MODE_SMA,PRICE_CLOSE,1);

         AUDCAD_D1_10_MA = iMA("AUDCAD",PERIOD_D1,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_20_MA = iMA("AUDCAD",PERIOD_D1,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_30_MA = iMA("AUDCAD",PERIOD_D1,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_40_MA = iMA("AUDCAD",PERIOD_D1,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_50_MA = iMA("AUDCAD",PERIOD_D1,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_60_MA = iMA("AUDCAD",PERIOD_D1,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_70_MA = iMA("AUDCAD",PERIOD_D1,70,0,MODE_SMA,PRICE_CLOSE,1);

         AUDCAD_W1_10_MA = iMA("AUDCAD",PERIOD_W1,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_W1_20_MA = iMA("AUDCAD",PERIOD_W1,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_W1_30_MA = iMA("AUDCAD",PERIOD_W1,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_W1_40_MA = iMA("AUDCAD",PERIOD_W1,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_W1_50_MA = iMA("AUDCAD",PERIOD_W1,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_W1_60_MA = iMA("AUDCAD",PERIOD_W1,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_W1_70_MA = iMA("AUDCAD",PERIOD_W1,70,0,MODE_SMA,PRICE_CLOSE,1);

         
         AUDCAD_M15_ATR= iATR("AUDCAD",PERIOD_M15,96, 1);   
         AUDCAD_M30_ATR= iATR("AUDCAD",PERIOD_M30,96, 1);   
         AUDCAD_H1_ATR= iATR("AUDCAD",PERIOD_H1,96, 1);   
         AUDCAD_H4_ATR= iATR("AUDCAD",PERIOD_H4,84, 1);   
         AUDCAD_D1_ATR= iATR("AUDCAD",PERIOD_D1,14, 1);   
         
         
         
//===========================================================    


//===========================================================    
   handle=FileOpen("BID ASK MA ATR B.csv", FILE_CSV|FILE_WRITE, ',');
   if(handle>0)
    {
     FileWrite(handle, 
      DoubleToStr(AUDCAD_Bid, 5), DoubleToStr(AUDCAD_Ask, 5), 
      DoubleToStr(AUDCAD_M1_10_MA,5), DoubleToStr(AUDCAD_M1_20_MA,5), DoubleToStr(AUDCAD_M1_30_MA,5), DoubleToStr(AUDCAD_M1_40_MA,5), DoubleToStr(AUDCAD_M1_50_MA,5), DoubleToStr(AUDCAD_M1_60_MA,5), DoubleToStr(AUDCAD_M1_70_MA,5), 
      DoubleToStr(AUDCAD_M5_10_MA,5), DoubleToStr(AUDCAD_M5_20_MA,5), DoubleToStr(AUDCAD_M5_30_MA,5), DoubleToStr(AUDCAD_M5_40_MA,5), DoubleToStr(AUDCAD_M5_50_MA,5), DoubleToStr(AUDCAD_M5_60_MA,5), DoubleToStr(AUDCAD_M5_70_MA,5), 
      DoubleToStr(AUDCAD_M15_10_MA,5), DoubleToStr(AUDCAD_M15_20_MA,5), DoubleToStr(AUDCAD_M15_30_MA,5), DoubleToStr(AUDCAD_M15_40_MA,5), DoubleToStr(AUDCAD_M15_50_MA,5), DoubleToStr(AUDCAD_M15_60_MA,5), DoubleToStr(AUDCAD_M15_70_MA,5), 
      DoubleToStr(AUDCAD_M30_10_MA,5), DoubleToStr(AUDCAD_M30_20_MA,5), DoubleToStr(AUDCAD_M30_30_MA,5), DoubleToStr(AUDCAD_M30_40_MA,5), DoubleToStr(AUDCAD_M30_50_MA,5), DoubleToStr(AUDCAD_M30_60_MA,5), DoubleToStr(AUDCAD_M30_70_MA,5), 
      DoubleToStr(AUDCAD_H1_10_MA,5), DoubleToStr(AUDCAD_H1_20_MA,5), DoubleToStr(AUDCAD_H1_30_MA,5), DoubleToStr(AUDCAD_H1_40_MA,5), DoubleToStr(AUDCAD_H1_50_MA,5), DoubleToStr(AUDCAD_H1_60_MA,5), DoubleToStr(AUDCAD_H1_70_MA,5), 
      DoubleToStr(AUDCAD_H4_10_MA,5), DoubleToStr(AUDCAD_H4_20_MA,5), DoubleToStr(AUDCAD_H4_30_MA,5), DoubleToStr(AUDCAD_H4_40_MA,5), DoubleToStr(AUDCAD_H4_50_MA,5), DoubleToStr(AUDCAD_H4_60_MA,5), DoubleToStr(AUDCAD_H4_70_MA,5), 
      DoubleToStr(AUDCAD_D1_10_MA,5), DoubleToStr(AUDCAD_D1_20_MA,5), DoubleToStr(AUDCAD_D1_30_MA,5), DoubleToStr(AUDCAD_D1_40_MA,5), DoubleToStr(AUDCAD_D1_50_MA,5), DoubleToStr(AUDCAD_D1_60_MA,5), DoubleToStr(AUDCAD_D1_70_MA,5), 
      DoubleToStr(AUDCAD_W1_10_MA,5), DoubleToStr(AUDCAD_W1_20_MA,5), DoubleToStr(AUDCAD_W1_30_MA,5), DoubleToStr(AUDCAD_W1_40_MA,5), DoubleToStr(AUDCAD_W1_50_MA,5), DoubleToStr(AUDCAD_W1_60_MA,5), DoubleToStr(AUDCAD_W1_70_MA,5), 
         
      DoubleToStr(AUDCAD_M15_ATR, 5), DoubleToStr(AUDCAD_M30_ATR, 5), DoubleToStr(AUDCAD_H1_ATR, 5), DoubleToStr(AUDCAD_H4_ATR, 5), DoubleToStr(AUDCAD_D1_ATR, 5) 

     );
     FileClose(handle);
     Comment(" SENTT ");
    }

    return(0);
  }





But as soon as i add one more MA, it stops working:

//+------------------------------------------------------------------+

int start()
  {
 static int  flag;
 int handle;
  
   
  double AUDCAD_Bid, AUDCAD_Ask, 
         AUDCAD_M1_10_MA, AUDCAD_M1_20_MA, AUDCAD_M1_30_MA, AUDCAD_M1_40_MA, AUDCAD_M1_50_MA, AUDCAD_M1_60_MA, AUDCAD_M1_70_MA, AUDCAD_M1_80_MA, 
         AUDCAD_M5_10_MA, AUDCAD_M5_20_MA, AUDCAD_M5_30_MA, AUDCAD_M5_40_MA, AUDCAD_M5_50_MA, AUDCAD_M5_60_MA, AUDCAD_M5_70_MA, AUDCAD_M5_80_MA, 
         AUDCAD_M15_10_MA, AUDCAD_M15_20_MA, AUDCAD_M15_30_MA, AUDCAD_M15_40_MA, AUDCAD_M15_50_MA, AUDCAD_M15_60_MA, AUDCAD_M15_70_MA, AUDCAD_M15_80_MA, 
         AUDCAD_M30_10_MA, AUDCAD_M30_20_MA, AUDCAD_M30_30_MA, AUDCAD_M30_40_MA, AUDCAD_M30_50_MA, AUDCAD_M30_60_MA, AUDCAD_M30_70_MA, AUDCAD_M30_80_MA, 
         AUDCAD_H1_10_MA, AUDCAD_H1_20_MA, AUDCAD_H1_30_MA, AUDCAD_H1_40_MA, AUDCAD_H1_50_MA, AUDCAD_H1_60_MA, AUDCAD_H1_70_MA, AUDCAD_H1_80_MA, 
         AUDCAD_H4_10_MA, AUDCAD_H4_20_MA, AUDCAD_H4_30_MA, AUDCAD_H4_40_MA, AUDCAD_H4_50_MA, AUDCAD_H4_60_MA, AUDCAD_H4_70_MA, AUDCAD_H4_80_MA, 
         AUDCAD_D1_10_MA, AUDCAD_D1_20_MA, AUDCAD_D1_30_MA, AUDCAD_D1_40_MA, AUDCAD_D1_50_MA, AUDCAD_D1_60_MA, AUDCAD_D1_70_MA, AUDCAD_D1_80_MA, 
         AUDCAD_W1_10_MA, AUDCAD_W1_20_MA, AUDCAD_W1_30_MA, AUDCAD_W1_40_MA, AUDCAD_W1_50_MA, AUDCAD_W1_60_MA, AUDCAD_W1_70_MA, AUDCAD_W1_80_MA, 
         
         AUDCAD_M15_ATR, AUDCAD_M30_ATR, AUDCAD_H1_ATR, AUDCAD_H4_ATR, AUDCAD_D1_ATR;
  
    
  
         AUDCAD_Bid = MarketInfo("AUDCAD",MODE_BID);
         AUDCAD_Ask = MarketInfo("AUDCAD",MODE_ASK);
         AUDCAD_M1_10_MA = iMA("AUDCAD",PERIOD_M1,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_20_MA = iMA("AUDCAD",PERIOD_M1,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_30_MA = iMA("AUDCAD",PERIOD_M1,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_40_MA = iMA("AUDCAD",PERIOD_M1,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_50_MA = iMA("AUDCAD",PERIOD_M1,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_60_MA = iMA("AUDCAD",PERIOD_M1,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_70_MA = iMA("AUDCAD",PERIOD_M1,70,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_80_MA = iMA("AUDCAD",PERIOD_M1,80,0,MODE_SMA,PRICE_CLOSE,1);

         AUDCAD_M5_10_MA = iMA("AUDCAD",PERIOD_M5,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_20_MA = iMA("AUDCAD",PERIOD_M5,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_30_MA = iMA("AUDCAD",PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_40_MA = iMA("AUDCAD",PERIOD_M5,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_50_MA = iMA("AUDCAD",PERIOD_M5,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_60_MA = iMA("AUDCAD",PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_70_MA = iMA("AUDCAD",PERIOD_M5,70,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_80_MA = iMA("AUDCAD",PERIOD_M5,80,0,MODE_SMA,PRICE_CLOSE,1);

         AUDCAD_M15_10_MA = iMA("AUDCAD",PERIOD_M15,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_20_MA = iMA("AUDCAD",PERIOD_M15,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_30_MA = iMA("AUDCAD",PERIOD_M15,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_40_MA = iMA("AUDCAD",PERIOD_M15,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_50_MA = iMA("AUDCAD",PERIOD_M15,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_60_MA = iMA("AUDCAD",PERIOD_M15,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_70_MA = iMA("AUDCAD",PERIOD_M15,70,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_80_MA = iMA("AUDCAD",PERIOD_M15,80,0,MODE_SMA,PRICE_CLOSE,1);

         AUDCAD_M30_10_MA = iMA("AUDCAD",PERIOD_M30,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_20_MA = iMA("AUDCAD",PERIOD_M30,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_30_MA = iMA("AUDCAD",PERIOD_M30,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_40_MA = iMA("AUDCAD",PERIOD_M30,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_50_MA = iMA("AUDCAD",PERIOD_M30,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_60_MA = iMA("AUDCAD",PERIOD_M30,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_70_MA = iMA("AUDCAD",PERIOD_M30,70,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_80_MA = iMA("AUDCAD",PERIOD_M30,80,0,MODE_SMA,PRICE_CLOSE,1);

         AUDCAD_H1_10_MA = iMA("AUDCAD",PERIOD_H1,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_20_MA = iMA("AUDCAD",PERIOD_H1,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_30_MA = iMA("AUDCAD",PERIOD_H1,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_40_MA = iMA("AUDCAD",PERIOD_H1,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_50_MA = iMA("AUDCAD",PERIOD_H1,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_60_MA = iMA("AUDCAD",PERIOD_H1,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_70_MA = iMA("AUDCAD",PERIOD_H1,70,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_80_MA = iMA("AUDCAD",PERIOD_H1,80,0,MODE_SMA,PRICE_CLOSE,1);

         AUDCAD_H4_10_MA = iMA("AUDCAD",PERIOD_H4,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_20_MA = iMA("AUDCAD",PERIOD_H4,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_30_MA = iMA("AUDCAD",PERIOD_H4,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_40_MA = iMA("AUDCAD",PERIOD_H4,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_50_MA = iMA("AUDCAD",PERIOD_H4,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_60_MA = iMA("AUDCAD",PERIOD_H4,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_70_MA = iMA("AUDCAD",PERIOD_H4,70,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_80_MA = iMA("AUDCAD",PERIOD_H4,80,0,MODE_SMA,PRICE_CLOSE,1);

         AUDCAD_D1_10_MA = iMA("AUDCAD",PERIOD_D1,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_20_MA = iMA("AUDCAD",PERIOD_D1,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_30_MA = iMA("AUDCAD",PERIOD_D1,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_40_MA = iMA("AUDCAD",PERIOD_D1,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_50_MA = iMA("AUDCAD",PERIOD_D1,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_60_MA = iMA("AUDCAD",PERIOD_D1,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_70_MA = iMA("AUDCAD",PERIOD_D1,70,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_80_MA = iMA("AUDCAD",PERIOD_D1,80,0,MODE_SMA,PRICE_CLOSE,1);

         AUDCAD_W1_10_MA = iMA("AUDCAD",PERIOD_W1,10,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_W1_20_MA = iMA("AUDCAD",PERIOD_W1,20,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_W1_30_MA = iMA("AUDCAD",PERIOD_W1,30,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_W1_40_MA = iMA("AUDCAD",PERIOD_W1,40,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_W1_50_MA = iMA("AUDCAD",PERIOD_W1,50,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_W1_60_MA = iMA("AUDCAD",PERIOD_W1,60,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_W1_70_MA = iMA("AUDCAD",PERIOD_W1,70,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_W1_80_MA = iMA("AUDCAD",PERIOD_W1,80,0,MODE_SMA,PRICE_CLOSE,1);
          
         
         AUDCAD_M15_ATR= iATR("AUDCAD",PERIOD_M15,96, 1);   
         AUDCAD_M30_ATR= iATR("AUDCAD",PERIOD_M30,96, 1);   
         AUDCAD_H1_ATR= iATR("AUDCAD",PERIOD_H1,96, 1);   
         AUDCAD_H4_ATR= iATR("AUDCAD",PERIOD_H4,84, 1);   
         AUDCAD_D1_ATR= iATR("AUDCAD",PERIOD_D1,14, 1);   
         
         
         
//===========================================================    


//===========================================================    
   handle=FileOpen("BID ASK MA ATR B.csv", FILE_CSV|FILE_WRITE, ',');
   if(handle>0)
    {
     FileWrite(handle, 
      DoubleToStr(AUDCAD_Bid, 5), DoubleToStr(AUDCAD_Ask, 5), 
      DoubleToStr(AUDCAD_M1_10_MA,5), DoubleToStr(AUDCAD_M1_20_MA,5), DoubleToStr(AUDCAD_M1_30_MA,5), DoubleToStr(AUDCAD_M1_40_MA,5), DoubleToStr(AUDCAD_M1_50_MA,5), DoubleToStr(AUDCAD_M1_60_MA,5), DoubleToStr(AUDCAD_M1_70_MA,5), DoubleToStr(AUDCAD_M1_80_MA,5), 
      DoubleToStr(AUDCAD_M5_10_MA,5), DoubleToStr(AUDCAD_M5_20_MA,5), DoubleToStr(AUDCAD_M5_30_MA,5), DoubleToStr(AUDCAD_M5_40_MA,5), DoubleToStr(AUDCAD_M5_50_MA,5), DoubleToStr(AUDCAD_M5_60_MA,5), DoubleToStr(AUDCAD_M5_70_MA,5), DoubleToStr(AUDCAD_M5_80_MA,5), 
      DoubleToStr(AUDCAD_M15_10_MA,5), DoubleToStr(AUDCAD_M15_20_MA,5), DoubleToStr(AUDCAD_M15_30_MA,5), DoubleToStr(AUDCAD_M15_40_MA,5), DoubleToStr(AUDCAD_M15_50_MA,5), DoubleToStr(AUDCAD_M15_60_MA,5), DoubleToStr(AUDCAD_M15_70_MA,5), DoubleToStr(AUDCAD_M15_80_MA,5), 
      DoubleToStr(AUDCAD_M30_10_MA,5), DoubleToStr(AUDCAD_M30_20_MA,5), DoubleToStr(AUDCAD_M30_30_MA,5), DoubleToStr(AUDCAD_M30_40_MA,5), DoubleToStr(AUDCAD_M30_50_MA,5), DoubleToStr(AUDCAD_M30_60_MA,5), DoubleToStr(AUDCAD_M30_70_MA,5), DoubleToStr(AUDCAD_M30_80_MA,5), 
      DoubleToStr(AUDCAD_H1_10_MA,5), DoubleToStr(AUDCAD_H1_20_MA,5), DoubleToStr(AUDCAD_H1_30_MA,5), DoubleToStr(AUDCAD_H1_40_MA,5), DoubleToStr(AUDCAD_H1_50_MA,5), DoubleToStr(AUDCAD_H1_60_MA,5), DoubleToStr(AUDCAD_H1_70_MA,5), DoubleToStr(AUDCAD_H1_80_MA,5), 
      DoubleToStr(AUDCAD_H4_10_MA,5), DoubleToStr(AUDCAD_H4_20_MA,5), DoubleToStr(AUDCAD_H4_30_MA,5), DoubleToStr(AUDCAD_H4_40_MA,5), DoubleToStr(AUDCAD_H4_50_MA,5), DoubleToStr(AUDCAD_H4_60_MA,5), DoubleToStr(AUDCAD_H4_70_MA,5), DoubleToStr(AUDCAD_H4_80_MA,5), 
      DoubleToStr(AUDCAD_D1_10_MA,5), DoubleToStr(AUDCAD_D1_20_MA,5), DoubleToStr(AUDCAD_D1_30_MA,5), DoubleToStr(AUDCAD_D1_40_MA,5), DoubleToStr(AUDCAD_D1_50_MA,5), DoubleToStr(AUDCAD_D1_60_MA,5), DoubleToStr(AUDCAD_D1_70_MA,5), DoubleToStr(AUDCAD_D1_80_MA,5), 
      DoubleToStr(AUDCAD_W1_10_MA,5), DoubleToStr(AUDCAD_W1_20_MA,5), DoubleToStr(AUDCAD_W1_30_MA,5), DoubleToStr(AUDCAD_W1_40_MA,5), DoubleToStr(AUDCAD_W1_50_MA,5), DoubleToStr(AUDCAD_W1_60_MA,5), DoubleToStr(AUDCAD_W1_70_MA,5), DoubleToStr(AUDCAD_W1_80_MA,5), 
         
      DoubleToStr(AUDCAD_M15_ATR, 5), DoubleToStr(AUDCAD_M30_ATR, 5), DoubleToStr(AUDCAD_H1_ATR, 5), DoubleToStr(AUDCAD_H4_ATR, 5), DoubleToStr(AUDCAD_D1_ATR, 5) 

     );
     FileClose(handle);
     Comment(" SENTT ");
    }

    return(0);
  }



I can't see any difference in the code. Is there any limitation of data that can be exported? The working one exports 1764 datas (28 pairs), the non working one would export 1988 datas.

also, the indicator symbol is right away grey marked when refreshing it:



Hope someone can help, recreated the code for hours but nothing changes.

Thank you very much!

 
bosslife:

hi

i have this indicator that works, exporting multiple MA of timeframes:





But as soon as i add one more MA, it stops working:



I can't see any difference in the code. Is there any limitation of data that can be exported? The working one exports 1764 datas (28 pairs), the non working one would export 1988 datas.

also, the indicator symbol is right away grey marked when refreshing it:



Hope someone can help, recreated the code for hours but nothing changes.

Thank you very much!

1. Please don't use bold or greater font without a good reason.

2. "Stops working" or "non working" is of no use to help you. Please explain exactly what is the problem.

3. 28 pairs, that means in your real code you have 28 times such code (copy/paste then edited I suppose) ? That's a very bad idea and lead to error prone code. You should use loop and arrays.

const string symbols[]      = {"EURUSD","GBPUSD","AUDCAD" };  // I put only 3 up to you to complete
const ENUM_TIMEFRAMES tfs[] = {PERIOD_M1, PERIOD_M5};         // to complete...

struct SSymbolData
   {
   double bid;
   double ask;
   double maValues[][8];
   };
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
   {
   int symbolsCount=ArraySize(symbols);
   SSymbolData data[];
   ArrayResize(data,symbolsCount);
   int tfsCount=ArraySize(tfs);

//---
   for(int s=0; s<symbolsCount; s++)
      {
      ArrayResize(data[s].maValues,tfsCount);
      data[s].bid = MarketInfo(symbols[s],MODE_BID);
      data[s].ask = MarketInfo(symbols[s],MODE_ASK);

      for(int t=0; t<ArraySize(tfs); t++)
         {
         for(int i=0; i<8; i++)
            {
            int period=(i+1)*10;
            data[s].maValues[t][i]= iMA(symbols[s],tfs[t],period,0,MODE_SMA,PRICE_CLOSE,1);
            }
         }
      }
    //--- save to file ...    
   }
Compiled but not tested. I also used struct but it's not mandatory to have better code.
 
Alain Verleyen:

1. Please don't use bold or greater font without a good reason.

2. "Stops working" or "non working" is of no use to help you. Please explain exactly what is the problem.

3. 28 pairs, that means in your real code you have 28 times such code (copy/paste then edited I suppose) ? That's a very bad idea and lead to error prone code. You should use loop and arrays.

Compiled but not tested. I also used struct but it's not mandatory to have better code.

thanks a lot!

when i double click the indicator and try to run/open, no reaction. with 7 MA periods it works, as soon as i add 8th period it doesnt work, even after deleting all pairs except 1. so the first code i posted works, second not, only difference between them is 1 additional period.

the code gets created in an excel file so i can change the MA periods quick and easy. 28 pairs with 7 periods works, but with 8th period attached the indicator doesnt run anymore, so if use this loop it still would not work.

 
bosslife:

thanks a lot!

when i double click the indicator and try to run/open, no reaction. with 7 MA periods it works, as soon as i add 8th period it doesnt work, even after deleting all pairs except 1. so the first code i posted works, second not, only difference between them is 1 additional period.

the code gets created in an excel file so i can change the MA periods quick and easy. 28 pairs with 7 periods works, but with 8th period attached the indicator doesnt run anymore, so if use this loop it still would not work.

The second code you posted doesn't even compiled, how could you test it ?

'FileWrite' - wrong parameters count   ...

 
Wow long code 

for(int a=0; a<SymbolsTotal ();a++)
for(int b=0; b<8;b++)
for(int c = 0; c<ArraySize(Period);c++)
{
Symbols[a].timeframe[b].period[c].ma= iMA(symbol[a],TF[b],Period[c],method,apply to,Shift); }