//+------------------------------------------------------------------+//| 옵파일을 읽고 CSV로 내보내는 메인 클래스 ||//+------------------------------------------------------------------+class OptReader
{
TesterOptCacheHeader header;
TestCacheInputExtended inputs[];
uchar bufferOfInputs[];
int shapshot[];
AutoPtr<RecordBase> records;
bool read(constint handle)
{
SAFE(FileReadStruct(handle, header));
if(header.parameters_total)
{
TestCacheInput temp[];
SAFE(FileReadArray(handle, temp, 0, header.parameters_total));
constint n = ArrayResize(inputs, header.parameters_total);
for(int i = 0; i < n; ++i)
{
inputs[i] = temp[i]; // 매개변수 'TestCacheInput'을 'const TestCacheInputExtended&'로 변환할 수 없습니다.
inputs[i].extend();
}
}
//+------------------------------------------------------------------+//| 문자열화된 필드가 있는 입력 구조체 |//+------------------------------------------------------------------+struct TestCacheInputExtended: public TestCacheInput
{
using TestCacheInput::operator=;
물론 MQL5는 끊임없이 변화하고 있으며, 안타깝게도 MQ는 종종 이전 버전과의 호환성을 깨뜨리는 방식으로 이를 수행합니다. 이것이 플랫폼을 개선하는 적절한 방법은 아니라고 생각하지만 어쨌든 우리가 할 수 있는 유일한 방법은 새로운 구문에 따라 패치를 통해 문제를 해결하는 것입니다. 예를 들어, 이 경우에는 한 줄만 추가하면 됩니다:
struct MqlCalendarRecord: publicMqlCalendarValue
{
using MqlCalendarValue::operator=;
...
};
이것이 바로 저에게 필요한 것이었습니다.
이 스레드에 게시된 가장 최근 업데이트가 아닌 최신 업데이트를 인용하셨으니 최신 업데이트를 받으셨는지 확인하시기 바랍니다.
수정해 주세요.
고마워요. 조금 다르게 수정했습니다.
확장() 을 명시적으로 호출할 필요가 없으므로 더 편리하고 논리적입니다.
참고: 첨부 파일에 다른 유용한 수정 사항이 포함되어 있습니다.
감사합니다. 조금 다르게 수정했습니다.
확장() 을 명시적으로 호출할 필요가 없으므로 더 편리하고 논리적입니다.
참고: 첨부 파일에 다른 유용한 수정 사항이 포함되어 있습니다.
다른 주제에서 전달되었습니다:
트레이딩, 자동매매 시스템, 트레이딩 전략 테스트 포럼
CalendarRecordById.mq5 - 오류
라이언 L 존슨, 2025.12.19 17:44
메타쿼츠 지원팀, MQL5 책 콘텐츠에 게시된 위에 참조된 캘린더 표시기에 더 이상 사용되지 않는 코드가 포함된 것 같습니다.
이 파일은 ID로 이벤트 레코드 읽기 - 고급 언어 도구 - 트레이더용 MQL5 프로그래밍에서 참조할 수 있습니다.
파일 자체는 https://www.mql5.com/ko/code/download/45596/CalendarRecordById.mq5 에 있습니다.
물론 문제를 재현하려면 포함된 라이브러리 파일을 다운로드해야 합니다.
개인적으로 저는 코드에서 필요한 것을 얻기 위해 해결 방법을 사용했습니다. 여기서 제 목적은 문서가 최신 상태로 유지되도록 하는 것입니다.
다른 토픽에서 전달되었습니다:
물론 MQL5는 끊임없이 변화하고 있으며, 안타깝게도 MQ는 종종 이전 버전과의 호환성을 깨뜨리는 방식으로 이를 수행합니다. 이것이 플랫폼을 개선하는 적절한 방법은 아니라고 생각하지만 어쨌든 우리가 할 수 있는 유일한 방법은 새로운 구문에 따라 패치를 통해 문제를 해결하는 것입니다. 예를 들어, 이 경우에는 한 줄만 추가하면 됩니다:
MQL5 구문 변경에 대한 공식 뉴스를 따르세요.