28!!! 통화 쌍, 1명의 전문가. 다시 성배, 그러나 아무도 이것을 나에게 보여주지 않았습니다. + 데모 계정 - 페이지 12

 
Rosh :
나는 "2007.07.10에서 2007.07.14 까지 EURUSD에 대해 테스트했고, 별도의 테스트로 2007.07.09에서 2007.07.14 까지" 범위에서 질문했는데 차이가 없습니다.


또한 최신 빌드로 업그레이드해야 했습니다. :-) 참으로 시간의 문제가 사라지고 좋네요. 그러나 밝혀진 바와 같이 이야기는 여기서 끝나지 않습니다.

나는 같은 기간에 EA를 실행했습니다. M1과 H1/D1에서 High와 Low 사이에 불일치가 없습니다. 여기에서 우리의 결과는 귀하와 일치합니다. 참고 - 평소의 빗질되지 않은 데이터에 대해 테스트를 실행했습니다. 동기화 등이 없습니다. 따라서 이것은 합리적인 불일치가 될 수 없습니다.

그런 다음 만일을 대비하여(글쎄요, 저는 성격이 좋지 않습니다) 다른 간격으로 시도하기로 결정했습니다. 그리고 사건은 아직 끝나지 않았다.

간격 2007.08.06 ~ 2007.08.11 을 시도하십시오. 실제로는 마지막 주입니다. 또한 비교는 D1이 아니라 H1입니다. 고문의 텍스트에서 4명의 운영자는 주석 처리되어야 하고 4명은 주석 처리되지 않아야 합니다. 미래를 엿볼 수 있다는 가능성이 증명된 것은 아니다. 그러나 결함이 있습니다.

그리고 결과적 으로 매주 간격으로 문제가 없다고 해서 문제가 전혀 없는 것은 아니므로 훨씬 더 큰 간격으로 테스트를 실행할 가치가 있습니까? 예를 들어, 1년 또는 6개월?

 
Simple Prospection Expert Advisor의 코드를 검토했습니다. 불행히도 완벽하지 않은 것으로 밝혀져 약간 수정했습니다.

 
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start ()
  {   
//----
  if ( start )
   {
     curHi = NormalizeDouble ( Bid , Digits ) ;
     curLo = NormalizeDouble ( Bid , Digits ) ;
     curM1 = TimeMinute ( TimeCurrent ()) ;
     curH1 = TimeHour ( TimeCurrent ()) ;
     curD1 = TimeDay ( TimeCurrent ()) ;
     start = false ;
   }
 
  mm = TimeMinute ( TimeCurrent ()) ;
  hh = TimeHour ( TimeCurrent ()) ;
  dd = TimeDay ( TimeCurrent ()) ;
  if ( mm != curM1 )
  {  if ( hh != curH1 )
     {  if ( dd != curD1 )
        {  
           Print ( " Новые сутки наступили " ) ;
           curHi = NormalizeDouble ( Bid , Digits ) ;
           curLo = NormalizeDouble ( Bid , Digits ) ;
           curD1 = dd ;
        }
        //curHi=NormalizeDouble(Bid,Digits);
        //curLo=NormalizeDouble(Bid,Digits);
        curH1 = hh ;
     }
     curM1 = mm ;
  }
  if ( NormalizeDouble ( Bid , Digits ) == 0 ) Print ( TimeToStr ( TimeCurrent () , TIME_DATE | TIME_SECONDS ) , "  Bid= " , Bid ) ;
  if ( NormalizeDouble ( Bid , Digits ) > curHi ) curHi = NormalizeDouble ( Bid , Digits ) ;
  if ( NormalizeDouble ( Bid , Digits ) < curLo ) curLo = NormalizeDouble ( Bid , Digits ) ;
  //HiH1 = iHigh(NULL,PERIOD_H1,0);
  //LoH1 =  iLow(NULL,PERIOD_H1,0);
  HiH1 = iHigh ( NULL , PERIOD_D1 , 0 ) ;
  LoH1 =  iLow ( NULL , PERIOD_D1 , 0 ) ;
  HiH1 = NormalizeDouble ( HiH1 , Digits ) ;
  LoH1 = NormalizeDouble ( LoH1 , Digits ) ;
 
  str = TimeToStr ( TimeCurrent () , TIME_DATE | TIME_SECONDS ) ;
  mHi = " , curHi= " + DoubleToStr ( curHi , Digits ) ;
  mLo = " , curLo= " + DoubleToStr ( curLo , Digits ) ;
  hHi = " , HiH1= "  + DoubleToStr ( HiH1 , Digits ) ;
  hLo = " , LoH1= "  + DoubleToStr ( LoH1 , Digits ) ;
  if ( curLo == 0 ) Print ( " Curlo= " , curLo ) ;
  if ( curHi == 0 ) Print ( " curHi= " , curHi ) ;
 
  if ( HiH1 != curHi || LoH1 != curLo ) 
  {  //Print(str,mHi,hHi,mLo,hLo);
     if ( handle > 0 ) FileWrite ( handle , TimeToStr ( TimeCurrent () , TIME_DATE | TIME_SECONDS ) , curHi , HiH1 , curLo , LoH1 ) ;
  }
//----
   return ( 0 ) ;
  }
 
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit ()
{  Print ( " Работа закончена " ) ;
   if ( handle > 0 )
      { FileWrite ( handle , " записано " , TimeToStr ( TimeLocal ())) ;
      FileClose ( handle ) ;
      } 
//---- done
   return ( 0 ) ;
}
귀하의 코드에서 새로운 날이라는 사실은 실제로 두 번째 날에 너무 늦게 수정되었지만 시뮬레이션의 정확성 검증은 테스트 시작 직후에 시작되었습니다. 이 비대칭을 제거합니다. 나는 부울 변수 start를 도입했는데, 그 도움으로 테스트를 시작할 때 테스트된 모든 값을 수정했습니다.

  if ( start )
   {
     curHi = NormalizeDouble ( Bid , Digits ) ;
     curLo = NormalizeDouble ( Bid , Digits ) ;
     curM1 = TimeMinute ( TimeCurrent ()) ;
     curH1 = TimeHour ( TimeCurrent ()) ;
     curD1 = TimeDay ( TimeCurrent ()) ;
     start = false ;
   }
보시다시피 한 번만 작동하며 더 이상 고문의 작업에 영향을 미치지 않습니다. 미래에는 모든 것이 알고리즘에 따라 진행됩니다. 초기 초기화가 완료되지 않은 경우 테스트 라인

  if ( curLo == 0 ) Print ( " Curlo= " , curLo ) ;
  if ( curHi == 0 ) Print ( " curHi= " , curHi ) ;
curHi가 0이 아닌 동안 값 curLo=0을 제공합니다. 이것은 간단하게 설명됩니다. curLo와 curHi의 두 변수는 초기화되지 않았기 때문에 처음에는 0과 같습니다. 첫 번째 틱에서 조건

  if ( NormalizeDouble ( Bid , Digits ) > curHi ) curHi = NormalizeDouble ( Bid , Digits ) ;
현재 입찰가가 0보다 크므로 curHi가 이미 0과 다릅니다. 동시에 현재 입찰가는 0보다 작을 수 없으며(curLo가 초기화되지 않았으므로 0과 같음) 조건

  if ( NormalizeDouble ( Bid , Digits ) < curLo ) curLo = NormalizeDouble ( Bid , Digits ) ;
어떤 식으로든 curLo를 변경할 수 없습니다. 내 버전의 어드바이저를 직접 실행하고 오류 파일 Fu.xls에 테스터에서 마지막으로 시뮬레이트된 견적의 시간인 한 줄만 포함되어 있는지 확인하십시오.

전체 코드는 메시지에 첨부되어 있으며 게시물에 맞지 않으므로 다운로드하는 것이 좋습니다.
 

물론 수정에 대해 Rosh 에게 감사드립니다. 하지만 제 생각에는 그럴 필요가 없었습니다.

눈치채지 못했을 수도 있지만 init() 함수의 내 코드에는 다음 블록이 있습니다.

  curHi=0.0;
  curLo=1000.0;
  curD1=-1;
  curH1=-1;
  curM1=-1;

이 블록을 실행한 결과 Expert Advisor 실행 초기에는 어떤 조건도 충족되지 않습니다.

