mql5 언어의 특징, 미묘함 및 작업 방법 - 페이지 194

 

안녕하세요! 전문가에게 도움을 요청하세요!

문서에서

전역 변수

"전역 변수는 클라이언트 단말기의 메모리에 프로그램을 로드한 후 Init 이벤트의 첫 번째 처리 전에 한 번 초기화됩니다. 클래스 개체인 전역 변수의 경우 초기화 중에 해당 생성자가 호출됩니다."

그런데 사실 차트 주기를 변경할 때 지표에서 전역 객체 클래스의 생성자를 호출합니다.

표시기가 시작된 후 생성자가 한 번 호출되도록 하려면 어떻게 해야 합니까?

 
Gudgeon :

그런데 사실 차트 주기를 변경할 때 지표에서 객체 클래스의 생성자를 호출합니다.

표시기가 시작된 후 생성자가 한 번 호출되도록 하려면 어떻게 해야 합니까?

표시기의 TF 변경 - 프로그램의 새 복사본 시작.

 
fxsaber :

표시기의 TF 변경 - 프로그램의 새 복사본 시작.

고맙습니다!

예기치 않게 설명서가 이해되지 않습니다.

전문가들은 괜찮습니다.

 
다음과 같이 프로그램을 컴파일하는 데 걸리는 시간을 확인할 수 있습니다.
LastModifyEX5() - __DATETIME__
 
fxsaber :
다음과 같이 프로그램을 컴파일하는 데 걸리는 시간을 확인할 수 있습니다.
그리고 이것은 LastModifyEX5() 무엇입니까? 사이트에서 찾을 수 없습니다.
 
Alexey Viktorov :
그리고 이것은 LastModifyEX5() 무엇입니까? 사이트에서 찾을 수 없습니다.

대부분 WinAPI를 통해 작성해야 합니다. 구현은 여기에서 부차적입니다.

 

친구, 취미 동료!

특정 기간에 특정 지표에 대한 가시성을 프로그래밍 방식으로 설정하는 방법,

다른 TF에 5개의 지표가 더 있을 수 있다는 사실을 고려합니다.

설명을 뒤져보니 매우 간단합니다. help in search 하지만 설명의 검색은 이것이 해결될 수 있는 메커니즘에 대한 결과를 제공하지 않습니다.


사물의 가시성을 설정할 수 있습니다.

 
리미터는 ORDER_TIME_SETUP_MSC 를 변경할 수 있습니다. 부분 실행의 경우 이 속성은 첫 번째(마지막에서 두 번째) 부분 실행 시간과 동일해집니다.
 
이 조건은 테스터에서 항상 작동합니다.
 int OnInit ()
{
   MqlTick Tick;
  
   return ( SymbolInfoTick ( _Symbol , Tick) && ( TimeCurrent () != Tick.time) );
}
이것이 테스터 버그인지 기능인지 말하기 어렵습니다.
 

옛날 옛적에 서버 시간의 GMT 오프셋을 결정하는 방법이 제안 되었습니다. 항상 정확하게 작동하지는 않습니다.

아래는 올바른 버전입니다.

 // Аналог по серверному времени - https://www.mql5.com/ru/docs/dateandtime/timegmtoffset
int TimeServerGMTOffset( void )
{
   MqlCalendarValue Value[ 1 ];
  
   CalendarValueHistoryByEvent ( 840030016 , Value, D'2020.12.03' , D'2020.12.06' );
  
   return (( 13 - ((Value[ 0 ].time / 3600 ) % 24 )) * 3600 );
}

// Аналог по серверному времени - https://www.mql5.com/ru/docs/dateandtime/timegmt
datetime TimeServerGMT( void )
{
   return ( TimeTradeServer () + TimeServerGMTOffset());
}


거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

mql4 언어의 기능, 미묘함 및 작업 방법

fxsaber , 2018.03.29 14:32

애플리케이션

 #define PRINT(A) Print ( #A + " = " + ( string )(A))

void OnStart ()
{  
  PRINT( TimeGMT ());
  PRINT(TimeServerGMT());  
}