Automated Trading Championship 2007: 전문가 고문의 일반적인 실수 - 페이지 7

 

8월 말부터 거의 매일 자동으로 전문가가 테스트를 통과하고 참여가 승인되었다는 자동 메시지가 이메일로 전송됩니다.

한 달 동안 변경되지 않은 동일한 파일에 대한 지속적인 자동 검사의 의미에 대해 묻고 싶습니다. 새 버전의 파일이 로드된 경우, 특히 현재 버전의 Expert Advisor가 성공적으로 확인을 통과한 경우에만 Expert Advisor를 다시 확인하도록 서버에 지시할 수 있습니까?

원칙적으로 이것은 정말로 나를 괴롭히지 않지만 작성자에게 알림이 전송 된 동일한 파일에 대한 현재 반복 검사의 의미를 이해하고 싶습니다.

 
Expert Advisors 테스트 일주일 전에 데모 작업 결과와 관련하여 코드를 약간 수정하기로 결정했기 때문에 Expert Advisor를 삭제했습니다. 그런 다음 (테스트가 시작되었을 때) Expert Advisors Advisor가 성공적으로 테스트 및 승인되었습니다. - 오류 -0 등
질문이 있는데요 삭제하면 어떤 EA를 테스트하셨나요??
그리고 이제 메시지가 계속해서 오고 있습니다.

Expert Advisor의 확인이 완료되었습니다. 전문가 테스트 보고서:
----------------------
2007.09.08 19:31 로딩중
잘못된 구성
0분 0초
오류: 1

아직 업그레이드된 EA 코드를 추가하지 않았지만. 받아 적기를 바랍니다. 고맙습니다.
 
Renat :
다음 :
저것들. 두 번 그들은 전문가가 테스트를 성공적으로 통과했고 나는 등록되었다는 이메일을 저에게 보냈고 ... 세 번째에는 코드에 오류가 있다고 말했습니다. ..전문가의 코드를 왜 변경해야 합니까, 한 번 내 프로필에 업로드 했습니까?
결과로 판단하면 EA는 마진 콜을 받았습니다. 나는 아무 말도 할 수없는 동안. 내일 아침에 다음 점검이 완료되어 결과를 확인하겠습니다.

테스트 결과를 기다리는 최적화된 EA... 시뮬레이션 품질을 낮추면 더 나은 결과를 얻을 수 있습니다. .. 90%에서 전문가가 실제로 마진 콜을 잡았지만 이전에 MK가 어떻게 두 번이나 나갔는지 명확하지 않습니다.
 
folver :
레나트 :
다음 :
저것들. 두 번 그들은 전문가가 테스트를 성공적으로 통과했고 나는 등록되었다는 이메일을 나에게 보냈고 세 번째에는 코드에 오류가 있다고 말했습니다. ..전문가의 코드를 왜 변경해야 합니까, 한 번 내 프로필에 업로드 했습니까?
결과로 판단하면 EA는 마진 콜을 받았습니다. 나는 아무 말도 할 수없는 동안. 내일 아침에 다음 점검이 완료되어 결과를 확인하겠습니다.

테스트 결과를 기다리는 최적화된 EA... 시뮬레이션 품질을 낮추면 더 나은 결과를 얻을 수 있습니다. .. 90%에서 전문가가 실제로 마진 콜을 잡았지만 이전에 MK가 어떻게 두 번이나 나갔는지 명확하지 않습니다.
분명히 전문가는 항상 수익성이 없었습니다. 그러나 요점은 우리가 며칠 전에 마진 콜을 오류로 표시하기 시작했다는 것입니다(수익성이 보장되지 않는 Expert Advisor를 수락하는 이유) - 이것이 처음 두 개의 검사가 "오류 없음"인 이유입니다.

이제부터는 생성된 로그의 양이 너무 많으면 오류로 간주됩니다. 8개월간의 표준 테스트 중 64MB 이상의 로그가 생성될 경우 전문가의 참여가 불가능합니다. 현재 일부 전문가는 로그에 수백 메가 바이트의 쓸모없는 메시지를 생성하기 때문에 이것은 강제 조치입니다. 챔피언십 웹사이트에 실시간으로 전문가 로그를 게시하기 때문에 이러한 로그의 양은 절대 허용되지 않습니다. 작년에 한 참가자는 자격이 박탈되었으며, 그의 Expert Advisor는 하루에 약 30GB의 로그를 생성했습니다.
 
solandr :

원칙적으로 이것은 정말로 나를 괴롭히지 않지만 작성자에게 알림이 전송 된 동일한 파일에 대한 현재 반복 검사의 의미를 이해하고 싶습니다.

우리는 거의 매일 스크립트를 편집하고 새로운 유형의 진단 및 오류 제어를 추가합니다. 이것이 우리가 주기적으로 전체 재점검을 실행하는 이유입니다. 일반 모드에서는 수정된 Expert Advisors만 다시 확인됩니다.
 
Renat :

