최적화 결과는 단일 테스트와 다릅니다.

 

어드바이저를 최적화하고 있습니다. 그런 다음 결과에 따라 단일 테스트를 실행합니다. 최적화와 단일 테스트의 결과가 항상 일치하는 것은 아닙니다.

시퀀싱:
1. 옵티마이저에서 페어(예: AudUsd)를 선택하고 기간을 2010.08.23 - 2010.10.30으로 설정합니다. 목록의 Expert Advisor와 H1 기간은 이미 선택되어 있습니다. 지금은 Expert Advisor 하나만 테스트 중입니다.
2. 매개변수 최적화 범위를 입력합니다.
3. "Quotes archive"에서 AudUsd에 대한 분 기록을 두 번 클릭하여 엽니다. 다운로드 버튼을 클릭합니다. 다운로드 후 시계를 열고 다시 다운로드를 클릭합니다. "모든 기간을 다시 계산하시겠습니까?"라고 묻습니다. 나는 대답한다 - 예.
4. 4~5개의 매개변수에 대해 최적화를 수행하고 몇 시간을 기다립니다. 최적화 결과 첨부된 아카이브에 "AudUsd_1_optim.txt" 파일이 생성됩니다.
5. "최적화 결과"에서 나에게 맞는 줄을 선택하고(내 예에서는 "AudUsd_1_optim.txt" 파일의 숫자 2183임) 두 번 클릭하여 해당 매개변수를 테스터에 입력합니다. 나는 다른 것을 바꾸거나 만지지 않습니다.
6. 단일 테스트를 시작합니다. 보고서 탭을 보니 이 매개변수 조합에 대한 최적화 결과(162.36/-34.25)와 일치하지 않는 완전히 다른 수익 및 손실(201.78/-116.28)이 표시됩니다. 로그에 하나의 볼륨 불일치 오류가 있지만 내 전략에서는 볼륨이 전혀 사용되지 않으므로 이 오류가 심각하지 않고 결과에 큰 영향을 미치지 않는다고 생각합니다. 거래 수와 기타 모든 것도 다릅니다. 이 테스트의 주문 목록은 "AudUsd_2_Orders.txt" 파일에 있고 로그는 "AudUsd_2.log"에 있습니다.
7. 나는 매우 놀랐다. 점점 익숙해지긴 하지만..
8. 3번 항목을 반복한다
9. 다시 동일한 매개변수를 사용하여 단일 테스트를 실행합니다. 이제 나는 최적화와 동시에 이익과 손실을 얻습니다. 이 테스트의 주문 목록은 "AudUsd_1_Orders.txt" 파일에 있고 로그는 "AudUsd_1.log"에 있습니다.

그리고 두 달 이상 동안(매주 최적화합니다). 이 글리치는 주기적이며 명확한 패턴을 찾지 못했습니다. 최적화 시작 시간과 쌍에 의존하지 않습니다. 최적화 결과와 그에 대한 후속 개별 테스트가 일치하는 경우가 발생하지만 일치하지 않습니다.
솔직히 말하면 이미 지쳤습니다. 밤새도록 무언가를 고려하고 최적화합니다. 그리고 어떤 결과를 믿어야 하는지 명확하지 않기 때문에 다시 최적화해야 합니다. 네, 그리고 우연의 일치라고 해도 버그가 아닌 정확한 버전의 테스터가 걸렸다는 확신은 없습니다.

포럼에서 유사한 주제를 검색하고 읽었음을 즉시 말해야 합니다. Alpari 포럼과 여기에서. 그리고 Yandex에서도요. 나는 몇 주 동안 정보를 찾으려고 노력하고 있습니다. 그러나 내가 찾은 최대값 은 테스트 결과가 의존하는 "플로팅 스프레드"에 대한 개발자의 말이었습니다. 그리고 주말에 전략을 테스트하기 위한 조언(그게 바로 내가 하는 일입니다. 도움이 되지 않습니다). 제 생각에는 이것이 이 문제를 어떻게든 해결하지 않으려는 핑계에 불과한 것 같습니다. 결국 "플로팅 스프레드"라는 주제를 닫으려면 사용자가 재량에 따라 채우는 최적화 매개 변수에 "스프레드"필드를 추가하면 충분하며 이미 적절한 최적화 및 매개변수별 전략 비교. 나는 최적화를 위한 마지막 시장 스프레드를 기억하는 데 전혀 포인트가 없다고 생각합니다.

Alpari 웹사이트에서 최신 버전의 Metatrader를 다운로드했습니다(4.00.226). 정확히 동일한 결함이 동일한 버전의 다른 두 대의 컴퓨터에서 관찰되지만 몇 개월의 차이로 다른 시간에 설치됩니다. 거기에서 설정과 점수는 첫 번째 MT와 동일합니다.
저는 Alpari를 사용하여 하나의 데모 계정에서만 테스트하고 최적화합니다. 다른 계정은 연결하지 않습니다. 설정에는 "Alpari-Demo - Alpari NZ Limited" 서버가 있습니다. 그를 만지지도 않았습니다. 나는 수동으로 따옴표를 변경하지 않으며 내 것으로 대체하지 않습니다. Metatrader는 항상 온라인 상태입니다(인터넷은 항상 컴퓨터에 있습니다). 최적화는 토요일-일요일에 수행됩니다. 이론상으로 확산은 요즘 바뀌지 않아야 하며 "마지막 확산"의 글리치는 분명히 그것과 아무 관련이 없습니다. 첨부파일의 로그는 10월 30일 토요일에 한합니다.
테스트 기간은 항상 명시적으로 지정됩니다.

질문:
1. 어떻게 이것이 가능합니까? 이유는 무엇입니까?
2. 이것이 테스터 결함이라면 언제 수정하시겠습니까? 그리고 지금 이 버전에서 모든 것이 이미 일치하도록 하려면 어떻게 해야 합니까?
3. 이것이 내 잼이라면 내가 무엇을 잘못하고 있으며 어떻게해야합니까?

저는 고문의 전체 실제 코드(여전히 실제 버전일 뿐이며 최적화를 위해 크게 잘림)와 개인 메시지의 테스트 매개변수 세트를 Metatrader 개발자에게 제공할 준비가 되었습니다.

파일:
audusd.zip  116 kb
 

여기 또 다른 예가 있습니다. 방금 UsdJpy 쌍에서 야간 최적화를 살펴보기 시작했습니다. 최적화 직후 아무 것도 변경하지 않고 따옴표를 건드리지 않고 결과 번호 2631(이익 117.07 및 드로우다운 34.86)에서 선택한 매개 변수 값을 테스터에 두 번 클릭하고 이러한 매개 변수를 사용하여 단일 테스트를 시작했습니다. 나는 -3925의 이익과 -4049.04의 드로다운을 만들었습니다. 눈에 띄는 차이...
보고서에서 그는 차트에 약 51개의 불일치를 기록합니다. 에 대한 로그에 51개의 항목이 있습니다. 하지만 모든 항목은 볼륨만 참조하며 지표(지표는 사용하지 않음)에서도 어디에도 사용하지 않습니다.
최적화 및 테스트 기간은 첫 번째 게시물과 동일합니다. 작업 순서는 동일하지만 불일치 오류가 없는지 확인하기 위해 3단계 후에 테스터의 제어 실행이 추가되었습니다. 다른 모든 조건은 동일합니다. 최적화는 토요일부터 일요일까지 밤에 수행되었습니다. 따라서 시장과 스프레드는 동결되어야 합니다.

또 놀랐다. "견적 아카이브"를 열고 이 쌍에서 로드를 클릭하여 모든 기간을 다시 계산할 수 있습니다.
다시 두 번 클릭 하여 최적화 결과 에서 테스터로 매개변수를 대체하고 테스트를 시작합니다. 오, 이제 결과가 최적화와 일치합니다. 보고서와 로그에 불일치 오류가 없습니다.

질문을 추가합니다(계속 번호 매기기):
4. 최적화 후에(그리고 아마도 도중에) 불일치가 어디에서 왔습니까? 최적화 전에 특별히 한 번 테스트를 실행하고 "Quotes Archive"(p.3과 p.4 사이)에 이 쌍을 로드한 후 내 이전 메시지) 불일치가 없었습니까?
5. 모든 최적화 결과가 올바른 견적으로 얻어졌으며 최적화 프로세스에 결함이 없는지 확인하는 방법은 무엇입니까?
6. 볼륨 불일치가 그렇게 중요한 방식으로 볼륨을 사용하지 않는 테스트 결과에 어떤 영향을 미칩니까?

Z.Y. 내 바이러스 백신이 설치되어 작동합니다. 그러나 Metatrader 실행 파일과 모든 하위 폴더와 파일이 있는 전체 폴더는 예외입니다. 다른 컴퓨터에는 바이러스 백신이 전혀 없지만 이러한 결함이 있습니다. 따라서 바이러스 백신은 제외됩니다. 세 대의 다른 컴퓨터에서 동일한 결함. 디스크 및 하드웨어 문제는 물론 주변 프로그램의 영향 가능성도 배제합니다. Metatrader에 문제가 있습니다. 따옴표에 문제가 있습니다.

Z.Z.Y. 근본적으로 다른 다른 전략에 대한 최적화와 정확히 동일한 결함을 관찰했습니다. 따라서 실제로 조언자에게 의존하는 것은 거의 없습니다. 그것은 나에게 그다지 관련이 없었고 조금 테스트하기 전에였습니다. 이제 나는 일주일에 수십 가지 최적화를 수행하고 있으며 더 많이 할 것입니다. 그리고 우리는 실제 돈에 대해 이야기하고 있습니다. 올바른 조치를 알려주거나 테스터 및 옵티마이저를 수정하십시오. 고맙습니다!

아카이브의 파일:
UsdJpy_1_optim.txt - 최적화 결과
UsdJpy_1_Orders.txt - 단일 실행 일치 최적화의 주문(결과) 목록
UsdJpy_1.log - 이 테스트의 로그
UsdJpy_1.htm - 보고
UsdJpy_2_Orders.txt - 큰 손실(불일치 포함)이 있는 단일 실행의 주문(결과) 목록
UsdJpy_2.log - 이 테스트의 로그
UsdJpy_2.htm - 보고

파일:
usdjpy.zip  179 kb
 

이제 더 흥미롭습니다. 이것은 이미 세 번째 컴퓨터와 다른 쌍에 있습니다. 나는 첫 번째 게시물의 계획에 따라 모든 것을 수행합니다. 몇 시간의 최적화 후 결과를 확인합니다. 선택한 매개변수 세트를 두 번 클릭(다른 것은 건드리지 않거나 변경하지 않고)으로 대체하고 동일한 매개변수를 사용하는 최적화 라인의 결과와 완전히 다른 결과를 얻습니다. 나는 따옴표로 된 불일치를 봅니다. 그들은 나타났습니다. 최적화하기 전에 "아카이브"에서 따옴표를로드하고 다시 계산했지만. 좋아요, 인용구를 다시 계산하는 것이 도움이 될 것 같습니다. "모든 기간 재계산"을 시작하고 다시 테스트합니다. 의견 불일치가 사라졌습니다. 그러나 이미 결과의 세 번째 버전을 계산했으며 처음 두 가지와 전혀 일치하지 않습니다. *smiley_with_huge_surprised_eyes*

"아카이브" 및 테스트에서 따옴표를 다시 계산하려고 몇 번 더 시도합니다. 이제 모든 결과가 마지막 세 번째 옵션과 일치합니다. 만세, 우리가 올바른 것을 찾았습니다! 그러나 최적화에 대한 컴퓨터 작업의 반나절이 낭비되었으며 최적화 결과는 분명히 올바르지 않습니다. 즉, 이제 밤에 최적화를 다시 설정해야 하고 다음 주에 적절한 매개변수를 선택하기 위해 아침 일찍 일어나야 합니다. 그럼에도 불구하고 그들의 정확성을 확신하는 것은 불가능합니다.

자세한 내용을 확인했습니다. 첫째, 다양한 옵션에 대한 테스터의 보고서에는 "기록의 막대" 수가 다릅니다. 둘째, 기록에 동일한 수의 막대가 있더라도 다른 결과가 있을 수 있습니다. 셋째, 내 고문은 시간별 양초에서 일하고 시리즈의 첫 번째 주문을 특정 시간 00분에 엄격하게 정시에 엽니다. 열린 촛불에. 그러나 결과의 다른 변형에서 이러한 주문은 다른 가격으로 열립니다. 이것은 내가 첫 번째 메시지에 첨부한 보고서에서 볼 수 있으므로 당분간 더 많은 로그를 게시하지 않습니다. 더 필요한 것이 있으면 게시하겠습니다.

그리고 테스터를 하는 사람은 나뿐인가요?

 

그리고 그들의 재계산 주제가 다루어진 이후로 "Quotes Archive"에 대한 더 많은 질문이 있습니다. 여기에서 자세히 읽거나 내 질문에 대답할 수 있는 곳을 알려주세요.

나는 토요일-일요일에 모든 작업을 수행합니다. 견적 아카이브는 변경되어서는 안 됩니다.

지난 주에 차트 창을 열지 않은 쌍을 엽니다. 즉, 내가 이해하는 한 이번 주에 대한 견적은 로컬 아카이브로 가져오지 않았습니다. 다운로드를 클릭합니다. 이 컴퓨터에 설치된 트래픽 모니터는 서버에 대한 MT 요청과 서버에서 반환된 데이터 블록을 보여줍니다. 모든 것이 정확합니다. 다운로드 후 다시 다운로드를 클릭합니다. 그러나 여기에는 두 가지 옵션이 있습니다. 모든 시간 프레임을 계산하도록 제안하거나(다운로드가 완전히 완료된 경우 논리적임) 무언가를 다시 다운로드합니다(및 트래픽 모니터가 이를 확인함) - 로드되지 않은 이유가 명확하지 않습니다. 처음. 또한, 여러 번 누르면 서버에서 다운로드가 재계산된 후일 수 있으며 이는 논리적이지 않거나 전혀 이해할 수 없습니다. 이미 로드되고 계산된 경우 다른 무엇을 로드하고 있습니까? 나는 다운로드 사이에 아카이브를 닫지 않고 몇 개를 변경하지 않습니다.

아카이브를 연 후 다운로드 버튼을 연속으로 여러 번(5회 이상) 누르면 여전히 서버에서 무언가를 다운로드하고 이 쌍이 있는 아카이브가 이전에 로드되었는지 여부에 관계없이 모든 시간 프레임을 다시 계산하도록 제안하지 않는 경우가 있습니다. 이전 아카이브 오픈 당시) 그리고 당시 회고록이 있었나요? 마치 처음에는 모든 것이 로드되지 않은 것처럼 지금은 클릭할 때마다 누락된 항목이 하나씩 당겨지지만 한 번에 모두 로드되지는 않습니다. 모니터는 이것이 서버에 대한 요청일 뿐만 아니라 서버에서 반환된 데이터 블록임을 보여줍니다. 처음에 로드되지 않은 이유와 이유는 무엇입니까? 쌍에 대한 모든 따옴표가 로드되었는지 확인하려면 로드를 몇 번이나 클릭해야 합니까?

그러나 이러한 상황에서 아카이브를 닫고 다시 연 다음 다운로드를 클릭하면 처음 또는 두 번째로 더 이상 업로드되지 않지만 재계산이 제공됩니다. 즉, 작업의 논리적 순서가 그대로 복원됩니다. 왜 이런 일이 발생합니까? 그리고 그것을 이해하는 방법? 다운로드할 때마다 아카이브를 닫고 다시 연 다음 다시 계산해야 합니까? 설명해주세요.

