MA MACD export, adding ATR

 

hello

i have this script for exporting MA and MACD data, but after adding ATR (H4, 24) in the last row it doesn't work anymore. would be amazing if someone sees what i did wrong.

thank you very very much!


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


int start()
  {
 static int  flag;
 int handle;
  
   
  double AUDCAD_M1_200_MA, AUDCAD_M1_300_MA, AUDCAD_M1_400_MA, 
         AUDCAD_M5_200_MA, AUDCAD_M5_300_MA, AUDCAD_M5_400_MA, 
         AUDCAD_M15_200_MA, AUDCAD_M15_300_MA, AUDCAD_M15_400_MA, 
         AUDCAD_M30_200_MA, AUDCAD_M30_300_MA, AUDCAD_M30_400_MA,
         AUDCAD_H1_200_MA, AUDCAD_H1_300_MA, AUDCAD_H1_400_MA,
         AUDCAD_H4_200_MA, AUDCAD_H4_300_MA, AUDCAD_H4_400_MA,
         AUDCAD_D1_200_MA, AUDCAD_D1_300_MA, AUDCAD_D1_400_MA,
         
         AUDCAD_M1_MACD_1, AUDCAD_M1_MACD_2, AUDCAD_M1_MACD_3, AUDCAD_M1_MACD_4, 
         AUDCAD_M5_MACD_1, AUDCAD_M5_MACD_2, AUDCAD_M5_MACD_3, AUDCAD_M5_MACD_4, 
         AUDCAD_M15_MACD_1, AUDCAD_M15_MACD_2, AUDCAD_M15_MACD_3, AUDCAD_M15_MACD_4, 
         AUDCAD_M30_MACD_1, AUDCAD_M30_MACD_2, AUDCAD_M30_MACD_3, AUDCAD_M30_MACD_4;
        
         AUDCAD_H4_24_ATR, 


  
         AUDCAD_M1_200_MA = iMA("AUDCAD",PERIOD_M1,200,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_300_MA = iMA("AUDCAD",PERIOD_M1,300,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_400_MA = iMA("AUDCAD",PERIOD_M1,400,0,MODE_SMA,PRICE_CLOSE,1);         
         AUDCAD_M5_200_MA = iMA("AUDCAD",PERIOD_M5,200,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_300_MA = iMA("AUDCAD",PERIOD_M5,300,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_400_MA = iMA("AUDCAD",PERIOD_M5,400,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_200_MA = iMA("AUDCAD",PERIOD_M15,200,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_300_MA = iMA("AUDCAD",PERIOD_M15,300,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_400_MA = iMA("AUDCAD",PERIOD_M15,400,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_200_MA = iMA("AUDCAD",PERIOD_M30,200,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_300_MA = iMA("AUDCAD",PERIOD_M30,300,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_400_MA = iMA("AUDCAD",PERIOD_M30,400,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_200_MA = iMA("AUDCAD",PERIOD_H1,200,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_300_MA = iMA("AUDCAD",PERIOD_H1,300,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_400_MA = iMA("AUDCAD",PERIOD_H1,400,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_200_MA = iMA("AUDCAD",PERIOD_H4,200,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_300_MA = iMA("AUDCAD",PERIOD_H4,300,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_400_MA = iMA("AUDCAD",PERIOD_H4,400,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_200_MA = iMA("AUDCAD",PERIOD_D1,200,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_300_MA = iMA("AUDCAD",PERIOD_D1,300,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_400_MA = iMA("AUDCAD",PERIOD_D1,400,0,MODE_SMA,PRICE_CLOSE,1);
          
         AUDCAD_M1_MACD_1= iMACD("AUDCAD",PERIOD_M1,12,26,9,PRICE_CLOSE,0,1); 
         AUDCAD_M1_MACD_2= iMACD("AUDCAD",PERIOD_M1,12,26,9,PRICE_CLOSE,0,2); 
         AUDCAD_M1_MACD_3= iMACD("AUDCAD",PERIOD_M1,12,26,9,PRICE_CLOSE,0,3); 
         AUDCAD_M1_MACD_4= iMACD("AUDCAD",PERIOD_M1,12,26,9,PRICE_CLOSE,0,4);                            
         AUDCAD_M5_MACD_1= iMACD("AUDCAD",PERIOD_M5,12,26,9,PRICE_CLOSE,0,1); 
         AUDCAD_M5_MACD_2= iMACD("AUDCAD",PERIOD_M5,12,26,9,PRICE_CLOSE,0,2); 
         AUDCAD_M5_MACD_3= iMACD("AUDCAD",PERIOD_M5,12,26,9,PRICE_CLOSE,0,3); 
         AUDCAD_M5_MACD_4= iMACD("AUDCAD",PERIOD_M5,12,26,9,PRICE_CLOSE,0,4);
         AUDCAD_M15_MACD_1= iMACD("AUDCAD",PERIOD_M15,12,26,9,PRICE_CLOSE,0,1); 
         AUDCAD_M15_MACD_2= iMACD("AUDCAD",PERIOD_M15,12,26,9,PRICE_CLOSE,0,2); 
         AUDCAD_M15_MACD_3= iMACD("AUDCAD",PERIOD_M15,12,26,9,PRICE_CLOSE,0,3); 
         AUDCAD_M15_MACD_4= iMACD("AUDCAD",PERIOD_M15,12,26,9,PRICE_CLOSE,0,4);          
         AUDCAD_M30_MACD_1= iMACD("AUDCAD",PERIOD_M30,12,26,9,PRICE_CLOSE,0,1); 
         AUDCAD_M30_MACD_2= iMACD("AUDCAD",PERIOD_M30,12,26,9,PRICE_CLOSE,0,2); 
         AUDCAD_M30_MACD_3= iMACD("AUDCAD",PERIOD_M30,12,26,9,PRICE_CLOSE,0,3); 
         AUDCAD_M30_MACD_4= iMACD("AUDCAD",PERIOD_M30,12,26,9,PRICE_CLOSE,0,4);      

         AUDCAD_H4_ATR= iATR("AUDCAD",PERIOD_H4,24);      

              
//======================================================================    
//===========================================================                           
   handle=FileOpen("INDIES.csv", FILE_CSV|FILE_WRITE, ',');
   if(handle>0)
    {
     FileWrite(handle, 
      DoubleToStr(AUDCAD_M1_200_MA,5), DoubleToStr(AUDCAD_M1_300_MA,5), DoubleToStr(AUDCAD_M1_400_MA,5), 
      DoubleToStr(AUDCAD_M5_200_MA,5), DoubleToStr(AUDCAD_M5_300_MA,5), DoubleToStr(AUDCAD_M5_400_MA,5), 
      DoubleToStr(AUDCAD_M15_200_MA,5), DoubleToStr(AUDCAD_M15_300_MA,5), DoubleToStr(AUDCAD_M15_400_MA,5), 
      DoubleToStr(AUDCAD_M30_200_MA,5), DoubleToStr(AUDCAD_M30_300_MA,5), DoubleToStr(AUDCAD_M30_400_MA,5),
      DoubleToStr(AUDCAD_H1_200_MA,5), DoubleToStr(AUDCAD_H1_300_MA,5), DoubleToStr(AUDCAD_H1_400_MA,5),
      DoubleToStr(AUDCAD_H4_200_MA,5), DoubleToStr(AUDCAD_H4_300_MA,5), DoubleToStr(AUDCAD_H4_400_MA,5),
      DoubleToStr(AUDCAD_D1_200_MA,5), DoubleToStr(AUDCAD_D1_300_MA,5), DoubleToStr(AUDCAD_D1_400_MA,5),
         
      DoubleToStr(AUDCAD_M1_MACD_1,4), DoubleToStr(AUDCAD_M1_MACD_2,4), DoubleToStr(AUDCAD_M1_MACD_3,4), DoubleToStr(AUDCAD_M1_MACD_4,4), 
      DoubleToStr(AUDCAD_M5_MACD_1,4), DoubleToStr(AUDCAD_M5_MACD_2,4), DoubleToStr(AUDCAD_M5_MACD_3,4), DoubleToStr(AUDCAD_M5_MACD_4,4), 
      DoubleToStr(AUDCAD_M15_MACD_1,4), DoubleToStr(AUDCAD_M15_MACD_2,4), DoubleToStr(AUDCAD_M15_MACD_3,4), DoubleToStr(AUDCAD_M15_MACD_4,4), 
      DoubleToStr(AUDCAD_M30_MACD_1,4), DoubleToStr(AUDCAD_M30_MACD_2,4), DoubleToStr(AUDCAD_M30_MACD_3,4), DoubleToStr(AUDCAD_M30_MACD_4,4)

      DoubleToStr(AUDCAD_M30_ATR), 

     );




     FileClose(handle);
     Comment(" MA_MACD SENT ");
    }

    return(0);
  }

 
void OnStart()
  {
//---
 int handle;
  
   
  double AUDCAD_M1_200_MA, AUDCAD_M1_300_MA, AUDCAD_M1_400_MA, 
         AUDCAD_M5_200_MA, AUDCAD_M5_300_MA, AUDCAD_M5_400_MA, 
         AUDCAD_M15_200_MA, AUDCAD_M15_300_MA, AUDCAD_M15_400_MA, 
         AUDCAD_M30_200_MA, AUDCAD_M30_300_MA, AUDCAD_M30_400_MA,
         AUDCAD_H1_200_MA, AUDCAD_H1_300_MA, AUDCAD_H1_400_MA,
         AUDCAD_H4_200_MA, AUDCAD_H4_300_MA, AUDCAD_H4_400_MA,
         AUDCAD_D1_200_MA, AUDCAD_D1_300_MA, AUDCAD_D1_400_MA,
         
         AUDCAD_M1_MACD_1, AUDCAD_M1_MACD_2, AUDCAD_M1_MACD_3, AUDCAD_M1_MACD_4, 
         AUDCAD_M5_MACD_1, AUDCAD_M5_MACD_2, AUDCAD_M5_MACD_3, AUDCAD_M5_MACD_4, 
         AUDCAD_M15_MACD_1, AUDCAD_M15_MACD_2, AUDCAD_M15_MACD_3, AUDCAD_M15_MACD_4, 
         AUDCAD_M30_MACD_1, AUDCAD_M30_MACD_2, AUDCAD_M30_MACD_3, AUDCAD_M30_MACD_4,
        
          AUDCAD_H4_ATR;


  
         AUDCAD_M1_200_MA = iMA("AUDCAD",PERIOD_M1,200,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_300_MA = iMA("AUDCAD",PERIOD_M1,300,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M1_400_MA = iMA("AUDCAD",PERIOD_M1,400,0,MODE_SMA,PRICE_CLOSE,1);         
         AUDCAD_M5_200_MA = iMA("AUDCAD",PERIOD_M5,200,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_300_MA = iMA("AUDCAD",PERIOD_M5,300,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M5_400_MA = iMA("AUDCAD",PERIOD_M5,400,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_200_MA = iMA("AUDCAD",PERIOD_M15,200,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_300_MA = iMA("AUDCAD",PERIOD_M15,300,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M15_400_MA = iMA("AUDCAD",PERIOD_M15,400,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_200_MA = iMA("AUDCAD",PERIOD_M30,200,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_300_MA = iMA("AUDCAD",PERIOD_M30,300,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_M30_400_MA = iMA("AUDCAD",PERIOD_M30,400,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_200_MA = iMA("AUDCAD",PERIOD_H1,200,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_300_MA = iMA("AUDCAD",PERIOD_H1,300,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H1_400_MA = iMA("AUDCAD",PERIOD_H1,400,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_200_MA = iMA("AUDCAD",PERIOD_H4,200,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_300_MA = iMA("AUDCAD",PERIOD_H4,300,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_H4_400_MA = iMA("AUDCAD",PERIOD_H4,400,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_200_MA = iMA("AUDCAD",PERIOD_D1,200,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_300_MA = iMA("AUDCAD",PERIOD_D1,300,0,MODE_SMA,PRICE_CLOSE,1);
         AUDCAD_D1_400_MA = iMA("AUDCAD",PERIOD_D1,400,0,MODE_SMA,PRICE_CLOSE,1);
          
         AUDCAD_M1_MACD_1= iMACD("AUDCAD",PERIOD_M1,12,26,9,PRICE_CLOSE,0,1); 
         AUDCAD_M1_MACD_2= iMACD("AUDCAD",PERIOD_M1,12,26,9,PRICE_CLOSE,0,2); 
         AUDCAD_M1_MACD_3= iMACD("AUDCAD",PERIOD_M1,12,26,9,PRICE_CLOSE,0,3); 
         AUDCAD_M1_MACD_4= iMACD("AUDCAD",PERIOD_M1,12,26,9,PRICE_CLOSE,0,4);                            
         AUDCAD_M5_MACD_1= iMACD("AUDCAD",PERIOD_M5,12,26,9,PRICE_CLOSE,0,1); 
         AUDCAD_M5_MACD_2= iMACD("AUDCAD",PERIOD_M5,12,26,9,PRICE_CLOSE,0,2); 
         AUDCAD_M5_MACD_3= iMACD("AUDCAD",PERIOD_M5,12,26,9,PRICE_CLOSE,0,3); 
         AUDCAD_M5_MACD_4= iMACD("AUDCAD",PERIOD_M5,12,26,9,PRICE_CLOSE,0,4);
         AUDCAD_M15_MACD_1= iMACD("AUDCAD",PERIOD_M15,12,26,9,PRICE_CLOSE,0,1); 
         AUDCAD_M15_MACD_2= iMACD("AUDCAD",PERIOD_M15,12,26,9,PRICE_CLOSE,0,2); 
         AUDCAD_M15_MACD_3= iMACD("AUDCAD",PERIOD_M15,12,26,9,PRICE_CLOSE,0,3); 
         AUDCAD_M15_MACD_4= iMACD("AUDCAD",PERIOD_M15,12,26,9,PRICE_CLOSE,0,4);          
         AUDCAD_M30_MACD_1= iMACD("AUDCAD",PERIOD_M30,12,26,9,PRICE_CLOSE,0,1); 
         AUDCAD_M30_MACD_2= iMACD("AUDCAD",PERIOD_M30,12,26,9,PRICE_CLOSE,0,2); 
         AUDCAD_M30_MACD_3= iMACD("AUDCAD",PERIOD_M30,12,26,9,PRICE_CLOSE,0,3); 
         AUDCAD_M30_MACD_4= iMACD("AUDCAD",PERIOD_M30,12,26,9,PRICE_CLOSE,0,4);      

         AUDCAD_H4_ATR= iATR("AUDCAD",PERIOD_H4,24, 1);      

              
//======================================================================    
//===========================================================                           
   handle=FileOpen("INDIES.csv", FILE_CSV|FILE_WRITE, ',');
   if(handle != INVALID_HANDLE)
    {
     FileWrite(handle, 
      DoubleToStr(AUDCAD_M1_200_MA,5), DoubleToStr(AUDCAD_M1_300_MA,5), DoubleToStr(AUDCAD_M1_400_MA,5), 
      DoubleToStr(AUDCAD_M5_200_MA,5), DoubleToStr(AUDCAD_M5_300_MA,5), DoubleToStr(AUDCAD_M5_400_MA,5), 
      DoubleToStr(AUDCAD_M15_200_MA,5), DoubleToStr(AUDCAD_M15_300_MA,5), DoubleToStr(AUDCAD_M15_400_MA,5), 
      DoubleToStr(AUDCAD_M30_200_MA,5), DoubleToStr(AUDCAD_M30_300_MA,5), DoubleToStr(AUDCAD_M30_400_MA,5),
      DoubleToStr(AUDCAD_H1_200_MA,5), DoubleToStr(AUDCAD_H1_300_MA,5), DoubleToStr(AUDCAD_H1_400_MA,5),
      DoubleToStr(AUDCAD_H4_200_MA,5), DoubleToStr(AUDCAD_H4_300_MA,5), DoubleToStr(AUDCAD_H4_400_MA,5),
      DoubleToStr(AUDCAD_D1_200_MA,5), DoubleToStr(AUDCAD_D1_300_MA,5), DoubleToStr(AUDCAD_D1_400_MA,5),
         
      DoubleToStr(AUDCAD_M1_MACD_1,4), DoubleToStr(AUDCAD_M1_MACD_2,4), DoubleToStr(AUDCAD_M1_MACD_3,4), DoubleToStr(AUDCAD_M1_MACD_4,4), 
      DoubleToStr(AUDCAD_M5_MACD_1,4), DoubleToStr(AUDCAD_M5_MACD_2,4), DoubleToStr(AUDCAD_M5_MACD_3,4), DoubleToStr(AUDCAD_M5_MACD_4,4), 
      DoubleToStr(AUDCAD_M15_MACD_1,4), DoubleToStr(AUDCAD_M15_MACD_2,4), DoubleToStr(AUDCAD_M15_MACD_3,4), DoubleToStr(AUDCAD_M15_MACD_4,4), 
      DoubleToStr(AUDCAD_M30_MACD_1,4), DoubleToStr(AUDCAD_M30_MACD_2,4), DoubleToStr(AUDCAD_M30_MACD_3,4), DoubleToStr(AUDCAD_M30_MACD_4,4),
   DoubleToStr(AUDCAD_H4_ATR, 5)
     );




     FileClose(handle);
     Comment(" MA_MACD SENT ");
    }
  }
 
Pavel Shutovskiy:

thank you very much! but script doesnt work, having same issue when removing all MACD lines :-( i have no clue why.

 
bosslife:

thank you very much! but script doesnt work, having same issue when removing all MACD lines :-( i have no clue why.

The script writes the results to a file INDIES.csv

Files:
INDIES.zip  1 kb
 
Pavel Shutovskiy:

The script writes the results to a file INDIES.csv

i know, but it doesn't do anything. 

in journal it says "expert 'file name' is not custom indicator and will be removed." but i did everything exact same way like the code i posted first.

 
  1. "Doesn't work" is meaningless — just like saying the car doesn't work. Doesn't start, won't go in gear, no electrical, missing the key, flat tires — meaningless.

  2. You wrote the function OnStart. That is only for scripts, not EAs or indicators. move it to the scripts folder and compile there. Obviously you did not do everything the same.
Reason: