Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Нужен приватный мониторинг счета? В Сигналах есть такая возможность!
antonchumikov
26
antonchumikov 2011.07.03 06:41 

Здравствуйте Товарищи!!!! Помогите написать скрипт для записи данных в Excel.... только есть одна проблема ..... нужно чтобы данные при каждом запуске скрипта записывались не в конец файла..... т.е. последнюю строку .... а в первую строку следующего столбца!!!!

_____________________________________

Заранее благодарен!!!!

Vladyslav Goshkov
1959
Vladyslav Goshkov 2011.07.03 08:39  
Если правильно понял: попробуйте писать без символа конца строки - просто через разделитель. В csv отображаться будет все в одну строку и при импорте в эксел должно тоже экспортироваться в одну строку - то есть, только первые элементы столбцов.
Сергей
712
Сергей 2011.07.03 08:59  

если нужно просто потом обработать готовый файл, то можно писать как обычно (дописывая новые строки в конец файла). потом файл открывается выделяются все данные копируются и затем вставляются специальной вставкой с выбором чекбокса Транспонировать.

но учтите! в экселе к-во строк - 65536, а колонок - всего 256 штук и все данные строк могут просто не влезть в колонки :(

Виталий
340
Виталий 2011.07.03 11:15  
Покажите в экселе пример как вы хотите, чтобы это выглядело.
Snaf
110
Snaf 2011.07.03 11:20  
f.t.:


но учтите! в экселе к-во строк - 65536, а колонок - всего 256 штук и все данные строк могут просто не влезть в колонки :(


В Excel 2010 и Excel 2007 размер листа составляет 16 384 столбца на 1 048 576 строк
o_O
Модератор
23289
o_O 2011.07.03 17:36  
Anton053:

Ваv самому хоть понятно читать то, что вы выкинули в пост?

публикуйте код правильно - кнопка для вставки SRC

antonchumikov
26
antonchumikov 2011.07.04 03:52  
//+------------------------------------------------------------------+
//|                         прогнозирование DIf по day разбиению.mq4 |
//|                      Copyright © 2010, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"


//--------------------------------------------------------------- 2 --
int start()                            // Спец. функция start
  {
 
 //----Запись и определение файла
 string FileName;
 int FileHandle;
 
                    FileName="____Atom__H4_(GEP)__.csv";
                    //FileName="Day.csv";
                   FileHandle=FileOpen(FileName,FILE_CSV|FILE_READ|FILE_WRITE,";");
                   FileSeek(FileHandle,0, SEEK_END);
                   
 if (FileHandle<1)
                  { 
                     Print("НЕ удалось открыть файл",GetLastError());
                     return ;
                  }
    
                             
int i;
int myBars;
//Понедельник:
         int M_YY=2011;   // Год
         int M_MN=06;   // Месяц         
         int M_DD=30;   // День

   
if(Symbol()=="FESX" || 
   Symbol()=="NKD"  || 
   Symbol()=="YM"   || 
   Symbol()=="")
   {int o=1;}   

if(
   Symbol()=="FDAX" ||
   Symbol()=="FCE"  ||    
   Symbol()=="GOLD"  ||
   Symbol()=="Z")
   { o=10;}

if(Symbol()=="RTSI" || 
   Symbol()=="MICEXI" || 
   Symbol()=="EP"     || 
   Symbol()=="ENQ"    || 
   Symbol()==""       || 
   Symbol()=="CL"     || 
   Symbol()=="RB"     ||
   Symbol()=="HO"     || 
   Symbol()=="EURJPY" ||
   Symbol()=="GBPJPY" || 
   Symbol()=="AUDJPY" || 
   Symbol()=="NZDJPY" || 
   Symbol()=="USDJPY" || 
   Symbol()=="CADJPY" 
   )
   {o=100;}

   if(Symbol()=="ZI" || 
   Symbol()=="NG")
   {o=1000;}

if(
   Symbol()=="EURUSD" ||
   Symbol()=="GBPUSD" || 
   Symbol()=="AUDUSD" || 
   Symbol()=="NZDUSD" || 
   Symbol()=="EURGBP" ||
   Symbol()=="EURAUD" || 
   Symbol()=="EURCAD" || 
   Symbol()=="EURNZD" || 
   Symbol()=="USDCAD" || 
   Symbol()=="AUDNZD" || 
   Symbol()=="AUDCAD" || 
   Symbol()=="GBPCAD" || 
   Symbol()=="GBPNZD" ||
   Symbol()=="GBPAUD" ||  
   Symbol()=="NZDCAD")
   {o=10000;}

myBars=Bars;
 
//------------------------------------------------------------------
//--------------Смещение до текущего бара по дате------------------
//------------------------------------------------------------------ 
  
      while(M_YY!=TimeYear(Time[myBars]))  
         {
                     myBars--;
         }
         
          while( M_MN!=TimeMonth(Time[myBars]))
            {
                        myBars--;       
            }
            
               while( M_DD!=TimeDay(Time[myBars]))
                  {
                              myBars--;
   
                   }
                    

//FileWrite(FileHandle,"номер бара :",myBars);//--проверка бара в файле
//------------------------------------------------------------------
//-----------------------конец--------------------------------------
/////////////////////////DAY//////////////////////////////////////////
Comment(myBars,myBars,myBars,myBars,myBars,myBars,myBars,myBars,myBars);
double r=0,e,t;
 i=myBars;

 //FileWrite(FileHandle,"DATE(basic)","EURUSD","GBPUSD","AUDUSD"        ,"NZDUSD"       ,"EURJPY",      "GBPJPY"        ,"AUDJPY",      "NZDJPY",       "CADJPY",       "EUR&AUD"       ,"EUR&NZD"      ,"GBP&AUD",     "GBP&NZD",      "AUD&CAD",      "NZD&CAD"       ,"EUR&CAD",     "GBP&CAD",      "EUR&GBP"       ,"AUD&NZD",     "USD&CAD",      "USDJPY",       "GOLD", "SILVER",       "CRUDE OIL"     ,"GASOLINE OIL",        "HEATING OIL",  "NATURAL GAS",  "FESX", "FTSE 100",     "CAC 40",       "DAX",  "NIKKEY 225",   "S&P 500",      "NASDAQ",       "DOW"   ,"MICEX",       "RTS");
 FileWrite(FileHandle,"1","2","3");
 while(i>=0)
 {
  
  r=(Open[i]-Close[i+1]);
  e=Close[i]-Open[i];
  
  t=r+e;
  
  FileWrite(FileHandle,TimeToStr(Time[i]),t*o);
 
  i--;
  }FileClose(FileHandle);
/////////////////////////DAY//////////////////////////////////////////



//\\\\\\\\\\\\\\\\\\\\\\\\E(GEP)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
/*
 while(i>0)
 {
  
  //r=(Open[i]-Close[i+1]);
  e=Open[i-1]-Close[i];
  
  t=r+e;
  
  FileWrite(FileHandle,TimeToStr(Time[i-1]),t*o);
  
  i--;
  }
/////////////////////////E(GEP)//////////////////////////////////////////

*/

}
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий