오류, 버그, 질문 - 페이지 1233

 
4-ke에 오래 문의했는데 조롱 말고는 답이 안오네요))

잘못된 변환 시 StringToTimeTimeGMT ()반환합니다 . 예를 들어 StringToTime (" 0" ) - 인수가 구문 분석되지 않은 경우.

예를 들어 StringToTime (" 10/24/2014") - D'2014.10.24 00:00:00'을 사용하여 인수를 구문 분석할 때 일반 시간을 반환합니다.

이건 괜찮아? 왜 TimeGMT ()입니까? 이것은 MT4 및 내 컴퓨터의 현재 시간 에서 -2시간입니다.

 
오래 전에 오류 4806에 대한 질문이 있었습니다. " 사용자 지정 표시기 에 CopyBuffer 기능을 배치하면 오류 4806이 발생하는 이유는 무엇입니까?

EA 코드에서 동일한 매개변수를 사용하는 동일한 기능이 제대로 작동합니까? "

내 코드는 디버거에서 작동하지만 일반 모드에서는 작동하지 않습니다.

정상적으로 사용할 수 없는 경우 iXXX와 같은 표시기가 필요한 이유는 무엇입니까?

 
tyn :
오래 전에 오류 4806에 대한 질문이 있었습니다. " 사용자 지정 표시기 에 CopyBuffer 기능을 배치하면 오류 4806이 발생하는 이유는 무엇입니까?

EA 코드에서 동일한 매개변수를 사용하는 동일한 기능이 제대로 작동합니까? "

내 코드는 디버거에서 작동하지만 일반 모드에서는 작동하지 않습니다.

정상적으로 사용할 수 없는 경우 iXXX와 같은 표시기가 필요한 이유는 무엇입니까?

안녕하세요. CopyBuffer에 대한 데이터는 표시기가 실행 중인 동일한 TF에서 가져온 것입니까?

BarsCalculated() 함수를 사용하여 문제를 해결해 보셨습니까?

 
marketeer :
특정 클래스에 속하는 경우 MQL OOP에서 포인터 유형을 확인하는 방법(JavaScript의 instanceof 유형 또는 C++의 typeid)
CObject *ob;
datetime t;

typename (ob); // CObject
typename (t);   // datetime
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
  • www.mql5.com
Основы языка / Объектно-ориентированное программирование / Шаблоны функций - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
설정된 가격 대신 가격 레이블 에 대해 사용자 정의 값(표시되는)을 설정할 수 있습니까? 그렇다면 어떻게?
 
Tapochun :

안녕하세요. CopyBuffer에 대한 데이터는 표시기가 실행 중인 동일한 TF에서 가져온 것입니까?

BarsCalculated() 함수를 사용하여 문제를 해결해 보셨습니까?

질문해 주셔서 감사합니다. 데이터는 D1의 iATR에서 가져왔으며 주 표시기는 더 작은 시간 프레임에서 작동하며 BarsCalculated()도 -1과 동일한 오류를 반환합니다. 내 생각에는 기능이 있지만 표시기가 없습니다(런타임 시). 동일한 기기의 다른 창에 표시기를 생성하면 모든 것이 작동합니다. 디버그 모드에서도 작동합니다. 하지만 내 질문은 이것이 버그입니까 아니면 내가 뭔가를 놓치고 있습니까?
 

안녕하세요.

시스템 dll에서 함수 호출 문제. 작업은 특정 포트에 매달려 메시지를 수신하는 간단한 TCP 서버를 MQL5에 작성하는 것입니다.

ws2_32.dll에서 WSAStartup(), WSAClenup(), socket(), bind(), accept(), listen(), recv() 함수를 가져왔습니다. 서버를 중지하려고 할 때까지 모든 것이 정확하게 작동합니다. 서버를 중지하고 스크립트를 올바르게 종료하려고 시도한 후 터미널이 충돌합니다.

과학적 찌르기의 방법을 이용하여 recv() 함수에 이르렀습니다.

첨부 파일에 (171) 줄이 있습니다.

   int bytesCnt = recv(clientSocket, rcvBuffer, RCVBUFFSIZE, 0 );

형식으로 가져오는 경우:

   int bytesCnt = 10 ; //recv(clientSocket, rcvBuffer, RCVBUFFSIZE, 0);

서버는 오류 없이 중지됩니다. 나는 f-th를 사용하여 네트워크와 작업하는 예를 MSDN에서 보았고 모든 것을 유추했습니다.

누구든지 문제를 해결하는 방법에 대한 아이디어가 있습니까?

파일:
 
tyn :
질문해 주셔서 감사합니다. 데이터는 D1의 iATR에서 가져왔으며 주 표시기는 더 작은 시간 프레임에서 작동하며 BarsCalculated()도 -1과 동일한 오류를 반환합니다. 내 생각에는 기능이 있지만 표시기가 없습니다(런타임 시). 동일한 기기의 다른 창에 표시기를 생성하면 모든 것이 작동합니다. 디버그 모드에서도 작동합니다. 하지만 내 질문은 이것이 버그입니까 아니면 내가 뭔가를 놓치고 있습니까?

나는 최근에이 문제로 어려움을 겪었습니다. 결정했습니다. 얼마나 최적인지는 모르겠지만 결정했습니다. iFractals에서 데이터만 가져왔는데 상관없습니다. 왜 TF에 대해 물었습니까? 내 관찰에 따르면 다음과 같은 일이 발생합니다. 예를 들어 표시기는 M15에서 작동합니다. 지표 데이터가 M1에서 M15까지 요청되면 모든 것이 정상이며 요청 시 데이터를 즉시 사용할 수 있습니다(첫 번째 호출이 아닌 경우). 데이터가 M30에서 요청되면(반복하지만 표시기 자체는 M15 TF에서 작동함) M30을 통해 데이터에 액세스하는 순간 새 양초 가 없습니다(예비 요청이 필요하거나 데이터가 틱임) 늦은). 아래와 같이 결정했습니다. 현재 촛불에서 BarsCalculated()의 결과를 기억합니다. 다음에 BarsCalculated()가 1만큼 값을 더 반환하자마자(새 양초가 형성됨) BarsCalculated()의 새 값을 기억하고 데이터를 복사합니다. 그러나이 순간 (이전 TF의 표시기 데이터 모양)은 현재 TF의 새 양초 형성과 일치하지 않습니다.

예, BarsCalculated()는 데이터가 전혀 없을 때 -1을 반환합니다. 내가 아는 한 이는 첫 번째 실행에서만 발생합니다. 즉, 인디케이터의 핸들을 받고 즉시 데이터를 요청할 때입니다. 또한 기다려야 합니다.  

 

표시기 핸들을 생성한 직후에는 데이터가 준비되지 않았으므로 데이터를 요청할 수 없습니다. 초기화 및 재계산 프로세스는 복잡하고 많은 요인에 따라 달라집니다.

올바른 전략은 onit에서 핸들을 만들고 첫 번째 틱이 도착할 때 데이터로 작업하는 것입니다.

 
Renat :

표시기 핸들을 생성한 직후에는 데이터가 준비되지 않았으므로 데이터를 요청할 수 없습니다. 초기화 및 재계산 프로세스는 복잡하고 많은 요인에 따라 달라집니다.

올바른 전략은 onit에서 핸들을 만들고 첫 번째 틱이 도착할 때 데이터로 작업하는 것입니다.

그럼 그런 질문. 표시기가 M15에서 실행 중인 경우. 새로운 촛불이 생겼습니다. M15 및 M30에 대한 데이터를 요청할 때 동시에 사용할 수 있어야 합니까?
사유: