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

 
Leo59 :

Print()를 사용하여 테스터의 로그에 무언가를 인쇄할 수 없습니다. 그리고 어떻게 합니까?

다음은 EA의 OnInit() 코드입니다.

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
   SymbolSelect ( "EURJPY" , true );
   Print ( __FUNCTION__ , ", " , TimeToString ( TimeCurrent ()));
   SymbolSelect ( "USDJPY" , true );
//---
   return ( INIT_SUCCEEDED );
  }


그런 다음 중단점을 설정하고(1단계) 백테스트를 시작합니다 (2단계).

초기화()

테스터에서 결과를 얻습니다.

2016.11 . 23 13 : 02 : 24.191 2016.06 . 13 00 : 00 : 00    OnInit , 2016.06 . 13 00 : 00
 

Vladimir Karputov :

그런 다음 중단점을 설정하고(1단계) 백테스트를 시작합니다 (2단계).

이상하지만 나에게는 숫자 "2"로 표시된 이 파란색 버튼이 활성화되어 있지 않습니다. 내가 MT4에 있기 때문일까요?
 
그러나 그럼에도 불구하고 이미 다음과 같이 작성된 경우:


클라이언트 단말의 전략 테스터에서 일부 기능의 동작에 제한이 있습니다.

Print() 및 PrintFormat() 함수

성능을 향상시키기 위해 EA 매개변수를 최적화할 때 Print()PrintFormat() 함수가 실행되지 않습니다. 예외는 이러한 함수가 OnInit() 핸들러 내에서 사용되는 경우입니다. 이렇게 하면 오류가 발생할 때 오류의 원인을 쉽게 찾을 수 있습니다.


그렇다면 OnInit() 핸들러 내부 Print() 함수 가 평소처럼 작동하지 않는 이유는 무엇입니까?

그리고 일반적으로 최적화 모드의 init()에 있는 다른 사용자 정의 함수에 대해서는?
 
Leo59 :
이상하지만 나에게는 숫자 "2"로 표시된 이 파란색 버튼이 활성화되어 있지 않습니다. 내가 MT4에 있기 때문일까요?

예, 그렇기 때문에 HISTORY에 대한 Expert Advisors를 자유롭게 테스트할 수 있습니다. 즉, 2016.06.20에서 2016.11.11 사이의 기간을 선택하고 침착하게 단계별로 디버그하고 변수의 변경 사항을 관찰하지만 수행할 수 없습니다. 이것.

더 이상 지원되지 않는 이전 터미널에 계속 앉아 있을 가치가 있습니까? 아니면 이미 최신 MetaTrader 5 터미널을 사용해야 합니까? 결국, 헤징은 이미 MetaTrader 5에 나타났습니다.   MetaTrader 5 거래 플랫폼은 헤징을 받았습니다 .

 
Vladimir Karputov :

예, 이것이 내가 HISTORY에 대한 모든 Expert Advisors를 자유롭게 테스트할 수 있는 이유입니다. 즉, 2016.06.20에서 2016.11.11 사이의 기간을 선택하고 침착하게 단계별로 디버그하고 변수의 변화를 관찰 하지만 당신은 할 수 없습니다 . 이렇게 하세요 .

더 이상 지원되지 않는 이전 터미널에 계속 앉아 있을 가치가 있습니까? 아니면 이미 최신 MetaTrader 5 터미널을 사용해야 합니까? 결국, 헤징은 이미 MetaTrader 5에 나타났습니다.   MetaTrader 5 거래 플랫폼은 헤징을 받았습니다 .

왜 MT4에서 침착하게 디버그하고 침착하게 단계별로 디버그하고 변수의 변화를 관찰할 수 있습니까? 내가 무엇을 잘못하고 있지?
 
Artyom Trishkin :
왜 MT4에서 침착하게 디버그하고 침착하게 단계별로 디버그하고 변수의 변화를 관찰할 수 있습니까? 내가 무엇을 잘못하고 있지?
잘못하고 있는 것: 너무 빨리 읽거나 의도적으로 텍스트를 건너뜁니다.
 
에게!!!!

필수 질문:

OnInit() 핸들러 내부 Print() 함수 가 평소처럼 작동하지 않는 이유는 무엇입니까? 그리고 일반적으로 최적화 모드에서 init()의 다른 사용자 정의 함수는 어떻습니까?

 
Leo59 :
에게!!!!

필수 질문:

OnInit() 핸들러 내부 Print() 함수 가 평소처럼 작동하지 않는 이유는 무엇입니까? 그리고 일반적으로 최적화 모드에서 init()의 다른 사용자 정의 함수는 어떻습니까?

모든 것은 이미 위에서 설명했습니다. 일하고 작동합니다. 그리고 그는 당신에게 예를 주었습니다.

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

초보자의 질문

블라디미르 카르푸토프 , 2016.11.23 12:07

다음은 EA의 OnInit() 코드입니다.

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
   SymbolSelect ( "EURJPY" , true );
   Print ( __FUNCTION__ , ", " , TimeToString ( TimeCurrent ()));
   SymbolSelect ( "USDJPY" , true );
//---
   return ( INIT_SUCCEEDED );
  }


그런 다음 중단점을 설정하고(1단계) 백테스트를 시작합니다 (2단계).

초기화()

테스터에서 결과를 얻습니다.

2016.11 . 23 13 : 02 : 24.191 2016.06 . 13 00 : 00 : 00    OnInit , 2016.06 . 13 00 : 00

 
Vladimir Karputov :

모든 것은 이미 위에서 설명했습니다. 일하고 작동합니다. 그리고 그는 당신에게 예를 주었습니다.


Vladimir는 중단점이 있고 터미널의 테스터가 아니라 MetaEditor에서 테스트를 시작하는 예에서 표준이 아닙니다.

반복합니다:

1. OnInit() 핸들러 내부 Print() 함수 가 평소처럼 작동하지 않는 이유는 무엇입니까?

2. 다른 사용자 정의 함수는 최적화 모드의 init()에서 어떻게 작동합니까?

 
Leo59 :
Vladimir는 중단점이 있고 터미널의 테스터가 아니라 MetaEditor에서 테스트를 시작하는 예에서 표준이 아닙니다.

반복합니다:

1. OnInit() 핸들러 내부 Print() 함수 가 평소처럼 작동하지 않는 이유는 무엇입니까?

2. 다른 사용자 정의 함수는 최적화 모드의 init()에서 어떻게 작동합니까?

터미널을 켜본 적이 없는 것 같습니다.

다음은 EA의 OnInit() 코드입니다.

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int   OnInit ()
  {
    SymbolSelect ( "EURJPY" , true );
    Print ( __FUNCTION__ , ", " , TimeToString ( TimeCurrent ()));
    SymbolSelect ( "USDJPY" , true );
//---
    return ( INIT_SUCCEEDED );
  }

단계별로. 1단계 - 터미널에서 테스터 실행(단일 패스), 백테스팅, 시각화:

1 단계

전략 테스터에서 다음 결과를 얻습니다.

2 단계

사유: