선택하면 OrderCheck가 true를 반환합니다. 거래 세션이 열려 있습니다. 그러나 MT5는 수동 및 자동 요청 모두에 동일한 방식으로 맹세하여 retcode = 4를 발행합니다. 터미널에서 모든 것이 정상이라고 말하지만 시도했지만 아무 것도 나오지 않을 때 왜 그러한 상황이 발생합니까? 열리지 않을 것이라는 요청 없이 이해하는 방법은 무엇입니까? 그리고 이 네 번째 반환 코드는 무엇입니까?
그런 코드가 컴파일되어서는 안 된다고 혼자 생각하는 것 같습니다(개인 회원 액세스 오류여야 함)?
class cA;
class cB;
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+class cA
{
//====================private :
//====================//===============//===============
cB *B;
//===============//===============void testfunc( void ){:: Print ( __FUNCSIG__ );}
//====================public :
//====================//===============//===============void test( void )
{
:: Print ( __FUNCSIG__ );
if (:: CheckPointer (:: GetPointer ( this .B))== POINTER_INVALID ) return ;
this .B.testfunc();// Здесь идет вызов private метода объекта B, что вроде как не должно быть возможным
}
//===============//===============void SetB(cB * const b){ this .B=b;}
//===============//===============
};
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+class cB : public cA
{
};
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+intOnInit ()
{
//---
cA A;
cB B;
A.SetB(&B);
A.test();
//---return ( INIT_SUCCEEDED );
}
그런 코드가 컴파일되어서는 안 된다고 혼자 생각하는 것 같습니다(개인 회원 액세스 오류여야 함)?
SD에서는 모든 것이 정상이라고 말하므로 가능합니다 ...
MQL 규칙에 따르면 클래스의 인스턴스는 첫 번째 인스턴스와 동일한 클래스에 속하는 경우 다른 인스턴스의 private 필드 및 메서드에 자유롭게 액세스할 수 있습니다. cB는 cA에서 상속하므로 cB는 cA이므로 cA는 선언된 위치에 관계없이 cB의 모든 private 메서드와 인스턴스 필드에 액세스할 수 있습니다.
MQL 규칙에 따르면 클래스의 인스턴스는 첫 번째 인스턴스와 동일한 클래스에 속하는 경우 다른 인스턴스의 private 필드 및 메서드에 자유롭게 액세스할 수 있습니다. cB는 cA에서 상속하므로 cB는 cA이므로 cA는 선언된 위치에 관계없이 cB의 모든 private 메서드와 인스턴스 필드에 액세스할 수 있습니다.
Andrey Barinov : 고맙습니다. 나는 문서에서 그것을 보지 못했다. 코를 찌를 수 있습니까?
이것은 C++에서도 마찬가지 입니다(MQL은 C++의 이미지와 유사성으로 구축됩니다). 그들이 말했듯이 C++ 개인 정보는 객체 수준이 아니라 클래스 수준입니다. 그렇지 않으면 예를 들어 모든 개인 필드에 대한 특별한 getter 메서드가 없는 복사 생성자를 만드는 것이 불가능합니다.
크롬.
파이어폭스에서는 여전히 상단에 테마를 업데이트했습니다.
그리고 왼쪽에 파란색
크롬에서도 마찬가지입니다. 파란색/회색 아이콘을 자동으로 볼 수 없습니다. 그리고 대담한 유형의 읽지 않은 주제는 나에게 너무 감동을 주어 그것에 대해 쓰기까지 했습니다.
AcePrime-Demo 계정에 대한 흥미로운 사례입니다.
어드바이저 시작
그리고 우리는 손으로 모든 bo-symbol(바이너리 옵션)에 대한 포지션을 열려고 노력합니다. 터미널 로그에서 우리는
'3182780': market sell 1.00 XAUUSDbo '3182780': failed market sell 1.00 XAUUSDbo [Invalid data]
전문가의 기록에는
선택하면 OrderCheck가 true를 반환합니다. 거래 세션이 열려 있습니다. 그러나 MT5는 수동 및 자동 요청 모두에 동일한 방식으로 맹세하여 retcode = 4를 발행합니다. 터미널에서 모든 것이 정상이라고 말하지만 시도했지만 아무 것도 나오지 않을 때 왜 그러한 상황이 발생합니까? 열리지 않을 것이라는 요청 없이 이해하는 방법은 무엇입니까? 그리고 이 네 번째 반환 코드는 무엇입니까?
GetLastError() 반환
ERR_TRADE_SEND_FAILED
4756
거래 요청을 보내지 못했습니다.
모든 것이 문제 없이 재생됩니다.
안녕하세요.
그런 코드가 컴파일되어서는 안 된다고 혼자 생각하는 것 같습니다(개인 회원 액세스 오류여야 함)?
SD에서는 모든 것이 정상이라고 말하므로 가능합니다 ...
안녕하세요.
그런 코드가 컴파일되어서는 안 된다고 혼자 생각하는 것 같습니다(개인 회원 액세스 오류여야 함)?
SD에서는 모든 것이 정상이라고 말하므로 가능합니다 ...
MQL 규칙에 따르면 클래스의 인스턴스는 첫 번째 인스턴스와 동일한 클래스에 속하는 경우 다른 인스턴스의 private 필드 및 메서드에 자유롭게 액세스할 수 있습니다. cB는 cA에서 상속하므로 cB는 cA이므로 cA는 선언된 위치에 관계없이 cB의 모든 private 메서드와 인스턴스 필드에 액세스할 수 있습니다.
MQL 규칙에 따르면 클래스의 인스턴스는 첫 번째 인스턴스와 동일한 클래스에 속하는 경우 다른 인스턴스의 private 필드 및 메서드에 자유롭게 액세스할 수 있습니다. cB는 cA에서 상속하므로 cB는 cA이므로 cA는 선언된 위치에 관계없이 cB의 모든 private 메서드와 인스턴스 필드에 액세스할 수 있습니다.
고맙습니다. 나는 문서에서 그것을 보지 못했다. 코를 찌를 수 있습니까?
고맙습니다. 나는 문서에서 그것을 보지 못했다. 코를 찌를 수 있습니까?
이것은 C++에서도 마찬가지 입니다(MQL은 C++의 이미지와 유사성으로 구축됩니다). 그들이 말했듯이 C++ 개인 정보는 객체 수준이 아니라 클래스 수준입니다. 그렇지 않으면 예를 들어 모든 개인 필드에 대한 특별한 getter 메서드가 없는 복사 생성자를 만드는 것이 불가능합니다.
C++ 에서도 마찬가지입니다