MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 839

 
CHART_SCALE Int 0에서 5까지의 스케일은 무엇을 의미합니까?
 
koctja :
CHART_SCALE Int 0에서 5까지의 스케일은 무엇을 의미합니까?
6단계 차트 눈금
 

안녕하세요!

질문: MT4 Expert Advisor를 사용하여 1-5GB csv 파일을 열고 동일한 크기의 새 csv/txt 파일로 덮어쓸 수 있습니까?

결론은 틱 따옴표가 있는 파일에서 빈 막대, 메가헤어핀 및 간격을 찾는 것입니다. 수정 후 새 파일로 덮어쓰기 (1년은 500~1000MB)

추신: 작은 인용문 작업을 위한 스크립트 및 기타 사항을 제공하지 마십시오.

고맙습니다!

 
MqlDateTime time1;
datetime date= TimeCurrent ();

 int h= FileOpen ( "test1111111.txt" , FILE_WRITE | FILE_ANSI | FILE_TXT );
   if (h== INVALID_HANDLE ){
       Alert ( "Ошибка открытия файла" );
       return (- 1 );
   }
   TimeToStruct (date,time1);
   FileWrite (h,time1.year,time1.mon,time1.day);


파일에는 2019510이라고 나와 있습니다.

if를 사용하지 않고 간단한 방법으로 한 달에 0을 추가하는 방법은 무엇입니까?

 
psyman :


파일에는 2019510이라고 나와 있습니다.

if를 사용하지 않고 간단한 방법으로 한 달에 0을 추가하는 방법은 무엇입니까?

제로란? 어디에 추가할까요? 예가 가능합니까?

 
Artyom Trishkin :

제로란? 어디에 추가할까요? 예가 가능합니까?

현재 날짜를 파일에 쓰고 20190510 대신 2019510을 얻습니다.

아마도 서식 설정이 있을 수 있지만 도움말에서는 이에 대해 말하지 않습니다.

 
psyman :

현재 날짜를 파일에 쓰고 20190510 대신 2019510을 얻습니다.

아마도 서식 설정이 있지만 도움말에서는 이에 대해 말하지 않습니다 .

 FileWrite (h,( string )time1.year, IntegerToString (time1.mon, 2 , '0' ), IntegerToString (time1.day, 2 , '0' ));
작성 :
Документация по MQL5: Преобразование данных / IntegerToString
Документация по MQL5: Преобразование данных / IntegerToString
  • www.mql5.com
[in]  Длина строки. Если длина полученной строки окажется больше указанной, то строка не усекается. Если длина полученной строки окажется меньше, то полученная строка будет дополнена слева символом-заполнителем.
 
Artyom Trishkin :
작성 :


TimeToStruct에서 패딩이 수행되지 않는 것이 이상합니다. IntegerToString 에서 검색할 생각은 하지 않았는데, 파일에 쓸 데이터가 무엇인지는 중요하지 않기 때문입니다. 감사합니다.

 
psyman :


파일에는 2019510이라고 나와 있습니다.

if를 사용하지 않고 간단한 방법으로 한 달에 0을 추가하는 방법은 무엇입니까?

 datetime date= TimeCurrent ();
int h= FileOpen ( "test1111111.txt" , FILE_WRITE | FILE_ANSI | FILE_TXT );
if (h== INVALID_HANDLE ){
       Alert ( "Ошибка открытия файла" );
       return (- 1 );
}
FileWrite (h,TimeToStr(date, TIME_DATE ));

로니철 :

안녕하세요!

질문: MT4 Expert Advisor를 사용하여 1-5GB csv 파일을 열고 동일한 크기의 새 csv/txt 파일로 덮어쓸 수 있습니까?

결론은 틱 따옴표가 있는 파일에서 빈 막대, 메가헤어핀 및 간격을 찾는 것입니다. 수정 후 새 파일로 덮어쓰기 (1년은 500~1000MB)

추신: 작은 인용문 작업을 위한 스크립트 및 기타 사항을 제공하지 마십시오.

고맙습니다!

선택하면 다음을 수행할 수 있습니다.

1. 2개의 파일을 엽니다. 하나는 읽기용이고 다른 하나는 쓰기 및 읽기 및 쓰기를 동시에 수행합니다.

2. 하나의 파일을 어레이로 읽고 데이터를 처리한 다음 어레이를 파일에 쓸 수 있지만 MT4는 32비트이고 이러한 프로그램의 메모리는 2GB로 제한됩니다. ArrayResize() 함수는 배열 크기 변경을 위한 메모리를 할당하지 않습니다( https://docs.mql4.com/en/array/arrayresize ).

추신: 나는 스크립트와 물건을 제공하지 않습니다

 
psyman :


TimeToStruct 에서 패딩이 수행되지 않는 것이 이상 합니다. IntegerToString에서 검색할 생각은 하지 않았습니다. 파일에 쓸 데이터가 무엇인지는 중요하지 않기 때문입니다. 감사합니다.

05 가 5 대신 int 변수에 쓰여질 것이라고 생각하는 것은 훨씬 더 이상합니다.

05 - 이것은 화면에 int-number를 표시하는 것입니다. 거기에서 필요한 형식을 직접 지정 해야 합니다.

그리고 여기 예를 들어, 왜 스스로 해야 하는지에 대해 Igor는 다음과 같이 말했습니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MQL4에 대한 모든 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론

이고르 마카누 , 2019.05.11 06:16

 datetime date= TimeCurrent ();
int h= FileOpen ( "test1111111.txt" , FILE_WRITE | FILE_ANSI | FILE_TXT );
if (h== INVALID_HANDLE ){
       Alert ( "Ошибка открытия файла" );
       return (- 1 );
}
FileWrite (h,TimeToStr(date, TIME_DATE ));

이 옵션에서는 이미 형식이 지정된 날짜가 표시됩니다. 그러나 당신이 필요로하는 방식이 아닙니다 ( 당신이 지적한대로 ).

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MQL4에 대한 모든 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론

싸이맨 , 2019.05.10 22:14

현재 날짜를 파일에 쓰고 20190510 대신 2019510을 얻습니다.

아마도 서식 설정이 있을 수 있지만 도움말에서는 이에 대해 말하지 않습니다.

이해를 위해 MqlDateTime 구조의 형식을 읽으십시오.

Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура даты
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура даты
  • www.mql5.com
Порядковый номер в году day_of_year в високосном году, начиная с марта, будет отличаться от порядкового номера соответствующего дня в невисокосном году.