안녕하세요,
브로커의 GMT 오프셋 및 일광 절약 시간제 계산에 사용된 스크립트 "TimeSummer.mq5"의 알고리즘이 완전히 잘못되었습니다.
https://www.mql5.com/ko/book/common/timing/timing_daylight_saving
올바른 알고리즘은 여기에서 찾을 수 있습니다: https: //www.mql5.com/en/code/48650
Determine Broker's Daylight (DST) schedule
- www.mql5.com
Script to determine whether your Broker follows the US, UK or AU daylight (DST) schedule.
확인
약간 수정된 버전의 SORT_STRUCT 매크로를 만들면 1개 이상의 필드를 기준으로 구조체를 정렬할 수 있습니다. 예를 들어 두 개의 필드를 기준으로 정렬할 수 있습니다:
//+------------------------------------------------------------------+ //| 두 개의 '필드'로 '유형'의 'A'레이를 정렬하는 편리한 매크로 || //+------------------------------------------------------------------+ #define SORT_STRUCT_2(T,A,F1,F2) \ { \ class InternalSort : public QuickSortStructT<T> \ { \ virtual bool Compare(const T &a, const T &b) override \ { \ return (a.##F1 > b.##F1) \ || (a.##F1 == b.##F1 && a.##F2 > b.##F2); \ } \ } sort; \ sort.QuickSort(A); \ }
MQL5 Book: Common APIs / Working with arrays / Comparing, sorting, and searching in arrays
- www.mql5.com
The MQL5 API contains several functions that allow comparing and sorting arrays, as well as searching for the maximum, minimum, or any specific...
자세한 내용은 PM을 통해 저에게 알려주세요. 귀하의 스크립트는 더 복잡한 방식으로 유사한 작업을 수행하며 기존 규칙 테이블에 묶여 있는데, 전체 아이디어는 순수한 견적 통계에서 DST를 감지하는 것이었기 때문에 의도적으로 사용하지 않았습니다. 서버의 설정은 실제로 부정확할 수 있으며 표준에 맞지 않을 수 있습니다. 피드백에 따르면 이 때문에 스크립트가 사용자 서버의 실제 시간대를 감지하지 못하는 경우가 있었습니다.
최근에 서버의 일광 절약 시간제 감지기의 업데이트 버전이 게시되었습니다.
TimeServerDaylightSavings
- www.mql5.com
Time-related functions for empirical detection of server time zone and daylight savings mode (DST) from history of quotes
MQL5 Programming for Traders - 책의 소스 코드. 파트 4:
이 책의 네 번째 파트에서는 기본 제공 함수(MQL5 API)를 마스터하는 데 중점을 둘 것입니다. 그리고 이후 점차 전문화된 하위 시스템을 살펴볼 것입니다. 모든 MQL5 프로그램은 다양한 기술과 기능을 활용할 수 있게 합니다. 따라서 여러분은 대부분의 프로그램에서 활용할 수 있는 가장 간단하고 유용한 기능부터 시작하는 것이 좋습니다.
작성자: MetaQuotes