초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 1187

 
leonerd :

클래스를 기본 클래스로 선언한 다음 조건에 따라 상속받은 클래스 중 하나로 재정의할 수 있습니까?

목표는 코드에서 클래스 이름을 동일하게 유지하는 것입니다.

그리고 테스터를 정의하는 데 사용할 지시문을 알려주십시오.

그래서 가능합니까?

 #include <NewsFilter.mqh>
//...
   if ( MQLInfoInteger ( MQL_TESTER ))
      CNewsFilterTester news_filter;
   else
      CNewsFilter       news_filter;
//---
   news_filter.Init( Symbol (),MagicNumber);
 
Artyom Trishkin :

고맙습니다. 예, 하지만 여기서 얻은 news_filter 개체는 정의되지 않을 수 있습니다. 코드의 어디에서나 사용할 수 있으려면 전역으로 선언해야 합니다. 어떻게 될 것인가?

CNewsFilter       news_filter;
void OnInit ()
  {
  }
 
leonerd :

고맙습니다. 예, 하지만 여기서 얻은 news_filter 개체는 정의되지 않을 수 있습니다. 코드의 어디에서나 사용할 수 있으려면 전역으로 선언해야 합니다. 어떻게 될 것인가?

어떤 경우에 정의되지 않습니까?

 
Artyom Trishkin :

어떤 경우에 정의되지 않습니까?

 #include <NewsFilter.mqh>

void OnInit ()
  {
//...
   if ( MQLInfoInteger ( MQL_TESTER ))
      CNewsFilterTester news_filter;
   else
      CNewsFilter       news_filter;
//---
   news_filter.Init( Symbol (),MagicNumber);
  }
void OnTick ()
  {
   news_filter.Check()...
  }
 

이 연산자의 실행 논리와 해당 조건의 표현을 이해하는 데 도움을 주세요.


CTrade         m_trade;

CPositionInfo  m_position;

if (!m_trade.PositionClose(m_position.Ticket()))

그것이 티켓에 의해 정의된 위치를 닫지 않는다면?

먼저 위치 티켓을 얻습니다. -> 프로그램 이 해당 위치를 닫으 려고 시도합니다. -> 반환된 부울 값이 반전됩니다.

바르게?

 
odyn :

이 연산자의 실행 논리와 해당 조건의 표현을 이해하는 데 도움을 주세요.


그것이 티켓에 의해 정의된 위치를 닫지 않는다면?

먼저 위치 티켓을 얻습니다. -> 프로그램 이 해당 위치를 닫으 려고 시도합니다. -> 반환된 부울 값이 반전됩니다.

바르게?

-> 지정된 티켓이 있는 위치가 닫혀 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

조건은 다음과 같습니다. 지정된 티켓이 있는 위치가 마감되지 않은 경우...

 
Сергей Таболин :

-> 지정된 티켓이 있는 위치가 닫혀 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

조건은 다음과 같습니다. 지정된 티켓이 있는 위치가 마감되지 않은 경우...

문제는 프로그램 이 포지션 을 청산하려고 하는지 아닌지입니다.

 
odyn :

문제는 프로그램 이 포지션 을 청산하려고 하는지 아닌지입니다.

예, 그는 노력하고 있습니다.

 
Сергей Таболин :

예, 그는 노력하고 있습니다.

답변 해주셔서 감사합니다

 

설명 해주십시오.

OnTradeTransaction 기능.

고문에 있어야 합니까?

그렇지 않다면 어떤 경우에 코드에 포함되어야 합니까? 그리고 왜?

사유: