Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
Sergey Dzyublik : 코드를 제공한 TheXpert 에게 다시 한 번 감사드립니다. ArrayResize 용량 МТ5(빌드 2057)에 대해 다음과 같은 결과가 있습니다.
따라서 ArrayResize의 작업과 실제 용량에 대한 영향에 대한 결론은 다음과 같습니다.
1. 첫 번째 ArrayResize는 매우 중요하며 실제로 크기 + reserved_size를 고려하여 메모리를 할당하고 용량을 설정합니다. 2. 새로운 reserved_size 값을 사용한 ArrayResize의 모든 후속 실행 - 각각 할당된 메모리 및 용량에 영향을 미치지 않습니다. 3. 새로운 메모리 할당은 용량이 초과된 경우에만 발생하며 이 경우 다시 size + reserved_size를 사용하여 할당된 메모리의 양을 결정하고 새로운 용량을 설정합니다. 4. reserved_size < 0 값은 예약된 메모리를 크기 크기까지 해제합니다.
알겠어) 그럼 해킹
MQL 4에서 MQL 5로 프로그램을 번역하고 있습니다.
그런 오류에 직면했습니다.
최대 m30의 기간에서 Period() 값이 올바르게 표시됩니다.
2019.05.22 17:45:38.628 TestStat (GBPUSD,M15) 4854 Period()=15
2019.05.22 17:46:08.267 TestStat (GBPUSD,M30) 4854 Period()=30
그리고 H1 기간부터 이해할 수 없는 값이 표시됩니다.
2019.05.22 17:31:07.446 TestStat (GBPUSD,H1) 4854 Period()=16385
2019.05.22 17:46:39.362 TestStat (GBPUSD,H4) 4854 Period()=16388
2019.05.22 17:46:55.552 TestStat (GBPUSD,D1) 4854 Period()=16408
2019년 5월 21일자 터미널 버전 빌드 2057입니다.
고맙습니다.
설명:
기간
현재 차트의 기간 값을 반환합니다.
ENUM_TIMEFRAMES 마침표 ();
반환 값
현재 차트의 기간 값을 저장하는 _Period 변수의 내용입니다. 값은 ENUM_TIMEFRAMES 열거형 값 중 하나일 수 있습니다 .
또한보십시오
PeriodSeconds , 차트 기간 , 날짜 및 시간 , , 개체 가시성
==================
어쩐지 잘 안 되네요. 설명을 올바르게 작성해야 합니다. 포럼 대신 문제의 원인을 찾아야 합니다.
Period()는 다음과 같이 현재 시간 프레임의 값을 반환하지 않는 것으로 나타났습니다. 값은 ENUM_TIMEFRAMES 열거형 값 중 하나일 수 있습니다 .
그러나 완전히 다른 것입니다.
개발자는 언어 설명을 수정합니다.
ArrayResize 용량 МТ5(빌드 2057)에 대해 다음과 같은 결과가 있습니다.
결과:
설명:
현재 차트의 기간 값을 저장하는 _Period 변수의 내용입니다. 값은 ENUM_TIMEFRAMES 열거형 값 중 하나일 수 있습니다 .
어쩐지 잘 안 되네요. 설명을 올바르게 작성해야 합니다. 포럼 대신 문제의 원인을 찾아야 합니다.
따라서 이 값이 분 단위 기간(4분에서와 같이)과 같다는 기록은 어디에도 없습니다.
https://www.mql5.com/en/articles/81
여기에서 링크된 기사가 시작됩니다.
따라서 이 값이 분 단위 기간(4분에서와 같이)과 같다는 기록은 어디에도 없습니다.
https://www.mql5.com/en/articles/81
여기에서 링크된 기사가 시작됩니다.
다음과 같은 언어 설명이 있습니다. 값은 ENUM_TIMEFRAMES 열거형 값 중 하나일 수 있습니다 .
아래의 언어 설명을 보십시오.
차트 기간
사전 정의된 모든 차트 기간에는 고유 식별자가 있습니다. PERIOD_CURRENT 식별자는 mql5 프로그램이 실행 중인 현재 차트 기간을 의미합니다.
ENUM_TIMEFRAMES
식별자
설명
PERIOD_CURRENT
현재 기간
PERIOD_M1
1 분
PERIOD_M2
2분
PERIOD_M3
3 분
PERIOD_M4
4분
PERIOD_M5
5 분
PERIOD_M6
6분
PERIOD_M10
10 분
PERIOD_M12
12분
PERIOD_M15
15 분
PERIOD_M20
20 분
PERIOD_M30
30 분
PERIOD_H1
1 시간
PERIOD_H2
2시간
PERIOD_H3
3 시간
PERIOD_H4
4 시간
PERIOD_H6
6 시간
PERIOD_H8
8시
PERIOD_H12
12 시간
PERIOD_D1
1 일
PERIOD_W1
일주
PERIOD_MN1
1 개월
=========================
그리고 설명 어디에도 이 값이 초 단위라고 나와 있지 않습니다.
설명이 모든 것을 말해야 합니다.
그리고 당신이 어떤 기사에 올라야 할 때, 그것은 매우 나쁩니다.
코드를 제공한 TheXpert 에게 다시 한 번 감사드립니다.
ArrayResize 용량 МТ5(빌드 2057)에 대해 다음과 같은 결과가 있습니다.
1. 첫 번째 ArrayResize는 매우 중요하며 실제로 크기 + reserved_size를 고려하여 메모리를 할당하고 용량을 설정합니다.
2. 새로운 reserved_size 값을 사용한 ArrayResize의 모든 후속 실행 - 각각 할당된 메모리 및 용량에 영향을 미치지 않습니다.
3. 새로운 메모리 할당은 용량이 초과된 경우에만 발생하며 이 경우 다시 size + reserved_size를 사용하여 할당된 메모리의 양을 결정하고 새로운 용량을 설정합니다.
4. reserved_size < 0 값은 예약된 메모리를 크기 크기까지 해제합니다.
그리고 설명 어디에도 이 값이 초 단위라고 나와 있지 않습니다.
그래서 몇초만에 되는게 아니라...
다음과 같은 언어 설명이 있습니다. 값은 ENUM_TIMEFRAMES 열거형 값 중 하나일 수 있습니다 .
아래의 언어 설명을 보십시오.
차트 기간
사전 정의된 모든 차트 기간에는 고유 식별자가 있습니다. PERIOD_CURRENT 식별자는 mql5 프로그램이 실행 중인 현재 차트 기간을 의미합니다.
ENUM_TIMEFRAMES
=========================
그리고 설명 어디에도 이 값이 초 단위라고 나와 있지 않습니다.
설명이 모든 것을 말해야 합니다.
그리고 일부 기사에 대해 더 많이 올라야 할 때 그것은 매우 나쁩니다.
그리고 이것이 몇 초 만에 값이라고 누가 말했습니까?
다음과 같은 언어 설명이 있습니다. 값은 ENUM_TIMEFRAMES 열거형 값 중 하나일 수 있습니다 .
아래의 언어 설명을 보십시오.
차트 기간
사전 정의된 모든 차트 기간에는 고유 식별자가 있습니다. PERIOD_CURRENT 식별자는 mql5 프로그램이 실행 중인 현재 차트 기간을 의미합니다.
ENUM_TIMEFRAMES
식별자
설명
PERIOD_CURRENT
현재 기간
PERIOD_M1
1 분
PERIOD_M2
2분
PERIOD_M3
3 분
PERIOD_M4
4분
PERIOD_M5
5 분
PERIOD_M6
6분
PERIOD_M10
10 분
PERIOD_M12
12분
PERIOD_M15
15 분
PERIOD_M20
20 분
PERIOD_M30
30 분
PERIOD_H1
1 시간
PERIOD_H2
2시간
PERIOD_H3
3 시간
PERIOD_H4
4 시간
PERIOD_H6
6 시간
PERIOD_H8
8시
PERIOD_H12
12 시간
PERIOD_D1
1 일
PERIOD_W1
일주
PERIOD_MN1
1 개월
=========================
그리고 설명 어디에도 이 값이 초 단위라고 나와 있지 않습니다.
설명이 모든 것을 말해야 합니다.
그리고 여전히 일부 기사를 올라야 할 때 이것은 매우 나쁩니다.
enum 값에 절대 의존해서는 안 됩니다.
PeriodSeconds()를 사용합니다.