문제 코드 - 페이지 2

 
burnssss :

나는 전문가, 다소 유사한 코드를 만들려고 시도하고 월별 데이터와 같은 파일을 작성합니다.


그러나 더 이상 1970년부터 데이터를 다운로드하지 않습니다.

우리가 사용한 코드는 다음과 같습니다.

이것이 작동하지 않는 이유를 알려주는 링크를 이미 드렸습니다. 읽었습니까?

랩터영국 :

포럼 검색을 이용하세요. . .

https://www.mql5.com/en/forum/147170

. . . 그리고 문서

 
RaptorUK :
아니요 응답도 a mi pregunta simple, donde en el archivo es lo que desea colocar los nuevos datos? si se piensa que por unos minutos le ayudará. . .

오래된 데이터의 연속? 데이터 다운로드를 계속 수행해야 하는 위치와 수행해야 하는 위치를 이해하지 못합니다.
 
FILEREAD / file_write 조합 방금 만들었고 계속 똑같이 하고 있습니다. 내가 이해하지 못하는 것
 
burnssss :
FILEREAD / file_write 조합 방금 만들었고 계속 똑같이 하고 있습니다. 내가 이해하지 못하는 것
파일에 데이터 행을 쓸 때마다, 새 행에 추가하려는 데이터의 새 행이 있을 때마다 방금 쓴 행을 덮어쓰는 것을 원하지 않습니다. . . 데이터의 새 행을 쓰기 전에 파일 끝에 FileSeek()해야 합니다. . . 그런 다음 새 데이터 행을 작성하십시오.
 
나는 노력할 것이다
 

이해가 안가서 예전이랑 똑같음

 //+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
export ();
  }

//+------------------------------------------------------------------+
void export () 
{ 

string file= "export_" + Symbol ()+ "_" + Period ()+ ".csv" ; 
int f= FileOpen (file, FILE_CSV | FILE_READ | FILE_WRITE , ';' ); 
if (f> 0 )
{
     FileSeek (f, 0 , SEEK_END );
   
    }



for ( int i= Bars - 1 ;i>= 0 ;i--)
{
FileWrite (f,TimeToStr(Time,TIME_DATE|TIME_MINUTES),Open,High,Low,Close , iFractals ( Symbol (), 0 , 1 ,i), iFractals ( Symbol (), 0 , 2 ,i), iCustom ( Symbol (), 
0 , "ZigZag" , 0 ,i), iCustom ( Symbol (), 0 , "ZigZag" , 1 ,i));
Alert ( "Export " + Symbol ()+ " finished. Exported: " + Bars + " records" ); 
FileClose (f);
  f= 0 ;
}
}
 
burnssss :

이해가 안가서 예전이랑 똑같음

루프 내부에서 파일을 닫는 이유는 무엇입니까? 테스트하기 전에 코드를 자세히 읽고 의미가 있는지 확인하십시오. . .
 

코드에서 올바른 단계를 사용한다고 생각합니다. 모든 데이터를 파일로 다운로드해야 한다고 생각합니다. CSV,하지만 내가 왜 이것을하는지 이해하지 못합니다.

 //+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
export ();
  }

//+------------------------------------------------------------------+
void export () 
{ 

string file= "export_" + Symbol ()+ "_" + Period ()+ ".csv" ; 
int f= FileOpen (file, FILE_READ | FILE_WRITE , ';' ); 
if (f> 0 )
{
     FileSeek (f, 0 , SEEK_END );
   
    }



for ( int i= Bars - 1 ;i>= 0 ;i--)
{
FileWrite (f,TimeToStr(Time,TIME_DATE|TIME_MINUTES),Open,High,Low,Close , iFractals ( Symbol (), 0 , 1 ,i), iFractals ( Symbol (), 0 , 2 ,i), iCustom ( Symbol (), 0 , "ZigZag" , 0 ,i), iCustom ( Symbol (), 0 , "ZigZag" , 1 ,i));
}

Alert ( "Export " + Symbol ()+ " finished. Exported: " + Bars + " records" );  
FileClose (f); 
}
 
burnssss :

코드에서 올바른 단계를 사용한다고 생각합니다. 모든 데이터를 파일로 다운로드해야 한다고 생각합니다. CSV,하지만 내가 왜 이것을하는지 이해하지 못합니다.

루프가 i 의 첫 번째 값에 대해 실행되면 데이터를 작성한 다음 루프에서 i 의 다음 값에 대해 파일이 닫힙니다. . . 무슨 일이 일어날 것 같아?
 
많은 감사합니다, 나는 해결책을 찾았습니다