함수 를 사용하기 전에 테스터가 라이브러리를 연결하는 EA를 로드한 직후 저널에 "stack overflow"라는 메시지가 표시됩니다.
첨부 파일에서 "power"라는 기능에 문제가 있습니다. 내 결론은 다음과 같습니다.
1) 확실히 이름에는 문제가 없습니다. EX4의 심볼 테이블에 MQL 함수 충돌이 없습니다. 다른 레이블이 테스트되었습니다.
2) 분명히 기능 제한에 도달하지 않았습니다. 문제가 되는 기능을 제거한 후 더 많은 기능을 추가하여 오류가 발생하지 않았습니다. MT4 컴파일러를 통해 EX4 파일의 링크를 해제할 뿐만 아니라 이 기능을 제거해야만 제대로 작동합니다.
3) 재귀는 많은 호출을 통해 실행되고 결과는 스택에 남습니다. 스택은 인수 '지수'가 기하급수적으로 증가함에 따라 선형적으로 점근적으로 증가합니다. 잠재적으로 스택이 한계에 도달하여 오버플로가 발생할 수 있습니다. "스택 오버플로" 오류는 이 함수의 실행과 무관하게 나타납니다.
따라서 MT4 컴파일러가 EA 실행 중 잠재적인 스택 오버플로를 방지하는 언어에서 허용되지 않는 [일부 클래스] 재귀를 감지하는 장치를 가질 수 있습니다.
Zero devide를 찾아서 수정하는 방법에 대한 이 게시물: https://www.mql5.com/en/forum/general
몇 가지 기능 설명이 있습니다.
- Wolfe 의 코딩에 유용한 MT4 기능 모음 .
- Nicholishen의 전문 MM 기능 .
- Kalenzo의 자금 관리 기능 .
- 몇 가지 간단한 MM 코드 .
- 파일_읽기 | FILE_WRITE 함수 .
- phoenix의 DefindTrade(..) 기능 .
- 날짜 형식 기능 .
- 경고 표시 기능 .
- sleep() 함수 .
- 높고 낮은 기능 .
- iCustom 기능 : Codersguru의 good threa.
- 이메일/sms 기능 링크.
- Codersguru 웹사이트 의 모든 기능 .
- Array를 반환하는 함수 .
- IsStopped() 함수 .
- Hour() 함수 사용법 .
- 모든 주문을 효과적으로 마감하는 기능 .
- 경고 한 번 .
- 알림 : 많은 기능과 예.
- 모든 MTF 지표에 매우 중요합니다 .
- 간편한 iCustom 및 알림! : Codersguru의 아주 좋은 스레드.
- 최고 최고 .
- 캔들 클로즈 시에만 경고하는 방법 .
- icustom 기능 링크.
- 제로 디바이드 고정 .
- 제로 디바이드 고정 .
- 기타 자금 관리 기능 .
- MetaTrader당 하나의 주문, 심볼당 하나의 주문(eurusd, gbpusd ...) 또는 차트당 하나의 주문 또는 양초당 하나의 주문을 코딩하는 방법 .
MetaTrader의 단축키 :
https://www.mql5.com/en/forum/178343
https://www.mql5.com/en/forum/172885
https://www.mql5.com/en/forum/176626
브로커가 숫자를 하나 더 추가했다면?
https://www.mql5.com/en/forum/179191
현재 세션 높음 찾기 .
mq4 파일 없이 사용자 지정 표시기 코딩 .
흔하지 않은 오류
안녕 여러분,
저는 EA를 코딩하고 있는데 흔하지 않은 오류에 직면했습니다. 따라서 MT4에서 발생하는 이 오류에 대해 도움을 요청하고 싶습니다. 이 오류는 모든 경험에서 이미 동일한 문제에 직면했을 수 있습니다.
전체 EA를 읽는 것은 비실용적일 수 있으며 소스 코드는 매우 큽니다.
컴파일이 성공하면 테스터에서 MT4 저널에 다음 오류가 표시됩니다.
시간: 2011.01.28 23:35:36
메시지: 2007.07.13 00:00 InterCandles EURUSDFXF,H4: 스택 오버플로.
스택 크기를 하늘로 올리는 것조차도
#속성 스택크기 167692160
내 생각에 16MB의 메모리를 할당하면 오류가 지속됩니다.
테스터에서 " 스택 오버플 로"라는 동일한 문제에 직면한 사람이 있습니까? 아니면 문제가 MT4 내부인지 EA(배열, 중첩 선언, 너무 큰 ex4 파일 등)에 있는지 지적할 수 있습니까?
도움의 손길에 감사드리며 시간을 내서 죄송합니다.
고맙습니다.
문제 해결
글쎄, 누군가가 대답하기 전에 나는 해결책을 찾았습니다.
함수 를 사용하기 전에 테스터가 라이브러리를 연결하는 EA를 로드한 직후 저널에 "stack overflow"라는 메시지가 표시됩니다.
첨부 파일에서 "power"라는 기능에 문제가 있습니다. 내 결론은 다음과 같습니다.
1) 확실히 이름에는 문제가 없습니다. EX4의 심볼 테이블에 MQL 함수 충돌이 없습니다. 다른 레이블이 테스트되었습니다.
2) 분명히 기능 제한에 도달하지 않았습니다. 문제가 되는 기능을 제거한 후 더 많은 기능을 추가하여 오류가 발생하지 않았습니다. MT4 컴파일러를 통해 EX4 파일의 링크를 해제할 뿐만 아니라 이 기능을 제거해야만 제대로 작동합니다.
3) 재귀는 많은 호출을 통해 실행되고 결과는 스택에 남습니다. 스택은 인수 '지수'가 기하급수적으로 증가함에 따라 선형적으로 점근적으로 증가합니다. 잠재적으로 스택이 한계에 도달하여 오버플로가 발생할 수 있습니다. "스택 오버플로" 오류는 이 함수의 실행과 무관하게 나타납니다.
따라서 MT4 컴파일러가 EA 실행 중 잠재적인 스택 오버플로를 방지하는 언어에서 허용되지 않는 [일부 클래스] 재귀를 감지하는 장치를 가질 수 있습니다.
차트에 표시되는 EA의 세부 정보(설정)
ordermodify()가 성공적인지 확인하기
전역 변수 대체
파일이 존재하는지 감지하는 방법: EA에서 FileOpen(...)을 사용하여 파일을 읽고 다음을 사용하여 오류를 얻을 수 있다는 것을 알고 있습니다.