MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 507

 
lil_lil :

MTF 표시기, 외부 설정에서 H1을 설정하고 M15를 해도에 첨부합니다. 신호가 4개의 막대 동안 깜박입니다. 막대 H1이 닫힐 때 신호가 깜박이지 않습니다. M15에서 신호가 수신된 막대 4에서 깜박임이 멈춥니다. M1에 놓으면 그에 따라 60바에서 깜박임을 멈추게 되므로 설정에서 선택한 기간과 인디케이터가 부착된 기간의 차트에 따라 N이 변하도록 i + N 인덱스를 계산해야 합니다.

코드가 모두 있습니까?

 

안녕하세요. 이해할 수 없습니다. 죄송합니다. 변호인 여러분, 도와주세요.

따라서 CCandle과 같은 클래스가 있습니다. 이 클래스는 이 클래스의 모든 객체에 대해 동일한 매개변수를 갖습니다. 이 매개변수는 OnInit()에서 초기화할 수 있으며 이 클래스의 모든 객체에 대해 동일합니다. 따라서 새 개체가 생성될 때마다 초기화하지 않도록 올바르게 수행하려면 어떻게 해야 합니까? 그것들이 모두 CCandle::Init() 함수에 있다고 가정해 봅시다. 나는 생각할 수 없다.

 
Juer :

안녕하세요. 이해할 수 없습니다. 죄송합니다. 변호인 여러분, 도와주세요.

따라서 CCandle과 같은 클래스가 있습니다. 이 클래스는 이 클래스의 모든 객체에 대해 동일한 매개변수를 갖습니다. 이 매개변수는 OnInit()에서 초기화할 수 있으며 이 클래스의 모든 객체에 대해 동일합니다. 따라서 새 개체가 생성될 때마다 초기화하지 않도록 올바르게 수행하려면 어떻게 해야 합니까? 그것들이 모두 CCandle::Init() 함수에 있다고 가정해 봅시다. 나는 생각할 수 없다.

이것은 클래스 생성자에 있는 초기화 목록에서 수행됩니다.

 class CCandle
{
   int       m_nA;
   double    m_fB;
   datetime m_dtC;


   void CCandle::CCandle( void );
};

CCandle::CCandle( void )
            : m_nA( 0 )
            , m_fB( 0.0 )
            , m_dtC( 0 )
{
}
 
Juer :

안녕하세요. 이해할 수 없습니다. 죄송합니다. 변호인 여러분, 도와주세요.

따라서 CCandle과 같은 클래스가 있습니다. 이 클래스는 이 클래스의 모든 객체에 대해 동일한 매개변수를 갖습니다. 이 매개변수는 OnInit()에서 초기화할 수 있으며 이 클래스의 모든 객체에 대해 동일합니다. 따라서 새 개체가 생성될 때마다 초기화하지 않도록 올바르게 수행하려면 어떻게 해야 합니까? 그것들이 모두 CCandle::Init() 함수에 있다고 가정해 봅시다. 나는 생각할 수 없다.

클래스에서 매개변수 생성자를 만들고 필요한 매개변수를 전달하여 객체를 초기화합니다.
 
나는 어떠한 것도 이해하지 못했다. 개체를 초기화하는 것은 문제가 되지 않습니다. 주어진 클래스의 객체에 대해 한 번 초기화하려면 어떻게 해야 합니까? 즉, 새 개체가 생성되고 매개변수는 각각의 새 개체에 대해 매번 초기화할 필요 없이 이미 값으로 초기화됩니다.
 
동료들, 제발, 루프 본문에서 return 문을 사용하는 것이 합법적입니까? 예를 들어 주기가 있는 함수가 있습니다. 어떤 시점에서 우리는 어떤 값을 반환해야 하고 그로 인해 함수를 종료해야 합니다. break 를 사용한 다음 return( value) 을 사용하는 것이 맞습니다. 그러나 즉시 return( value ) 이 가능합니까?
 
Juer :
나는 어떠한 것도 이해하지 못했다. 개체를 초기화하는 것은 문제가 되지 않습니다. 주어진 클래스의 객체에 대해 한 번 초기화하려면 어떻게 해야 합니까? 즉, 새 개체가 생성되고 매개변수는 각각의 새 개체에 대해 매번 초기화할 필요 없이 이미 값으로 초기화됩니다.
매개변수는 존재하는 것으로 초기화될 수 있습니다.
 
lsv107 :
동료들, 제발, 루프 본문에서 return 문을 사용하는 것이 합법적입니까? 예를 들어 주기가 있는 함수가 있습니다. 어떤 시점에서 우리는 어떤 값을 반환해야 하고 그로 인해 함수를 종료해야 합니다. break 를 사용한 다음 return( value) 을 사용하는 것이 맞습니다. 그러나 즉시 return( value ) 이 가능합니까?
사이클을 종료하는 데 방해가 되는 것은 없습니다.
 
Artyom Trishkin :
매개변수는 존재하는 것으로 초기화될 수 있습니다.

질문의 진술은 어떻게 이해할 수 있습니까? 같은 초기화 감각.

 
Artyom Trishkin :
사이클을 종료하는 데 방해가 되는 것은 없습니다.

루프가 함수 내에서 활성 상태로 남아 있고 return 문 이 활성 루프에서 호출 지점으로만 제어를 전달하는 것이 두려웠습니다. 함수가 다시 호출되면(재귀) 스택 오버플로의 위험이 있습니다. 이것이 바로 Pascal의 방식이며 일반적으로 구조화 프로그래밍의 규칙에 따라 루프를 순차적으로 완료한 다음 함수를 종료해야 합니다. 함수와 함께 return이 루프를 종료하면 훌륭하지만 긴 휴식 후에 프로그래밍으로 돌아갔기 때문에 명확히 할 필요가 있었습니다.