라이브러리: 멀티 테스터 - 페이지 50 1...4344454647484950515253545556 새 코멘트 Stanislav Korotky 2025.09.05 16:09 #491 게시물이 잘못된 스레드에 작성되었습니다. 이 스레드에 있어야 합니다: 트레이딩, 자동매매 시스템 및 트레이딩 전략 테스트 포럼 메타트레이더 5 빌드 5200 새 버전: OpenBLAS 확장 및 MQL5의 제어 기능 향상 스타니슬라브 코로트키, 2025.09.05 11:13 AM 왜 31이 아닌 30인가? 헤드 라인은 31일을 위해 설계된 것 같습니다. uint Buffer[64 + 12 * 30]; 그리고 암호화폐라면요? 오류, 버그, 질문 사이트 관리 mql5.com에 대한 mql5 언어의 특징, 미묘함 fxsaber 2025.09.05 19:51 #492 Stanislav Korotky #:왜 31일이 아니라 30일인가요? 헤드라인은 31일로 되어 있는 것 같습니다. 0에서 30까지의 인덱스는 31입니다. Stanislav Korotky 2025.09.06 12:00 #493 fxsaber #:0에서 30까지의 인덱스는 31개입니다. 정확히, 0에서 30까지를 포함하여 총 31개입니다. fxsaber 2025.09.06 19:51 #494 Stanislav Korotky #:정확히 0에서 30까지, 총 31개입니다. 맞나요? Stanislav Korotky 2025.09.07 13:29 #495 fxsaber #:제대로 이해하셨나요? 아니요. 파일 헤더에서 제가 볼 수 있는 한 31일 동안의 배열이 예약되어 있으며 이는 논리적으로 맞습니다. 따라서 코드에서는 12*31이 되어야 합니다. 제가 어디가 틀렸나요? 또는 한 달에 (최대) 30일이 있어야 한다고 명시된 tkc 형식 설명에 대한 링크를 제공하세요. fxsaber 2025.09.07 15:04 #496 Stanislav Korotky #:아니요. 제가 볼 수 있는 한 파일 헤더는 31일 동안 배열을 예약하고 있습니다. 헤더에 대한 정보가 없습니다. 사용자 정의 문자를 작성하고 어떤 바이트가 변경되는지 살펴보고 있었습니다. 그런 작업을 통해서만 헤더의 특정 바이트가 무엇을 담당하는지 알 수 있었습니다. 따라서 코드에서 12*31이 되어야 합니다. 제가 어디가 틀렸나요? 또는 한 달에 (최대) 30일이 있어야 한다고 명시된 tkc 형식 설명에 대한 링크를 제공하세요. uint Buffer[64 + 12 * 30]; uint Read; kernel32::ReadFile(handle, Buffer, sizeof(Buffer), Read, 0); if (Read == sizeof(Buffer)) for (int i = 63; i < (sizeof(Buffer) >> 2); i += 12) Res += (int)Buffer[i]; 변수 i는 31개의 값을 받습니다. Stanislav Korotky 2025.09.08 11:44 #497 fxsaber #:헤더에 대한 정보가 없습니다. 사용자 지정 기호를 만들고 어떤 바이트가 변경되는지 관찰했습니다. 이러한 작업을 통해서만 헤더의 특정 바이트가 무엇을 담당하는지 알 수 있었습니다. 변수 i는 31개의 값을 받습니다. 분명히 루프는 63부터 카운트되지만 배열을 설명할 때 헤더에 64가 할당되어 -1부터 시작하는 루프와 동일합니다. 직관적이지는 않지만 수학은 맞습니다. fxsaber 2025.09.09 18:38 #498 fxsaber #: 비표준 방식으로 달력 월의 틱 수를 구합니다. 기호별로 사용 가능한 과거 틱에 대한 정보를 가져옵니다. #include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/ko/code/26132 string NumToString( ulong Num, const string Delimeter = " " ) { string Res = (Num ? NULL : "0"); while (Num) { Res = ((Num < 1000) ? (string)(Num % 1000) : ::IntegerToString(Num % 1000, 3, '0')) + ((Res == NULL) ? NULL : Delimeter) + Res; Num /= 1000; } return(Res); } string TicksDataToString( const string Symb ) { datetime From = 0; datetime To; const int Amount = MTTESTER::GetAmountFileTicks(From, To, Symb); const string SizeStr = ::DoubleToString((long)Amount * sizeof(MqlTick) / (double)(1 << 20), 3) + " MB"; return(Symb + ": " + NumToString(Amount) +" ticks (MqlTick[] = " + SizeStr + ")" + (From ? ", " + ::TimeToString(From) + " - " + ::TimeToString(To) + ", " + GetDiffTime(From, To) // https://www.mql5.com/ru/forum/170952/page308#comment_57872629 : NULL)); } void OnStart() { const int Size = SymbolsTotal(true); for (int i = 0; i < Size; i++) Print(IntegerToString(i + 1, 3, '0') + "/" + IntegerToString(Size, 3, '0') + ". " + TicksDataToString(SymbolName(i, true))); } 결과. 001/045. EURUSD: 473 689 648 ticks (MqlTick[] = 27104.739 MB), 2011.12.01 00:00 - 2025.09.01 00:00, 13 Years 9 Months 002/045. GBPUSD: 508 981 458 ticks (MqlTick[] = 29124.153 MB), 2011.12.01 00:00 - 2025.01.01 00:00, 13 Years 1 Months 003/045. USDCAD: 402 756 151 ticks (MqlTick[] = 23045.892 MB), 2011.12.01 00:00 - 2025.01.01 00:00, 13 Years 1 Months 004/045. USDCHF: 353 129 808 ticks (MqlTick[] = 20206.250 MB), 2011.12.01 00:00 - 2025.01.01 00:00, 13 Years 1 Months 005/045. USDJPY: 482 177 651 ticks (MqlTick[] = 27590.427 MB), 2011.12.01 00:00 - 2025.01.01 00:00, 13 Years 1 Months 006/045. AUDCAD: 446 882 461 ticks (MqlTick[] = 25570.820 MB), 2011.12.01 00:00 - 2025.01.01 00:00, 13 Years 1 Months 007/045. AUDCHF: 387 336 224 ticks (MqlTick[] = 22163.557 MB), 2011.12.01 00:00 - 2025.01.01 00:00, 13 Years 1 Months 오류 4004의 원인을 확인할 수 있습니다. Goesta Torsten Hulden 2025.09.21 04:34 #499 MTTester.mqh가 컴파일되지 않습니다. 최근 MT5 빌드에서 갑자기 컴파일되지 않는 항목이 꽤 많기 때문인 것 같습니다. 혹시 해당 라이브러리의 업데이트된 버전을 제공해 주실 수 있나요? 정말 멋진 라이브러리인 것 같습니다. fxsaber 2025.09.21 07:33 #500 Goesta Torsten Hulden #: MTTester.mqh가 컴파일되지 않았습니다. 라이브러리의 러시아어 페이지에서만 최신 버전이 제공됩니다. 1...4344454647484950515253545556 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
게시물이 잘못된 스레드에 작성되었습니다. 이 스레드에 있어야 합니다:
트레이딩, 자동매매 시스템 및 트레이딩 전략 테스트 포럼
메타트레이더 5 빌드 5200 새 버전: OpenBLAS 확장 및 MQL5의 제어 기능 향상
스타니슬라브 코로트키, 2025.09.05 11:13 AM
왜 31이 아닌 30인가? 헤드 라인은 31일을 위해 설계된 것 같습니다.
그리고 암호화폐라면요?
왜 31일이 아니라 30일인가요? 헤드라인은 31일로 되어 있는 것 같습니다.
0에서 30까지의 인덱스는 31입니다.
0에서 30까지의 인덱스는 31개입니다.
정확히, 0에서 30까지를 포함하여 총 31개입니다.
정확히 0에서 30까지, 총 31개입니다.
맞나요?
제대로 이해하셨나요?
아니요. 파일 헤더에서 제가 볼 수 있는 한 31일 동안의 배열이 예약되어 있으며 이는 논리적으로 맞습니다. 따라서 코드에서는 12*31이 되어야 합니다. 제가 어디가 틀렸나요?
또는 한 달에 (최대) 30일이 있어야 한다고 명시된 tkc 형식 설명에 대한 링크를 제공하세요.
아니요. 제가 볼 수 있는 한 파일 헤더는 31일 동안 배열을 예약하고 있습니다.
헤더에 대한 정보가 없습니다. 사용자 정의 문자를 작성하고 어떤 바이트가 변경되는지 살펴보고 있었습니다. 그런 작업을 통해서만 헤더의 특정 바이트가 무엇을 담당하는지 알 수 있었습니다.
따라서 코드에서 12*31이 되어야 합니다. 제가 어디가 틀렸나요?
또는 한 달에 (최대) 30일이 있어야 한다고 명시된 tkc 형식 설명에 대한 링크를 제공하세요.
변수 i는 31개의 값을 받습니다.
헤더에 대한 정보가 없습니다. 사용자 지정 기호를 만들고 어떤 바이트가 변경되는지 관찰했습니다. 이러한 작업을 통해서만 헤더의 특정 바이트가 무엇을 담당하는지 알 수 있었습니다.
변수 i는 31개의 값을 받습니다.
분명히 루프는 63부터 카운트되지만 배열을 설명할 때 헤더에 64가 할당되어 -1부터 시작하는 루프와 동일합니다. 직관적이지는 않지만 수학은 맞습니다.
비표준 방식으로 달력 월의 틱 수를 구합니다.
기호별로 사용 가능한 과거 틱에 대한 정보를 가져옵니다.
결과.
오류 4004의 원인을 확인할 수 있습니다.
MTTester.mqh가 컴파일되지 않았습니다.
라이브러리의 러시아어 페이지에서만 최신 버전이 제공됩니다.