if (mm!=curM1)
  {  if (hh!=curH1)
     {  if (dd!=curD1)
 

따라서 Expert Advisor가 시작되는 역사에 관계없이 항상 새로운 분, 새로운 시간, 새로운 날이 될 것입니다. 그리고 언급된 블록의 첫 번째 명령문 쌍은 귀하의 명령문이 다음과 같은 이유를 설명합니다. "이것은 간단하게 설명됩니다. curLo와 curHi 둘 다 초기화되지 않았기 때문에 두 변수 모두 처음에는 0과 같습니다." 현실과 일치하지 않습니다. 첫 번째 틱의 입찰가가 0보다 크고 1000보다 작기 때문에 해당 조건부 연산자가 모두 트리거되고 curLo 및 curHi 변수는 if(start) { ...} 차단하다.

귀하의 버전도 꽤 작동하지만 알고리즘에 어떤 식으로든 영향을 미치지 않습니다. 따라서 이 재작업은 오류의 유무에 영향을 줄 수 없습니다.

내 이전 게시물에 다시주의를 기울이십시오. 문제는 새로운 날로 전환할 때나 어드바이저를 시작할 때가 아니라 t/f H1을 테스트할 때 발생합니다. 테스트를 위해 제안된 간격에서 문제는 2007년 8월 10일에 한 번만 발생하며 17:00부터 17:03까지 3분 동안 지속됩니다. 이 시간 동안 M1과 H1에 대해 High 값의 불일치로 28개의 틱이 생성됩니다. 해당 사진을 첨부합니다.

어렵지 않다면 제가 요청한 간격으로 어드바이저(수정한 코드)를 실행해 보세요. 주석 사용을 수정하면 됩니다. 이제 코드에서 t/f D1과 비교되며 이 모드에는 오류가 없습니다. H1과 비교해야 합니다.

 

특히 병리학 적 사례에서 정확성을 유지하기 위해 코드를 약간 변경했습니다 (2007.01.01의 경우 H1 및 D1과 유사하게 M1에 촛불이 하나만 있음). 2007.01.01부터 2007.08.11까지 테스트를 진행했습니다. D1의 경우 H1 - 2의 경우 4개의 잘못된 경우가 있었습니다. 모든 오류는 가장 높은 t/f에서 새 캔들 로 전환할 때 발생합니다. 원하는 사람은 확인할 수 있습니다.

미래를 내다볼 수 있는 기회를 주지 않습니다. 적어도 내가 테스트 한 엿보기 버전에서는.

파일:
future-2h.mq4  4 kb
 
Yurixx :

물론 수정에 대해 Rosh 에게 감사드립니다. 하지만 제 생각에는 그럴 필요가 없었습니다.

눈치채지 못했을 수도 있지만 init() 함수의 내 코드에는 다음 블록이 있습니다.

  curHi=0.0;
  curLo=1000.0;
  curD1=-1;
  curH1=-1;
  curM1=-1;

어렵지 않다면 제가 요청한 간격으로 어드바이저(수정한 코드)를 실행해 보세요. 주석 사용을 수정하면 됩니다. 이제 코드에서 t/f D1과 비교되며 이 모드에는 오류가 없습니다. H1과 비교해야 합니다.


코드를 직접 게시하는 것이 좋습니다. H1에서 내 코드를 테스트할 때 값이 초기화되지 않습니다.
  if ( Period () > PERIOD_M1 )
  {  Print ( " Период тестирования не соответствует задаче " ) ;
     return ( - 1 ) ;
  }
  Print ( " Период тестирования " , Period () , " минут " ) ;
  FileWrite ( handle , " Date " , " Time " , " curHi " , " HiH1 " , " curLo " , " LoH1 " ) ;
  nn = D ' 2007.07.12 23 : 58 : 59 ';
  FileWrite ( handle , TimeToStr ( nn , TIME_DATE | TIME_SECONDS ) ,
                   TimeSeconds ( nn ) , TimeMinute ( nn ) , TimeHour ( nn ) , TimeDay ( nn )) ;
  nn = D ' 2007.07.13 00 : 58 : 59 ';
  FileWrite ( handle , TimeToStr ( nn , TIME_DATE | TIME_SECONDS ) ,
                   TimeSeconds ( nn ) , TimeMinute ( nn ) , TimeHour ( nn ) , TimeDay ( nn )) ;
  nn = D ' 2007.07.13 00 : 02 : 00 ';
  FileWrite ( handle , TimeToStr ( nn , TIME_DATE | TIME_SECONDS ) ,
                   TimeSeconds ( nn ) , TimeMinute ( nn ) , TimeHour ( nn ) , TimeDay ( nn )) ;
 
  curHi = 0.0 ;
  curLo = 1000.0 ;
  curD1 =- 1 ;
  curH1 =- 1 ;
  curM1 =- 1 ;

즉, 내가 쓴 그대로입니다. 무슨 내용인지 알 수 없도록 코드를 배치하는 것이 어렵다면 스스로 알아내십시오. 텔레파시 연습 외에 다른 할 일이 있습니다.
 

왜 화를 내시는지 정말 이해가 안됩니다.

마지막 페이지에 썼듯이 Expert Advisor를 결과와 함께 게시했을 때 M1 에서만 테스트하기 위한 것입니다. 동시에 자신이 생성하는 High와 Low를 상위 전화번호의 High와 Low와 비교하며 , 시작(시작) 텍스트에서 주석이 어떻게 배열 되느냐에 따라 H1 또는 D1이 될 수 있습니다. ) 절차.

나는 정직하게 고백하고 return (-1)을 넣습니다. init() 프로시저에서 이것은 어드바이저가 완전히 작동하지 않도록 하여 M1에서만 시작할 수 있다고 생각했습니다. 그러나 이제 귀하의 게시물 덕분에 모든 전화에서 실행할 수 있다고 확신합니다. 이와 관련하여 저는 강조하고 싶습니다. 이 고문의 아이디어는 주니어 tel / f(특히 -M1)에서 시니어 t/f(특히 -H1 또는 D1)까지의 미래를 엿보기 위한 시도 입니다. 따라서 M1에서만 실행해야 합니다. H1에 대한 테스트가 무엇을 보여줄 수 있는지, 나도 모릅니다.

귀하의 게시물 직전에 어드바이저 코드를 게시했습니다. 이 코드는 M1 데이터와 H1 데이터를 직접 비교하는 데 사용할 수 있습니다. 어드바이저의 텍스트에는 M1 데이터를 D1 데이터와 비교하기 위해 수행해야 하는 (기본) 변경 사항에 대한 명확한 표시가 있습니다. 그래서 여기서 당신이 무엇에 불만족하는지 나에게 분명하지 않습니다.

그리고 마지막. 귀하의 코드는 테스터뿐만 아니라 내에서도 실행하기에 적합합니다. 유일한 질문은 그것을하는 방법입니다.

다른 할 일이 있으면 감히 당신을 방해할 수 없습니다. 개인적인 요청이 아니라 테스터의 일부 결함 발견 가능성과 관련하여 MQ 대표로서 연락을 드렸습니다.

 
Yurixx :

왜 화를 내시는지 정말 이해가 안됩니다.

마지막 페이지에 썼듯이 Expert Advisor를 결과와 함께 게시했을 때 M1 에서만 테스트하기 위한 것입니다. 동시에 자신이 생성한 High와 Low를 상위 전화번호의 High와 Low를 비교하며 , 시작(시작) 텍스트에서 주석이 어떻게 배열 되느냐에 따라 H1 또는 D1이 될 수 있습니다. ) 절차.

나는 정직하게 고백하고 return (-1)을 넣습니다. init() 프로시저에서 이것은 어드바이저가 완전히 작동하지 않도록 하여 M1에서만 시작할 수 있다고 생각했습니다. 그러나 이제 귀하의 게시물 덕분에 모든 전화에서 실행할 수 있다고 확신합니다. 이와 관련하여 저는 강조하고 싶습니다. 이 고문의 아이디어는 주니어 tel / f(특히 -M1)에서 시니어 t/f(특히 -H1 또는 D1)까지의 미래를 엿보기 위한 시도 입니다. 따라서 M1에서만 실행해야 합니다. H1에 대한 테스트가 무엇을 보여줄 수 있는지, 나도 모릅니다.

귀하의 게시물 직전에 어드바이저 코드를 게시했습니다. 이 코드는 M1 데이터와 H1 데이터를 직접 비교하는 데 사용할 수 있습니다. 어드바이저의 텍스트에는 M1 데이터를 D1 데이터와 비교하기 위해 수행해야 하는 (기본) 변경 사항에 대한 명확한 표시가 있습니다. 그래서 여기서 당신이 무엇에 불만족하는지 나에게 분명하지 않습니다.

그리고 마지막. 귀하의 코드는 테스터뿐만 아니라 내에서도 실행하기에 적합합니다. 유일한 질문은 그것을하는 방법입니다.

