Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
М5 = 388229 записей ~ 1907769/5=381553.8
М15 = 131104 записей ~ 1907769/15=127184.6
М30 = 65589 записей ~ 1907769/30=63592.3
H1 = 32821 записей ~ 1907769/60=31796.15
H4 = 8318 записей ~ 1907769/60/4=7949.0375
D1 = 1389 записей ~ 1907769/60/24=1324.8395...
W1 = 891 записей
Скрипт ошибок вообще не выдал. Код немного тзменил, для каждой записи свой цикл сделал.
//+------------------------------------------------------------------+ //| History.mq4 | //| Copyright 2006, HIDDEN ™ | //| http://www.treide.ru/ | //+------------------------------------------------------------------+ #property copyright "Copyright 2006, HIDDEN ™" #property link "http://www.treide.ru/" #include <stdlib.mqh> #include <WinUser32.mqh> extern string FileName = "History"; int handle1,handle2,handle3,handle4,handle5,handle6,handle7,handle8,shift,err; bool result; double array1[][6]; double array2[][6]; double array3[][6]; double array4[][6]; double array5[][6]; double array6[][6]; double array7[][6]; double array8[][6]; //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { if(MessageBox("Записать историю для "+Symbol(),"Script",MB_YESNO|MB_ICONQUESTION)!=IDYES) return(1); ArrayCopyRates(array1,"EURUSD", PERIOD_M1); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); ArrayCopyRates(array2,"EURUSD", PERIOD_M5); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); ArrayCopyRates(array3,"EURUSD", PERIOD_M15); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); ArrayCopyRates(array4,"EURUSD", PERIOD_M30); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); ArrayCopyRates(array5,"EURUSD", PERIOD_H1); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); ArrayCopyRates(array6,"EURUSD", PERIOD_H4); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); ArrayCopyRates(array7,"EURUSD", PERIOD_D1); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); ArrayCopyRates(array8,"EURUSD", PERIOD_W1); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); for(shift=Bars-1; shift>=0; shift--){ handle1=FileOpen(FileName+"M"+PERIOD_M1+".txt", FILE_READ|FILE_WRITE, ';'); if(handle1>0){ FileSeek(handle1, 0, SEEK_END); FileWrite(handle1,TimeToStr(array1[shift][0]),DoubleToStr(array1[shift][1],Digits),DoubleToStr(array1[shift][2],Digits),DoubleToStr(array1[shift][3],Digits),DoubleToStr(array1[shift][4],Digits),array1[shift][5]); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); } FileClose(handle1); } for(shift=Bars-1; shift>=0; shift--){ handle2=FileOpen(FileName+"M"+PERIOD_M5+".txt", FILE_READ|FILE_WRITE, ';'); if(handle2>0){ FileSeek(handle2, 0, SEEK_END); FileWrite(handle2,TimeToStr(array2[shift][0]),DoubleToStr(array2[shift][1],Digits),DoubleToStr(array2[shift][2],Digits),DoubleToStr(array2[shift][3],Digits),DoubleToStr(array2[shift][4],Digits),array2[shift][5]); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); } FileClose(handle2); } for(shift=Bars-1; shift>=0; shift--){ handle3=FileOpen(FileName+"M"+PERIOD_M15+".txt", FILE_READ|FILE_WRITE, ';'); if(handle3>0){ FileSeek(handle3, 0, SEEK_END); FileWrite(handle3,TimeToStr(array3[shift][0]),DoubleToStr(array3[shift][1],Digits),DoubleToStr(array3[shift][2],Digits),DoubleToStr(array3[shift][3],Digits),DoubleToStr(array3[shift][4],Digits),array3[shift][5]); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); } FileClose(handle3); } for(shift=Bars-1; shift>=0; shift--){ handle4=FileOpen(FileName+"M"+PERIOD_M30+".txt", FILE_READ|FILE_WRITE, ';'); if(handle4>0){ FileSeek(handle4, 0, SEEK_END); FileWrite(handle4,TimeToStr(array4[shift][0]),DoubleToStr(array4[shift][1],Digits),DoubleToStr(array4[shift][2],Digits),DoubleToStr(array4[shift][3],Digits),DoubleToStr(array4[shift][4],Digits),array4[shift][5]); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); } FileClose(handle4); } for(shift=Bars-1; shift>=0; shift--){ handle5=FileOpen(FileName+"M"+PERIOD_H1+".txt", FILE_READ|FILE_WRITE, ';'); if(handle5>0){ FileSeek(handle5, 0, SEEK_END); FileWrite(handle5,TimeToStr(array5[shift][0]),DoubleToStr(array5[shift][1],Digits),DoubleToStr(array5[shift][2],Digits),DoubleToStr(array5[shift][3],Digits),DoubleToStr(array5[shift][4],Digits),array5[shift][5]); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); } FileClose(handle5); } for(shift=Bars-1; shift>=0; shift--){ handle6=FileOpen(FileName+"M"+PERIOD_H4+".txt", FILE_READ|FILE_WRITE, ';'); if(handle6>0){ FileSeek(handle6, 0, SEEK_END); FileWrite(handle6,TimeToStr(array6[shift][0]),DoubleToStr(array6[shift][1],Digits),DoubleToStr(array6[shift][2],Digits),DoubleToStr(array6[shift][3],Digits),DoubleToStr(array6[shift][4],Digits),array6[shift][5]); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); } FileClose(handle6); } for(shift=Bars-1; shift>=0; shift--){ handle7=FileOpen(FileName+"M"+PERIOD_W1+".txt", FILE_READ|FILE_WRITE, ';'); if(handle7>0){ FileSeek(handle7, 0, SEEK_END); FileWrite(handle7,TimeToStr(array7[shift][0]),DoubleToStr(array7[shift][1],Digits),DoubleToStr(array7[shift][2],Digits),DoubleToStr(array7[shift][3],Digits),DoubleToStr(array7[shift][4],Digits),array7[shift][5]); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); } FileClose(handle7); } for(shift=Bars-1; shift>=0; shift--){ handle8=FileOpen(FileName+"M"+PERIOD_MN1+".txt", FILE_READ|FILE_WRITE, ';'); if(handle8>0){ FileSeek(handle8, 0, SEEK_END); FileWrite(handle8,TimeToStr(array8[shift][0]),DoubleToStr(array8[shift][1],Digits),DoubleToStr(array8[shift][2],Digits),DoubleToStr(array8[shift][3],Digits),DoubleToStr(array8[shift][4],Digits),array8[shift][5]); err=GetLastError(); if(result!=false) Print("Ошибка (",err,") при копировании"); } FileClose(handle8); } //---- return(0); } //+------------------------------------------------------------------+1. Не нужно делать открытие и закрытие файла внутри цикла. Открыл файл, в цикле записал ВСЁ, закрыл файл.
2. Повторяю замечание. Переменная Bars содержит количество баров ТЕКУЩЕГО графика. Для минуток, например, надо использовать iBars(NULL,PERIOD_M1)
3. ArrayCopyRates используется для подготовки массива для передачи в dll. В других случаях его использование нецелесообразно. Лучше сразу доступаться через функции iOpen, iClose, iTime etc
Код перед вами, скажите что куда еще вставить чтобы этот футбол уже закончился. Вставлю потестю и решим что и как.
... если чё, это не есть история минуток с 2001 года... А где брали столько минуток?
... если чё, это не есть история минуток с 2001 года... А где брали столько минуток?
В сети много мест где можно всять, что угодно и бесплатно.