로드를 클릭하면 로컬 아카이브가 확인되고 필요한 모든 것이 한 번에 로드된 다음 모든 기간이 자동으로 다시 계산되도록 만들 수 있습니까? 그리고 기록, 불일치 등의 모든 실패가 드러날 "확인"버튼을 아카이브에 포함시킬 수 있습니까? 그리고 나서 사용자가 확인하는 즉시 서버에서 모든 것을 자동으로 가져와서 수리했습니다. 또한 5-ku로 전환하는 데 오랜 시간이 걸리고 4-ka가 매우 인기 있고 수요가 많기 때문에 MT4 버전에 있습니다. 예, 이제 4-ke에서 돈을 벌어야 합니다.

다시 한 번, MT는 설치 순간부터 Alpari 데모 서버에 연결되었으며 변경되지 않았음을 분명히 합니다. 프로그램의 히스토리 폴더에는 Alpari-Demo 및 다운로드라는 두 개의 폴더만 있습니다. 기록 및 차트 창의 막대 수에 대한 설정은 컴퓨터에 MT가 설치된 순간부터 변경되지 않고 기본값으로 유지됩니다. 그리고 다운로드 버튼을 클릭한 결과가 예기치 않게 다릅니다. 아카이브에서 실제로 무슨 일이 일어나고 있으며 예측할 수 없는 이유는 무엇입니까?

 
죄송합니다. 끔찍한 일이 벌어지고 있습니다.
 

이 주제에 대한 병렬 토론은 Alpari 포럼 http://forum.alpari.ru/thread58122.html 에서 수행됩니다.

여기에 답변이나 질문이 있는 사람이 없습니까? 그리고 개발자도?

 

1. 그래프 불일치 오류를 제거할 필요가 있다. 인용의 전체 기록을 삭제하고 새 기록을 업로드하십시오.
2. 브로커에 유동 스프레드가 있는 경우 하나의 스프레드에서 최적화하고 테스트해야 합니다. 바람직하게는 전형적인.
3. 전문가의 데모 계정에서 밤낮으로 실행하고 테스트 결과와 데모 결과를 비교합니다. 주문이 거의 같고 주문 수가 약간 다르면 테스터를 신뢰할 수 있습니다. 거래가 테스터와 일치하지 않으면 테스터에서 최적화하지 않아도됩니다.

적어도 테스터의 보고서를 보는 것이 좋을 것입니다.

 

디메온의 경우:

1. MT4의 3가지 다른 인스턴스에서 3가지 다른 컴퓨터에서 테스트했습니다. 증상은 동일합니다. "아카이브"에서 따옴표를 다운로드 한 후 테스터를 실행하여 확인합니다. 필요한 기간 동안 불일치가 없습니다. 그런 다음 같은 기간 동안 최적화를 시작합니다. 그런 다음 최적화 결과를 테스트합니다. 여기에서 불일치가 나타날 수 있습니다. 즉, 최적화 후(또는 도중) 전체 기록이 업로드되고 "아카이브"에 의해 다시 계산된 후 나타납니다. 기록을 삭제해도 무언가를 얻을 가능성은 거의 없습니다.

2. Alpari에서는 스프레드가 유동적입니다. 동의합니다. 동일한 시장 조건에서 테스트해야 합니다. 그러나 선택한 스프레드를 테스트하는 방법, 지정 위치는? MT4에서는 이것을 찾지 못했습니다.

3. 좋은 생각입니다. 나는 아마 그것을 시도합니다. 최소한 며칠만 투자하면 됩니다. 그러나 여전히 주요 질문을 해결하지 못합니다. 따옴표가 있는 이러한 결함은 어디에서 왔습니까?

테스터 보고서는 위의 내 게시물 아카이브에 있습니다. 서로 다른 날에 서로 다른 두 커플도. 동일한 메시지에는 아카이브의 파일에 대한 설명이 있습니다. 바라보다.

 

업로드 기록, 시간 프레임을 다시 계산합니다. 인터넷 연결을 끊고 테스트합니다.

그런 헛소리는 일반적으로 고문의 극단적인 교양을 나타냅니다. 틱은 다운로드되지 않고 에뮬레이트됩니다. 그리고, 시장에 문을 열면 역사상 가장 작은 변화가 그런 넌센스로 이어집니다.

