오류, 버그, 질문 - 페이지 2088

 
Andrey Dik :


최적화가 시작되었지만 실행되지 않고 중단되었습니다...

현재 로그에서:


서비스 데스크에 글을 쓰면 살펴보겠습니다.

추가 정보 필요:

  • 테스트 설정
  • 재생을 위한 Expert Advisor(모든 확인 후 삭제됨)
  • 섬기는 사람

감사해요

 

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

일반 클래스 라이브러리 - 버그, 설명, 질문, 사용법 및 제안

fxsaber , 2017.12.11 12:24

현재 구현이 마음에 들지 않아 수정했습니다. 물론 삐뚤삐뚤합니다. 원본 성경을 얻는 방법?

표준 라이브러리 및 예제의 소스 코드를 복원하기 위해 ME에서 규칙적인 메커니즘을 만들 수 있습니까?

 
fxsaber :

표준 라이브러리 및 예제의 소스 코드를 복원하기 위해 ME에서 규칙적인 메커니즘을 만들 수 있습니까?


다시 설치한 다음 최신 빌드로 업데이트하면 도움이 되지 않습니까?

 
Vladimir Karputov :

다시 설치한 다음 최신 빌드로 업데이트하면 도움이 되지 않습니까?

도움이 되겠지만 오랫동안 설치를 하지 않았습니다. 2개의 .exe 파일이면 충분합니다.

 
fxsaber :

도움이 되겠지만 오랫동안 설치를 하지 않았습니다. 2개의 .exe 파일이면 충분합니다.

깨끗한 성경을 넣고 업데이트할 수 있는 하나의 터미널

작업자가 직접 편집

BeyondCompare(또는 Google에서 유사) - 1초 만에 파일이나 디렉토리의 차이점을 비교합니다. 모든 조각을 원래 코드로 되돌립니다(5초).

새 빌드가 출시될 때 원본 성경의 디렉토리를 저장하면 업데이트할 때마다 수정된 내용을 볼 수 있습니다.

 
Kirill Belousov :

깨끗한 성경을 넣고 업데이트할 수 있는 하나의 터미널

작업자가 직접 편집

BeyondCompare(또는 Google에서 유사) - 1초 만에 파일이나 디렉토리의 차이점을 비교합니다. 모든 조각을 원래 코드로 되돌립니다(5초).

새 빌드가 출시될 때 원본 성경의 디렉토리를 저장하면 업데이트할 때마다 수정된 내용을 볼 수 있습니다.

좋은 물건, 감사합니다!


그리고 MQL5 폴더의 표준 전달을 ZIP 아카이브로 코드베이스에 넣는 것이 좋을 것입니다. 다른 KB 제품과 마찬가지로 ME에서 직접 다운로드하여 설치할 수 있습니다.

 
Alexander :

서비스 데스크에 글을 쓰면 살펴보겠습니다.

추가 정보 필요:

  • 테스트 설정
  • 재생을 위한 Expert Advisor(모든 확인 후 삭제됨)
  • 섬기는 사람

감사해요

미리 다음과 같이 말할 수 있습니다.

1. 이전 빌드에서 모든 것이 잘 작동했습니다.

2. 이 빌드에서는 "실제 틱"을 제외한 모든 모드가 제대로 작동합니다. "실제 틱" 모드에서는 최적화와 단일 테스트가 모두 중단됩니다.

EA는 특정 수의 트랜잭션을 처리하고 그 후에 테스터가 멈춥니다. 프로파일링 결과 모든 시간이 (거의) 주석 처리된 것으로 나타났습니다.

 bool IsNewBar ( string symbol, ENUM_TIMEFRAMES timeframe, bool exact, long &time)
{
   long currentTime = SeriesInfoInteger (symbol, timeframe, SERIES_LASTBAR_DATE ); // все тормоза тут!

  if (exact)
  {
     if (time == 0 )
    {
      time = currentTime;
       return ( false );
    }
     else
    {
       if (currentTime > time)
      {
        time = currentTime;
         return   ( true );
      }
    }
  }
   else
  {
     if (currentTime > time)
    {
      time = currentTime;
       return   ( true );
    }
  }

   return ( false );
}
//——————————————————————————————————————————————————————————————————————————————
서버 RoboForex-MetaTrader 5. 다른 서버에서 시도 - 동일한 문제.
 
Renat Fatkhullin :

Ctrl + F5로 실행을 확인해보자.

에이전트는 첫 번째 호출 후 활성 상태일 가능성이 높고 백그라운드에서 몇 분 동안 정지하고 활성화되어 다음 작업을 기다리기 때문에 다시 시작이 작동합니다.

1703 - 실제.

 
fxsaber :

1703 - 실제.

아직 목록에 없습니다.

 

다음 알고리즘(코드에는 관심이 없고 체계는 중요함)을 알려주세요.

작업은 다음을 수행하는 동안 여러 계약 기간 동안 MOEX의 긴급 섹션에 대한 추가 계산을 위해 분 간격을 얻는 것입니다.

1. 필요한 범위의 경계를 결정합니다.

2. 1분의 이산화로 이 범위를 지나 현재 계약과 시간을 기억한다

3. 고유한 계약 시간 배열 생성

4. 1절에서 얻은 범위를 3절 에서 배열의 각 요소의 경계 내 범위로 나눕니다.

5. 3단계에서 요소 수로 이산화하여 루프에서 분 간격을 요청합니다.

6. 나는 분 간격의 결과 배열을 붙입니다.

내가 왜 이 길을 갔는지, Splice의 미세한 막대와 신선한 범위에서도 간격이 있습니다.

추신. 누군가 더 나은 알고리즘을 제공하면 감사할 것입니다.