다른 할 일이 있으면 감히 당신을 방해할 수 없습니다. 개인적인 요청이 아니라 테스터의 일부 결함 발견 가능성과 관련하여 MQ 대표로서 연락을 드렸습니다.

이 포스트에서, 나는 아직도 내가 그것을 실행해야 하는 시간 프레임을 이해하지 못했기 때문입니다. 코드를 방해하지 않고 세 시간 프레임에 시작됩니다.

2007.08.14 16:29:03 2007.08.10 23:59 future-2h EURUSD,일일: 작업완료
2007.08.14 16:29:03 2007.08.10 23:59 future-2h EURUSD,일일: 2007.08. 10 23:59:59, curHi=1.3693, HiH1=1.3702, curLo=1.3693, LoH1=1.3689
2007.08.14 16:29:02 2007.08.03 23:59 future-2h EURUSD,일일: 2007.08. 03 23:59:59, curHi=1.3773, HiH1=1.3787, curLo=1.3773, LoH1=1.3772
2007.08.14 16:29:02 2007.07.27 23:59 future-2h EURUSD,일일: 2007.07. 27 23:59:59, curHi=1.3635, HiH1=1.3641, curLo=1.3635, LoH1=1.3627
2007.08.14 16:29:02 2007.07.20 23:59 future-2h EURUSD,일일: 2007.07. 20 23:59:59, curHi=1.3826, HiH1=1.3827, curLo=1.3826, LoH1=1.3821
2007.08.14 16:29:01 2007.07.16 23:59 future-2h EURUSD,일일: 2007.07. 16 23:59:59, curHi=1.3772, HiH1=1.3773, curLo=1.3772, LoH1=1.3772
2007.08.14 16:29:01 2007.07.13 23:59 future-2h EURUSD,일일: 2007.07. 13 23:59:59, curHi=1.3782, HiH1=1.3787, curLo=1.3782, LoH1=1.3780
2007.08.14 16:29:01 2007.07.06 23:59 future-2h EURUSD,일일: 2007.07. 06 23:59:59, curHi=1.3625, HiH1=1.3630, curLo=1.3625, LoH1=1.3623
2007.08.14 16:29:01 2007.07.02 00:00 future-2h EURUSD,Daily: 테스트 기간이 작업과 일치하지 않습니다.
2007.08.14 16:29:01 future-2h 테스트 시작
2007.08.14 16:28:34 2007.08.10 22:59 future-2h EURUSD,H1: 작업완료
2007.08.14 16:28:32 2007.07.02 00:00 future-2h EURUSD,H1: 테스트 기간이 작업과 맞지 않음
2007.08.14 16:28:32 future-2h 테스트 시작
2007.08.14 16:28:22 2007.08.10 22:59 future-2h EURUSD,M1: 작업 완료
2007.08.14 16:28:19 2007.07.02 00:00 future-2h EURUSD,M1: 테스트 기간 1분
2007.08.14 16:28:19 future-2h 테스트 시작
2007.08.14 16:24:28 2007.08.10 22:59 future-2h EURUSD,M1: 작업 완료
2007.08.14 16:24:28 2007.08.06 00:00 future-2h EURUSD,M1: 테스트 기간 1분
 
이제 변경됨
  if ( NormalizeDouble ( Bid , Digits ) > curHi ) curHi = NormalizeDouble ( Bid , Digits ) ;
  if ( NormalizeDouble ( Bid , Digits ) < curLo ) curLo = NormalizeDouble ( Bid , Digits ) ;
  HiH1 = iHigh ( NULL , PERIOD_H1 , 0 ) ;      // Закомментировать при тесте D1
  LoH1 =  iLow ( NULL , PERIOD_H1 , 0 ) ;      // Закомментировать при тесте D1
  //HiH1 = iHigh(NULL,PERIOD_D1,0);    // Раскомментировать при тесте D1
  //LoH1 =  iLow(NULL,PERIOD_D1,0);    // Раскомментировать при тесте D1



  else if ( hh != curH1 )
  {  //curHi=NormalizeDouble(Bid,Digits);  // Закомментировать при тесте D1
     //curLo=NormalizeDouble(Bid,Digits);  // Закомментировать при тесте D1
     curH1 = hh ;
     curM1 = mm ;
  }
  else if ( mm != curM1 ) curM1 = mm ;
  
  if ( NormalizeDouble ( Bid , Digits ) > curHi ) curHi = NormalizeDouble ( Bid , Digits ) ;
  if ( NormalizeDouble ( Bid , Digits ) < curLo ) curLo = NormalizeDouble ( Bid , Digits ) ;
  //HiH1 = iHigh(NULL,PERIOD_H1,0);      // Закомментировать при тесте D1
  //LoH1 =  iLow(NULL,PERIOD_H1,0);      // Закомментировать при тесте D1
  HiH1 = iHigh ( NULL , PERIOD_D1 , 0 ) ;    // Раскомментировать при тесте D1
  LoH1 =  iLow ( NULL , PERIOD_D1 , 0 ) ;    // Раскомментировать при тесте D1
