MetaTrader 5 전략 테스터: 오류, 버그, 개선 제안 - 페이지 15

 
Slava :

로컬 에이전트 프로세스는 마지막 시작 후 5분 동안 지속됩니다(시각 모드의 에이전트에는 적용되지 않음).

귀하의 경우 어떤 이유로 일반 모드에서 시작된 로컬 에이전트가 비주얼 모드에서 다시 시작할 수 없습니다

직접 재현해 봅시다.

재생할 수 없습니다. 방금 뭔가 잘못 된 것 같습니다
 
Slava :
재생할 수 없습니다. 방금 뭔가 잘못 된 것 같습니다

예, 상황을 재현하는 것은 어렵습니다. 예를 들어 오늘날에는 입력 매개변수가 여러 번 재설정되었습니다. Visualizer를 닫으려고 하면 Visualizer가 멈춥니다. 고의로 반복하지 마십시오.

 
Slava :

무슨 상관이야? 최적화 후에도 5분 동안 지속됩니다.

마켓리뷰 창에서 원하는 상품을 좌클릭 후 LMB를 누른 상태에서 테스터 창으로 마우스 드래그

2019.10.14 13:14:26.068 시험 장치 에이전트가 준비되지 않았으며 최적화가 시작되지 않았습니다.
2019.10.14 19:01:43.867 시험 장치 RTS-12.19: 기록 틱의 예비 다운로드가 시작되었습니다. 시간이 꽤 오래 걸릴 수 있습니다.
2019.10.14 19:01:43.867 시험 장치 RTS-12.19: 히스토리 틱의 예비 다운로드 완료
2019.10.14 19:01:43.876 시험 장치 RTS-12.19: 2019.08.26 00:00부터 틱 데이터 시작
2019.10.14 19:01:43.876 코어 1 테스터 에이전트 시작 오류


첫 번째 줄은 캐릭터를 드래그하기 전에 작성된 것입니다. 나머지 항목은 권장 사항에 따라 기호를 끌어 테스트를 시작하는 중입니다.

 
현재 MetaTrader 5 전략 테스터 는 MQ 팀에서 심층 수정을 진행하고 있습니다. 심도 있는 처리를 하고 처리를 하는 것이 아니라 글을 쓰는 사람은 로봇인가 작가 로봇인가 아직 완성되지 않았을 뿐이다.
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
KENT3004 :
2019.10.14 13:14:26.068 시험 장치 에이전트가 준비되지 않았으며 최적화가 시작되지 않았습니다.
2019.10.14 19:01:43.867 시험 장치 RTS-12.19: 기록 틱의 예비 다운로드가 시작되었습니다. 시간이 꽤 오래 걸릴 수 있습니다.
2019.10.14 19:01:43.867 시험 장치 RTS-12.19: 히스토리 틱의 예비 다운로드 완료
2019.10.14 19:01:43.876 시험 장치 RTS-12.19: 2019.08.26 00:00부터 틱 데이터 시작
2019.10.14 19:01:43.876 코어 1 테스터 에이전트 시작 오류


첫 번째 줄은 캐릭터를 드래그하기 전에 작성된 것입니다. 나머지 항목은 권장 사항에 따라 기호를 끌어 테스트를 시작하는 중입니다.

첫 번째 줄은 준비 상태에 있는 테스트 에이전트가 없다고 말합니다.
 
Slava :
첫 번째 줄은 준비 상태에 있는 테스트 에이전트가 없다고 말합니다.

그것이 바로 문제입니다! 최적화 후에는 에이전트가 비활성화됩니다(Disablet). 때로는 하나 또는 둘이지만 4를 모두 껐습니다. 수동으로 시작하고 잠시 후 모든 것이 반복됩니다. 문제를 해결하는 방법은 분명하지만 이를 정상으로 간주하는 것은 불가능할 것입니다.

시장 검토의 기호가 자동으로 추가되지 않는 이유는 아직 명확하지 않습니다.

 
KENT3004 :

그것이 바로 문제입니다! 최적화 후에는 에이전트가 비활성화됩니다(Disablet). 때로는 하나 또는 둘이지만 4를 모두 껐습니다. 수동으로 시작하고 잠시 후 모든 것이 반복됩니다. 문제를 해결하는 방법은 분명하지만 이를 정상으로 간주하는 것은 불가능할 것입니다.

시장 검토의 기호가 자동으로 추가되지 않는 이유는 아직 명확하지 않습니다.

우리는 지금 무엇을 논의하고 있습니까? 에이전트를 비활성화하거나 테스트/최적화에서 기호를 사용할 수 있습니까?

 
유전자 최적화에서는 많은 매개변수를 사용합니다. 옵션 수가 너무 많아 과학적 표기법(6.8768769e+21)으로 표시되면 0세대 이후 최적화가 에이전트의 절반(8개 중 4개)으로 계속됩니다. 로그에 언급이 없습니다. 최적화 자체는 괜찮지만 절반 로드에서는 두 배 더 깁니다.
 
Edgar :
유전자 최적화에서는 많은 매개변수를 사용합니다. 옵션 수가 너무 많아 과학적 표기법(6.8768769e+21)으로 표시되면 0세대 이후 최적화가 에이전트의 절반(8개 중 4개)으로 계속됩니다. 로그에 언급이 없습니다. 최적화 자체는 괜찮지만 절반 로드에서는 두 배 더 깁니다.
이 문제는 이전 빌드의 분기에서 이미 제기되었습니다. 그래서 수정되지 않았습니다. 내 목발을 찾았습니다. 일부 에이전트(내 경우에는 10개 중 3개)를 끄고 0번 반복 후에 켜면 모든 것이 잘 됩니다. 때로는 프로세스에서 진실이 발생하고 일부 에이전트는 여전히 중지되지만 드물게 솔루션 알고리즘이 동일합니다.
 
이것이 올바른 공식이라면
 double ProfitPlus = 0 ;   // Профит неотрицательных закрытых позиций.
double ProfitMinus = 0 ; // Профит отрицательных закрытых позиций.

int AmountPlus = 0 ;   // Количество неотрицательных закрытых позиций.
int AmountMinus = 0 ; // Количество отрицательных закрытых позиций.

for ( int i = OrdersHistoryTotal() - 1 ; i >= 0 ; i--)
   if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY) && (OrderType() <= OP_SELL))
  {
     const double Profit = OrderProfit() + OrderCommission() + OrderSwap();
    
     if (Profit >= 0 )
    {
      ProfitPlus += Profit;
      AmountPlus++;
    }
     else
    {
      ProfitMinus += Profit;
      AmountMinus++;
    }      
  }

const double PF = ProfitMinus ? -ProfitPlus / ProfitMinus : DBL_MAX ; // Профит-фактор.
const double Profit = ProfitPlus + ProfitMinus;                       // Профит


, 그러면 테스터는 완전히 다른 방식으로 이러한 지표를 계산합니다. 나는 이 공식과 테스터가 보여주는 것(이익 제외) 사이의 결과에 현저한 차이가 있습니다.

나는 당신이 그것을 올바르게 얻을 것을 제안합니다. 캐치는 정확히 MT5가 수익성 있는 거래로 간주하는 것입니다.