이제부터는 생성된 로그의 양이 너무 많으면 오류로 간주됩니다. 8개월간의 표준 테스트 중 64MB 이상의 로그가 생성될 경우 전문가의 참여가 불가능합니다. 현재 일부 전문가는 로그에 수백 메가 바이트의 쓸모없는 메시지를 생성하기 때문에 이것은 강제 조치입니다. 챔피언십 웹사이트에 실시간으로 전문가 로그를 게시하기 때문에 이러한 로그의 양은 절대 허용되지 않습니다. 작년에 한 참가자는 자격이 박탈되었으며, 그의 Expert Advisor는 하루에 약 30GB의 로그를 생성했습니다.
내 보고서에 따르면 8개월 동안의 로그는 249MB입니다. 또한 쓸모없는 메시지가 없으며 수정 로그와 추적 시 열기 및 닫기 주문만 표시됩니다.
터미널(또는 코드)에서 "쓸모 없는 메시지" 출력을 비활성화할 수 있습니까?
또한 후행을 사용하는 대부분의 Expert Advisors는 이 한계를 넘을 것이라고 생각합니다. 다시, 다시 실행하기 위해 ... 적어도 한 달 전에 이것을 말할 수 있었습니까?
 
abadan :
내 보고서에 따르면 8개월 동안의 로그는 249MB입니다. 또한 쓸모없는 메시지가 없으며 수정 로그와 추적 시 열기 및 닫기 주문만 표시됩니다.
수정 메시지가 250바이트(여백 포함)를 사용한다고 가정해 보겠습니다.
그런 다음 Expert Advisor가 8개월 동안 백만 번 이상 주문을 수정한다는 것이 밝혀졌습니다!
하루에 6000 개 이상 수정하거나 시간당 250개 이상 수정합니다.


이 모든 것이 "유용한" 게시물입니까?!
 
komposter :
아바단 :
내 보고서에 따르면 8개월 동안의 로그는 249MB입니다. 또한 쓸모없는 메시지가 없으며 수정 로그와 추적 시 열기 및 닫기 주문만 표시됩니다.


수정 메시지가 250바이트(여백 포함)를 사용한다고 가정해 보겠습니다.
그런 다음 Expert Advisor가 8개월 동안 백만 번 이상 주문을 수정한다는 것이 밝혀졌습니다!
하루에 6000 개 이상 수정하거나 시간당 250개 이상 수정합니다.


이 모든 것이 "유용한" 게시물입니까?!



죄송합니다 전문가 확인하다가 방금 쪽지받아서 혼동했습니다. 물론 249MB가 아니라 249kB입니다. 나는 거의 나 자신을 두려워했다.
 

작은 질문 - 테스트 중에 오류가 없고 전문가가 허용되지만 챔피언십 중에 오류가 발생하기 시작하면 전문가가 실격됩니까?

그리고 오류 1이 있는 사람들을 위한 약간의 조언, 예를 들어 후행 정지 조건에서 비정규화된 값을 비교하면 가격이 표시되지는 않았지만 OrderModify에 신호를 줄 수 있다는 사실을 알아차렸습니다(특히 Expert Advisor를 준비할 때). 실제로 변경된 결과 Expert Advisor는 동일한 값과 각각 오류 1로 OrderModify()를 실행합니다.

나는 이것을 전에 눈치 채지 못했고 그러한 코드를 가진 전문가는 지난 챔피언십에서 오류를주지 않았지만 이제는 오류 1을주었습니다.

                  if(OrderStopLoss()<(Bid-TrailingPoints*Point)) {
                     OrderModify(.......);
 게다가 디버그 프린트는 로그에 "1.97550000 < 1.97550000"을 주었다... 이유는 모르겠지만 이 상황에서 빠져나가는 방법은 이렇습니다. 
                  if( NormalizeDouble((Bid-TrailingPoints*Point)-OrderStopLoss(),nDigits)>0) {
                     OrderModify(.......);
그건 그렇고, 내가 좋은 조언을 본 곳에서 값 차이의 정규화 된 결과를 필요한 오류와 비교하는 것과 같은 비교 작업을 수행하는 사람 (Rosh의 광산)이 기억나지 않습니다. 누군가 버그를 수정하는 데 도움이 되길 바랍니다.
 
간단하게 수행할 수 있습니다.
 bool  modifyResult ;                    
oldSL = OrderStopLoss () ;
newSL = Bid - TrailingStop * Point ;
if ( MathAbs ( newSL - oldSL ) > Point ) 
{
modifyResult = OrderModify ( OrderTicket () , OrderOpenPrice () , NewSL , OrderTakeProfit () , 0 , Yellow ) ;
if ( ! modifyResult ) Print ( " TrailingStop:Ошибка модифации " , GetLastError () , "  oldSL= " , oldSL , "   newSL= " , newSL ) ;
}

이전 값이 새 값과 적어도 한 포인트 차이가 나는 경우에만 후행이 수행됩니다.