다음과 같은 방법으로도 유사한 결과를 얻을 수 있습니다.

컴퓨터가 꽤 오랫동안 인터넷에 연결되어 있고 차트가 H1에 열려 있습니다.

인터넷을 끄고 테스트를 시작하십시오. 고문은 우리에게 M5, M1의 기록을 다운로드 중이며 이것은 인터넷이 꺼진 상태라고 씁니다. 그래서 여기에는 많은 함정이 있습니다. 또한 인터넷이 연결되면 어떤 이력을 다운로드하는지 알 수 있습니다.

 
Mislaid님, 감사합니다. 이것이 바로 다음 최적화에서 내가 하려고 하는 것입니다. 오늘 Alpari 포럼에서 저도 그런 알고리즘에 대해 들었습니다. 노력해 보겠습니다... 솔직히 말해서 프로그램의 논리를 이해하지 못하거나 옵티마이저의 가장 중요한 부분인 따옴표 아카이브에 대한 개발자의 이상한 태도입니다. 그래서 저는 여전히 이 주제에 대한 개발자의 설명과 질문에 대한 답변을 듣고 싶습니다. 그리고 MT는 인터넷에서 어떤 기록을 다운로드합니까? 나는 그것에 대해 "그런" 아무것도 모릅니다. 설명, plz 또는 읽을 위치 링크를 제공하십시오.
 
ReasonMan :
Mislaid님, 감사합니다. 이것이 바로 다음 최적화에서 내가 하려고 하는 것입니다. 오늘 Alpari 포럼에서 저도 그런 알고리즘에 대해 들었습니다. 노력해 보겠습니다... 솔직히 말해서 프로그램의 논리를 이해하지 못하거나 옵티마이저의 가장 중요한 부분인 따옴표 아카이브에 대한 개발자의 이상한 태도입니다. 그래서 저는 여전히 이 주제에 대한 개발자의 설명과 질문에 대한 답변을 듣고 싶습니다. 그리고 MT는 인터넷에서 어떤 기록을 다운로드합니까? 나는 그것에 대해 "그런" 아무것도 모릅니다. 설명, plz 또는 읽을 위치 링크를 제공하십시오.

잘 모르겠지만 개인적인 경험담입니다.

나는 당신이 이미 가설을 세울 수 있을 만큼 충분한 실험을 설정했다는 것을 알았습니다.

몇 분 만에 견적 아카이브를 다운로드했습니다. MQ 서버에서 다운로드합니다. 눈치채셨다면, 지난 며칠 또는 몇 주가 부족합니다. 가설: MQ 서버의 최신 견적 아카이브가 아직 형성되지 않았을 수 있습니다. DC 서버에서 "업데이트"를 통해 나머지 기록을 다운로드합니다.

또 다른 실험. 당신은 역사를 죽이고 있습니다. "업데이트"를 통해 분(5분) 다운로드를 시도하고 있습니다. 기록의 작은 부분이 DC 서버에서 다운로드됩니다. 가설: 최근 기록의 제한된 부분만 DC 서버에 저장됩니다.

가설: 테스터는 컴퓨터의 아카이브에서 M5, M1을 다운로드하고 MQ 서버에서 다운로드합니다. 서버의 아카이브가 아직 구성되지 않은 경우 이 데이터가 에뮬레이트됩니다. 인터넷에 연결되어 있지 않은 경우에도 마찬가지입니다. 에뮬레이트된 데이터가 저장되지 않습니까?

일주일에 한 번 저는 "업데이트"를 통해 27개 통화 쌍에 대한 기록을 분 단위로 업로드합니다. 어떤 쌍에서는 매주 약 7,000개의 새로운 막대가 있지만 10,000개 이상의 막대가 다운로드됩니다. 가설: 기록이 변경되었습니다.

이러한 이유로 최신 데이터에 대한 테스트 결과가 일치하지 않을 수 있습니다.

테스트 결과와 데모(마이크로, 리얼) 거래 결과는 다른 여러 이유로 일치하지 않을 수 있습니다.

사유: