// Возвращает true только в случае, если выбран (в тестере) режим по реальным тикам// Перед использованием должен быть хотя бы один OnTick вызван тестеромbool IsRealTicks( void )
{
MqlTick Tick;
return ( SymbolInfoTick ( _Symbol , Tick) && (Tick.volume || !(Tick.flags & TICK_FLAG_LAST )));
}
사용 예
// Советник будет тестироваться только в режиме по реальным тикамvoidOnTick ()
{
staticbool IsRemove = true ;
if (IsRemove)
{
IsRemove = MQLInfoInteger ( MQL_TESTER ) && !IsRealTicks();
if (IsRemove)
{
Print ( "Real ticks mode is needed!" );
ExpertRemove ();
return ;
}
}
//........
}
어떤 GUI를 말씀하시는지 모르겠지만 테스터 창의 옵션 탭 에서 시작 및 중지 필드를 설정할 수 있습니다 . 그리고 테스터는 매개 변수 값의 수를 올바르게 결정합니다.
필드 단계.
필드 단계.
필드 단계.
그 이유는 열거 필드에 어떤 단계의 배수가 아닐 수도 있는 고유한 값이 주어질 수 있기 때문일 수 있습니다.
그 이유는 열거 필드에 어떤 단계의 배수가 아닐 수도 있는 고유한 값이 주어질 수 있기 때문일 수 있습니다.
예, 이것은 버그가 아닙니다. 그래서 이 스레드에서 시작된 것입니다. 그리고 최적화 단계는 정말 필요한 경우 enum용 MQL을 통해 설정됩니다.
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
라이브러리: TesterBenchmark
fxsaber , 2017.11.22 16:54
각 MT5 옵션에 한 줄만 삽입합니다.
본격적인 가속 67%, 수공예 108%!
하지만 그게 핵심이 아닙니다. 한 줄은 고문의 속도를 높이는 것으로 나타났습니다! 그리고 이것은 Comment가 어떤 역할도 하지 않는 Optimizer에 있습니다.
사용 예
OnInit(OnTick 제외)에서 수행하는 방법 - 모르겠습니다.언급된 주제에 대한 대화
최적화 모드에서 이 두 줄이 어떻게 다른지 예를 들어 설명해 주시겠습니까?
첫 번째 경우에 최적화할 때 인쇄하기 전에 문자열 표현식이 계산됩니다. 인쇄 자체가 호출되지만 작동하지 않습니다.
두 번째 경우에는 인쇄가 호출되지만 작동하지 않습니다. 그리고 문자열 i + d로의 변환은 작동하지 않습니다
간단한 테스트를 통해 첫 번째와 두 번째 호출의 결과는 시간과 출력 면에서 동일합니다.
저것들. 최적화 모드에서 하나의 입력 매개변수를 문자열로 구성하는 것보다 쉼표와 함께 Print를 사용하는 것이 훨씬 저렴합니다.
반면에 Print 내에서 모든 것을 한 줄로 형성하면 Optimization 모드에서 다음을 통해 형성을 쉽게 끊을 수 있습니다
그러나 쉼표를 사용하면 이 구성이 작동하지 않습니다. 또한 이러한 구성은 최적화 모드에서도 이 기능을 끕니다.
따라서 (그리고 다른 이유로) Print 내부에서 정말 중요한 함수를 호출하지 않는 것이 좋습니다. 결과적으로 최적화 모드에서 성능을 중시한다면 여전히 다음과 같은 작업을 수행해야 합니다.
언급된 주제에 대한 대화
저것들. 최적화 모드에서 하나의 입력 매개변수를 문자열로 구성하는 것보다 쉼표와 함께 Print를 사용하는 것이 훨씬 저렴합니다.
반면에 Print 내에서 모든 것을 한 줄로 형성하면 Optimization 모드에서 다음을 통해 형성을 쉽게 끊을 수 있습니다
그러나 쉼표를 사용하면 이 구성이 작동하지 않습니다. 또한 이러한 구성은 최적화 모드에서도 이 기능을 끕니다.
따라서 (그리고 다른 이유로) Print 내부에서 정말 중요한 함수를 호출하지 않는 것이 좋습니다. 결과적으로 최적화 모드에서 성능을 중시한다면 여전히 다음과 같은 작업을 수행해야 합니다.
죄송합니다, 제가 이해하지 못하는 것일까요? 인쇄에서 중요한 기능을 호출하는 이유는 무엇입니까?
금지되지 않습니다.
금지되지 않습니다.
동의한다.
그냥 요점이 뭔지 알고 싶었어?
히스토리에 1000건 이상의 거래가 있을 때 히스토리 수익을 계산하는 히스토리 처리 기능을 호출 할 때 문제가 발생했습니다. + 현재 거래의 이익 추가 - 차트의 정보가 느려지기 시작하고 터미널이 멈춥니다. 저것들. 견적이 지연됩니다.