2007.07.01부터 2007.08.11까지 같은 간격으로 세 기간 동안 다시 실행했습니다.


2007.08.14 16:32:03 2007.08.10 23:59 future-2h EURUSD,일일: 작업완료
2007.08.14 16:32:03 2007.07.27 23:59 future-2h EURUSD,일일: 2007.07. 27 23:59:59, curHi=1.3753, HiH1=1.3753, curLo=1.3627, LoH1=1.3626
2007.08.14 16:32:01 2007.07.02 00:00 future-2h EURUSD,Daily: 테스트 기간이 작업과 일치하지 않습니다.
2007.08.14 16:32:01 future-2h 테스트 시작
2007.08.14 16:31:56 2007.08.10 22:59 future-2h EURUSD,H1: 작업완료
2007.08.14 16:31:54 2007.07.02 00:00 future-2h EURUSD,H1: 테스트 기간이 작업과 맞지 않음
2007.08.14 16:31:54 future-2h 테스트 시작
2007.08.14 16:31:48 2007.08.10 22:59 future-2h EURUSD,M1: 작업 완료
2007.08.14 16:31:46 2007.07.02 00:00 future-2h EURUSD,M1: 테스트 기간 1분
2007.08.14 16:31:46 future-2h 테스트 시작
그것은 무엇을 말하는가? 오류 유무에 대해 코드를 다시 분석할 필요가 있습니다.
 

분명한. 당신은 모든 것을 올바르게했습니다. 그리고 이 어드바이저는 M1에서만 실행해야 합니다. 확실히 썼던 것 같아요. Advisor는 M1에서 시작되고 동시에 H1 또는 D1 기간과 M1 기간의 High 및 Low에 대한 데이터의 일치를 테스트합니다. 미래를 엿볼 가능성이 있다면 선배 전화번호의 데이터가 M1에서 이 상한과 하한에 도달하는 것보다 먼저 상한과 하한을 알아낼 수 있을 것이다. 그게 다야.

테스트 D1의 결과는 내 것과 일치하며 D1에 대한 이 간격에서도 오류가 발생하지 않았습니다. 그러나 H1 테스트는 내가 조금 더 일찍 받고 게시 한 것을 확인하지 않습니다. 코드를 분석할 필요가 없습니다. 보시는 바와 같이 테스터의 정상 동작을 확인합니다.

이것으로 충분하다고 생각되면 거기서 멈출 수 있습니다. 기간이 너무 짧기 때문이 아니라 이것이 우발적이지 않은지 확인하려면 동일한 두 테스트를 더 긴 기간 동안 실행하십시오. 예를 들어 1년 동안 또는 2007년 초부터.

추신

만일을 위해, 나는 반복한다. M1 기간에만 테스트합니다. 모든 티키 모드에서만 가능합니다 .

참여해주셔서 감사합니다.

 
테스트 조언자에게 감사드립니다. 테스트 옵션이 많고 항상 무엇을 확인해야 하는지 이해하지 못하기 때문에 자신의 버전을 찾기 어려울 때가 있습니다. 그리고 짜증 ... 알다시피, 당신은 자신의 사람들에게 더 자주 짜증을냅니다. 왜냐하면 당신은 그들의 이해에 의존하기 때문입니다. 요구사항은 무의식적으로 더 까다로워지고, 남을 용서하면 스스로 무너진다. 죄송합니다.

이 테스트는 MetaTrader 4의 테스터를 개선하는 데 정말 도움이 됩니다. 특히 소스와 관련하여.