인기 게시물

에디터의 선택 - 2020

테스트 전략 및 고문을위한 100 % 품질 기록 데이터 준비

금융 시장 거래 분야에서는 테스트 및 최적화를위한 품질 데이터없이 특정 방법이나 시스템의 운영 성 또는 부적합성에 대한 결론을 도출하는 것이 불가능합니다. 진정으로 수익성있는 거래 시스템을 개발하기 위해서는 거래자가 관심있는 통화 쌍에 대해 적어도 고품질의 과거 가격 데이터가 필요합니다.

일반적으로 대부분의 중개인에서 따옴표의 품질은 90-96 %입니다. MT4 터미널은 매우 정확한 도구가 아니므로 부정확성을 4-10 % 더 추가하는 것은 우리의 선택이 아닙니다. 우리의 선택은 100 % 품질의 따옴표입니다. 오늘날의 자료에서 그것들을 얻는 장소와 방법, 가공하고 보장 된 고품질 결과를 얻는 방법.

과거 데이터의 유형

과거 데이터를 테스트 할 수없는 주요 유형의 데이터는 물론 가격 데이터입니다. 역사적인 가격 데이터는 다른 기간과 다른 소스에서 얻을 수 있습니다. 가장 일반적인 차트는 일별, 분 및 눈금 차트입니다. 일반적으로 기록은 일일 차트에 가장 깊이 있습니다. 1971 년부터 얻을 수 있습니다 (MetaTrader 터미널은 더 긴 기록을 지원하지 않습니다). 일반적으로 의사록 데이터는 1999-1998 년에 최대치이며 일반적으로 틱은 2004-2007 년 이전입니다.

일반적으로 데이터는 양초 날짜, 시간, 공개 가격, 최고 가격, 최저 가격, 마감 가격 및 틱 수량과 같습니다. 일부 견적 소스에서는 틱 볼륨을 사용하지 못할 수 있습니다. 또한 D1 이상의 기간 동안 양초가 열리는 시간을 나타내지 않거나 최대 및 최소 가격을 나타내지 않습니다. 틱 따옴표는 특정 기간에 변환 된 따옴표와 다릅니다. 이러한 인용문에서 날짜, 시간은 초, 정확한 가격 및 입찰 가격을 찾을 수 있습니다.

가격 외에도 때로는 특정 국가의 인플레이션 율, 주택 가격 또는 실업 데이터와 같은 거시 경제 지표의 출력뿐만 아니라 태양 활동이나 특정 장비에 대한 거래자의 의견과 같은 더 구체적인 국가와 같은 거시 경제 지표의 출력에 대한 특정 데이터가 필요할 수도 있습니다.

시간 척도 데이터

데이터는 원래 시간 프레임에서 사용되거나 다른 시간 척도로 다시 계산 될 수 있습니다. 전략에 따라 M1 또는 틱에서 D1 또는 MN1까지 다른 시간대가 필요할 수 있습니다. 짧은 기간의 데이터에서 쉽게 데이터를 더 길게 만들 수 있지만 그 반대도 마찬가지입니다. 예를 들어, 기간 M1의 데이터에서 M5, H1 및 D1을 쉽게 얻을 수 있습니다. 그렇기 때문에 정확히 M1 견적의 품질 데이터베이스를 보유하는 것이 중요합니다.

그러나 눈금 데이터도 있기 때문에 M1은 가장 작은 규모가 아닙니다. 진드기는 일정한 시간 단위가 아니며, 간혹 특히 뉴스 릴리스 중에 진드기가 매우 자주 발생하며, 예를 들어 밤에는 서로간에 시간 간격이 큽니다. 틱 히스토리는 주로 뉴스 어드바이저, hft 전략 (MT4 또는 MT5 플랫폼에서 전혀 사용할 수 없음) 테스트 및 양초 내부의 다양한 계산을 사용하는 어드바이저를 위해 필요합니다.

그러나이 기사에서 쓴 것처럼 이러한 조언자들에게는 중개인의 영향이 너무 큽니다. 고문이 절반 포인트를 핍핑하지 않으면 틱 데이터에서 테스트 할 필요가 없습니다. 시간이 오래 걸리고 리소스를 많이 소비합니다. 또한 네트워크에서 찾을 수있는 무료 틱 데이터는 최상의 품질이 아니며 너무 오래 지속되지 않았으며 지불 한 데이터는 꽤 괜찮은 비용이 들었습니다. 이러한 투자는 전혀 돈을 지불하지 않을 것입니다.

따라서 당신은 초 정확도를 쫓아서는 안되며, 전략 테스터 자체는 여전히 모든 노력을 제거하는 오류를 줄 것입니다. 분 단위, 일일 시간대 및 발생할 수있는 다양한 특정 데이터의 품질 히스토리를 비축하는 것이 좋습니다. 유용한 정보와 그렇지 않은 데이터를 확실하게 확신 할 수는 없습니다.

얼마나 많은 데이터가 필요합니까? 많을수록 좋습니다. 실제로 테스트에 트랜잭션이 많을수록“피팅”위험이 낮을수록 통계적으로 결과가 더 중요하며 시스템이 과거와 동일한 방식으로 미래에도 계속 작동 할 가능성이 커집니다. 따라서 사용 가능한 모든 기록을 사용하는 것이 좋습니다.

기간 선택

업무에 사용되는 기간은 맛의 문제입니다. M5 또는 M15와 같은 낮은 기간에 작업 할 때 테스트에 많은 시간이 걸리는 것 외에도 이러한 시스템은 견적의 품질을 매우 요구하고 브로커에 크게 의존하며 최종 결과는 스프레드, 스왑, 슬립, 커미션과 같은 비용의 영향을받습니다.

반면에 그러한 시스템을 사용한 거래는 하루에 수십 건의 거래를 할 수 있기 때문에 더욱 역동적입니다. 상대적으로 짧은 정류장으로 인해 $ 100의 보증금으로 얻을 수 있습니다. 결과적으로 예금 성장은 일반적으로 장기 시스템보다 더 빠릅니다. 시스템 기간이 짧을수록 종종 짧아 지지만 일반적으로 시스템의 안정성이 떨어집니다.

반대로 높은 기간에 일할 때 시스템은 더 안정적이고 강인하며 브로커 및 거래 비용에 거의 의존하지 않고 견적의 품질을 요구하지 않으며 테스트를 매우 빠르게 수행 할 수 있습니다. 그럼에도 불구하고, 각 거래는 몇 주 동안 지속될 수 있기 때문에 예금의 성장은 상당히 길다.

또 다른 문제-장기 시스템의 경우 충분한 양의 기록 데이터가 필요합니다. 또한 동일한 일별 차트에서 ATR 2 피트 정거장조차도 때때로 상당히 크며 2,000 달러로 적절한 자금 관리를 유지하기에 충분하지 않을 수 있습니다. 또한, 높은 시간대에서 작업 할 때는 원칙적으로 시스템 포트폴리오를 사용하여 수익률 곡선을 매끄럽게합니다. 그럼에도 불구하고 심리적으로 수십 개의 공개 거래를 견뎌내면서 몇 주 동안 위아래로 매달려있는 것은 매우 어렵습니다.

기간을 선택하는 것은 여전히 ​​모든 거래자에게 개인적인 문제입니다. 그들 중 하나는 장단점이 있으므로 더 귀찮은 것을 결정하십시오.

과거 데이터의 품질

MetaTrader 4 터미널의 전략 테스터에서 Expert Advisor를 테스트 할 때 잘못된 결과를 얻는 일반적인 이유 중 하나는 과거 견적의 무결성 문제입니다. 여러 가지 이유로, 터미널에서 이용 가능한 가격의 역사에서, 가격 흐름의 차이가 현실과 관련이없는 "구멍"이있을 수 있습니다. 말할 필요도없이, 그러한 인용문에서 고문을 시험하는 것이별로 의미가 없습니까?

나쁜 데이터는 시스템 분석을 완전한 혼란 상태로 이끌고, 상비 시스템에 대해 수익성이없는 결론을 내리거나, 가치가없는 시스템에 녹색 빛을 발할 수 있습니다. 따라서 모든 책임을 가지고 과거 데이터에 접근하는 것이 좋습니다. 이것은 미래에 모든 거래가 이루어질 기초입니다. 빈약 한 역사적 기반은 체계적으로 오류를 유발하고 결과적으로 많은 시간과 비용을 잃을 수 있으며, 문제가 무엇인지, 왜 테스트를하는 시스템이 실생활에서 작동하지 않는지 이해할 수 없습니다.

데이터 오류는 여러 가지 다른 형태를 취할 수 있습니다. 종종 거래 할 때 분명히 잘못된 가격의 진드기가 있으며, 이는 불가능합니다. 예를 들어 1 초의 가격이 하늘로 올라간 후 다음 초에 다시 돌아옵니다. 이것은 소위“머리핀”이며, 거의 모든 브로커가 몇 년 전에 죄를지었습니다. 이러한 실수는 막대한 이익 또는 손실을 초래할 수 있습니다. 그리고 데이터에 그러한“핀”이 많으면 모든 시스템의 테스트는 현실과는 거리가 멀 것입니다. 이것은 헤어핀이 침전물의 배수를 보장하고 결과적으로 필터를 통과하지 않는 다양한 그리드 전략의 테스트에 특히 해당됩니다.

더 일반적이고 눈에 띄지 않는 것은 가격 수준에서 일반적인 작은 오류입니다. 예를 들어, 종가 1.4378 대신 가격은 1.4387입니다. 당연히, 이러한 오류는 특히 높은 시간 내에있을 경우 알아 채기가 어렵습니다. 다행히 예외가 있지만 대부분 테스트 결과에 큰 영향을 미치지 않습니다. 따라서 가장 신뢰할 수있는 가격을 얻으려면 여러 공급 업체의 견적을 확인하는 것이 좋습니다.

가장 일반적인 실수는 데이터를 건너 뛰는 것입니다. 어떤 이유로 든 특정 기간이 데이터베이스에 기록되지 않아 견적 나누기가 형성됩니다. 대부분이 문제는 휴일, 새해 전날 및 밤에 발생합니다. 그래프가 "홀리"일수록 테스트의 현실은 줄어 듭니다. 이 문제는 다른 출처의 공백을 채워서 해결됩니다.

이미 알고 있듯이 어드바이저를 테스트 할 때 품질 따옴표 보관 파일을 만드는 문제가 가장 중요한 작업입니다. 그러나 불행히도 MT4 터미널에는 히스토리 데이터의 무결성을 확인하기위한 도구가 내장되어 있지 않으므로 플랫폼 설치시 이러한 성가신 틈을 메우는 보조 도구를 사용해야합니다.

제 생각에는 고품질의 과거 데이터는 무엇입니까?

질적 이력 데이터는 M1 기간의 막대로 구성됩니다. 위의 모든 것은 고문의 행동을 재현하는 정확성에서 멀어지게합니다. 따옴표 이력을 작성할 때는 M1 따옴표를 사용하는 것이 가장 좋습니다. 또한 이상적으로는 M1 견적에 대한 고문 테스트가 가장 좋습니다. 이 경우, 권고 자 코드 자체에 기간이 고정되어 있고 기본 기간 (기간 ())이 설정되어 있지 않은지 확인해야합니다. 그렇지 않으면 알고리즘이 계획대로 작동하지 않으므로 계산 결과를 얻지 못할 수 있습니다.

고문은 단순히 촛불을 열 때 정확하게 일해야한다는 것을 기억할 가치가 있습니다. 이를 위해 일반적으로 고문 코드에 특수 기능이 규정되어 있으며 주어진 기간의 새로운 촛대가 열릴 때만 거래가 가능합니다. 양초를 닫지 않고 신뢰할 수있는 테스트를 수행하려면 이러한 테스트를 수행 할 수있는 고품질 진드기와 특수 소프트웨어가 필요합니다. 이것을 가지고 있지 않다면, 터미널 자체가 촛불 안에서 일어난 일을 발명 할 것입니다. 당신은 이해합니다-그는 무엇이든 발명 할 수 있습니다.

이러한 데이터에는 중대한 실패, 즉 소위 "구멍"이 없습니다. 과거의 데이터를 저장하는 장비가 얼마나 원활하게 작동했는지는 주로 견적 제공 업체에 달려 있습니다.

이러한 인용문에는 단일 또는 여러 막대가 생략되어 있지 않습니다. 이상적으로는 100 % 완전한 따옴표가 있어야합니다 (모델링 품질과 혼동하지 않아야 함). 제 생각에는 분 시세 기록의 100 % 완전성은 필연적으로 후속 시간이 1 분에서 형성되고 일부 분 막대가 없으면 궁극적으로 더 높은 시간대의 "곡선"막대를 생성하기 때문에 필요합니다.

특히 작은 시간대의 따옴표와 관련하여 공개 도메인에서 오랫동안 따옴표를 가진 DC가 거의없는 DC는 거의 없습니다. 이 기사에서 과거 데이터를 얻을 수있는 곳에 대해 이야기했습니다.

따옴표 이력에 대한 구멍 분석

history_data_analysis 스크립트는 그래프의 품질을 찾는 데 도움이됩니다.

이 코드는 히스토리 데이터에서 누락 된 막대 ( "구멍")와 간격 (큰 구멍)을 식별하고 크기, 지속 시간 및 간격을 결정합니다. 모든 기기에서 작동하며 일별 차트 용이므로 기간이 H4 기간으로 제한됩니다.

분석은 주말 (토요일 및 일요일-48 시간) 만 고려하고 나머지 코드는 구멍이나 간격을 고려합니다. 차트 작업의 편의를 위해이 코드는 타임 프레임에서 누락 된 막대 수 (M1,5,15,30)를 설정할 수있는 필터를 제공합니다.이 막대에서는 코드가 구멍으로 무시되고 누락 된 막대 수 (최소 값)는 간격으로 간주됩니다. 코드가 간격으로 무시할 누락 된 핍 수와 기본 20 개 막대). 스크립트를 실행하고 작업을 종료하면 다음 메시지가 표시됩니다.

예를 들어, EURUSD Alpari 쌍에 대한 견적 품질을 테스트했습니다.

예를 들어 Dukascopy EURUSD M1 시세에 대해 동일한 테스트를 수행해 보겠습니다.

보시다시피 테스트에 Dukascopy 데이터를 사용하는 것이 가장 좋습니다. 여기에서 전체 견적 품질은 99.55 %입니다. 패스와 갭의 0.45 %만이 매우 좋은 결과입니다. 그럼에도 불구하고, 우리는 여전히 4,662 개의 갭을 가지고 있습니다 – 거의 2 만 5 천 바와 39,740 개의 포인트가 없습니다. 따라서 가장 신뢰할 수있는 테스트를 위해서는이 문제를 해결해야합니다.

견적의 질을 100 %로 끌어 올리기

1. 인용의 기본 이력에 Ducaskopy의 데이터를 사용하는 것이 좋습니다. 인용 부호가 거의 없으므로 "패치"해야합니다. 이를 위해 Ducaskopy 틱을 다운로드하는 모든 도우미 프로그램을 사용할 수 있습니다. Tickstory Lite를 권장합니다.

2. Tickstory Lite 프로그램에서 틱을 다운로드 한 후 원하는 통화 쌍을 마우스 오른쪽 버튼으로 클릭하고 "파일로 내보내기"옵션을 선택하십시오.

3. 설정으로 필드를 채우십시오.

4. 데이터 디렉토리를 엽니 다 :

5. 데이터 디렉토리에서 history 폴더를 찾은 다음 서버 이름으로 원하는 폴더를 찾습니다.

6. 원하는 통화 쌍의 모든 hst 파일을 삭제하십시오.

7. F2 키를 누르고 원하는 통화 쌍, 기간 M1을 선택하고 "가져 오기"버튼을 클릭하여 다운로드 한 견적을 터미널로 내 보냅니다.

8. 기간 M1의 통화 쌍 차트를 엽니 다.

9. history_data_analysis 스크립트를 사용하여 품질 테스트를 수행하십시오. 테스트 결과 얻은 텍스트 파일을 사용하여 가장 중요한 장소를 찾아야합니다. 그런 다음이 중요한 장소가 제거됩니다. 나중에 다른 출처의 인용문 (소위 "패치"라고 함)으로 보충합니다.

새해 연휴 기간 동안 따옴표가 부족하다는 것에 대해 별도로주의를 기울이고 싶습니다. 많은 중개인이 현재 작동하지 않으며 중개인이 새해 전날의 체처럼 보이지만이 기간 동안 적절한 역사를 찾기가 매우 어려울 수 있습니다 . 따라서 새해 전날 며칠이 지나지 않으면 아무런 문제가 발생하지 않습니다. 완전히 제거해야합니다. 그렇지 않으면 시험 고문이 잘못된 결과를 나타낼 수 있습니다.

10. 패치 용 원자재를 구할 수있는 곳-이 기사에서 이미 논의했습니다. 하나, 아마도 두 가지 소스가 필요합니다. 모두 특정 사례에 따라 다릅니다.

11. 우선 패치 데이터는 hst 형식으로되어 있으면 csv 형식으로 변환해야하며 hst2csv 스크립트가 도움이됩니다.

12. 그런 다음 다른 소스의 데이터를 정확한 시간으로 가져와야합니다. 즉, 브로커 및 수정 된 따옴표와 동일한 GMTOffset을 설정하십시오. 간과하지 마십시오. 이는 특정 견적 소스의 GMT와 관련하여 정확히 어떤 변화가 있었는지, 그리고 그 변화가 있었으며 겨울 / 여름 시간 변환이 사용되었는지에 대한 정보입니다. 예를 들어 Alpari 따옴표는 2011 년 이전에 GMT + 2이고 2011 년 이후에 GMT + 3입니다.

이렇게하려면 별도의 터미널이 필요합니다. 각 소스에서 따옴표를 차례로 다운로드하고 GMTconverter 스크립트를 사용하여 GMT 시간을 변경해야합니다 .GMTconverter 스크립트를 사용하여 네트워크에 그러한 스크립트가 없음을 발견했을 때 작성했습니다. 기사 마지막 부분에서 스크립트를 찾아 다운로드 할 수 있습니다. 또한 다운로드 한 견적을 별도의 터미널로 가져올 때 원하는 GMT를 지정할 수 있지만 때로는 작동하지 않습니다. 견적을 가져올 때 원하는 GMT를 지정하려면 시간 단위로 "Shift"를 지정해야합니다. 그런 다음 내보내기 버튼을 클릭하여 이러한 견적을 내 보내야합니다. 따라서 따옴표는 원하는 형식과 필요한 GMT로 저장됩니다.

13. 따옴표를 원하는 형식으로 조정 한 후 품질 테스트 및받은 패치 소스를 사용하여 파일을 열기 만하면됩니다.또한 많은 이야기가있는 경우 Excel에서 전체 파일을 열지 못할 수 있으므로 메모장에서 파일을 열어야합니다.

14. 패치 파일에서 문제가있는 각 세그먼트를 찾아 조각을 별도로 열린 메모장 파일로 전송합니다.

15. 소스 중 하나에 데이터가 충분하지 않으면 다른 소스에서 찾으려고합니다.

16. 준비된 파일을 csv 형식으로 저장하십시오. 파일 확장자를 txt에서 csv로 변경하십시오.

17. Ducascopy 견적을 위해 터미널로 가져옵니다. 삭제 된 섹션은 Google에서 준비한 파일에서 자동으로 복원됩니다.

18. 패치 가져 오기에 대한 오랜 노력을 기울인 후에 패치 된 히스토리가로드되도록 터미널을 닫았다가 다시 열어야합니다. 다시 history_data_analysis 스크립트를 스케치하고 작업 결과를 살펴보십시오.

19. 이제 두 번째 스크립트 AllMinutes_Step1의 차례가되었습니다. 그는 무엇을하고 있습니까? 사실 아무 일도 일어나지 않았고 가격이 없었던 그 작은 바는 터미널을 자동으로 건너 뜁니다. 이 스크립트는 누락 된 막대의 기술적 인 채우기를 제공하여 이후에 더 높은 타임 프레임의 올바른 양초를 생성합니다. 차트에 드롭하고 "전문가"탭을 켭니다. 이 스크립트가 완료되었다는 메시지와 간략한 보고서를 보려면이 탭이 필요합니다.

20. 스크립트 완료에 대한 메시지가 표시되면 오프라인 일정을 열어야합니다 (파일-오프라인 열기-ALLEURUSD1).

21. 첫 번째 스크립트 history_data_analysis를 열린 차트에 놓습니다. 우리는 조금 후에 돌아올 보고서를 얻습니다.

22. 다음으로, 세 번째 스크립트 인 hst2csv를 실행하십시오. 사실 작업 중 이전 스크립트는 오프라인 모드에서 차트의 누락 된 막대를 모두 채웠을뿐만 아니라 hst 형식으로 동일한 따옴표의 기본을 형성했습니다. 파일은 히스토리 폴더에 형성되었으며 이름은 "ALLEURUSD1"입니다. 독립형 차트에서 history_data_analysis 스크립트를 실행하십시오. 이제이 ALLEURUSD1.hst 파일을 hst2csv 스크립트가 실제로 수행 할 수있는 관리 가능한 (시간 이동 측면에서) .csv 형식으로 다시 포맷해야합니다.

23. 이제 자율적 스케줄 분석을 기반으로 작성된 보고서로 돌아갑니다. 스크립트에서 알 수없는 최소 공간을 추적하기 위해 필요합니다. 항상 그런 것은 아니지만 가끔 발생합니다. 대본은 수천 개의 외로운 바를 발견하고 채웠지만 아아 몇 가지를 놓쳤을 수 있습니다. 따라서이 결함은 수동으로 수정해야합니다.

원칙적으로 이것은 어렵지 않습니다-표의 보고서는 이러한 패스의 특정 좌표를 보여줍니다. 따라서 작업은 14 장에서 수행 한 작업과 매우 유사합니다. 일반적으로 "파일"폴더로 이동합니다. 메모장 프로그램을 사용하여 "ALLEURUSD1.csv"를 엽니 다. "검색"기능을 사용하여 올바른 날짜에 자신을 찾습니다. 우리는 바의 시간을 변경하는 것을 잊지 않고 마지막으로 알려진 가격으로 놓친 바를 채 웁니다.

24. 터미널에서 따옴표 보관 파일 (F2)을 열고 여기에 저장된 모든 hst 형식 기록을 삭제 한 다음이 변환 된 새 파일을로드합니다. 터미널을 닫았다가 다시 엽니 다. EURUSD M1의 경우 차트를 열고, 무언가를 놓친 경우 history_data_analysis 스크립트를 사용하여 제어 측정을 수행합니다.

25. 문제는 스크립트 period_converter_ALL에 대해 작게 남아 있습니다. 그와 함께 일반적으로 모든 것이 간단합니다-차트를 던져서 왼쪽 위 모서리를 봅니다. 숫자가 실행되는 동안 스크립트는 여전히 작동합니다. 그 코너의 움직임이 멈추자 마자 작업이 완료됩니다. 그리고 결국에는 모든 시간대를 순차적으로 전환하여로드되도록합니다.

결론

그게 다야-터미널에서 따옴표는 100 % 품질입니다. M1 기간의 보조 기간이 연구 기간을 100 % 포함하는 경우 가장 정확한 테스트를 수행하고 결과의 신뢰성을 확실하게 보장 할 수 있습니다.

따라서 품질 테스트 문제는 상세 히스토리 데이터를 검색하고 가능한 최고 품질의 따옴표를 후속 어셈블리로 변환합니다. 어쨌든 신뢰할 수있는 테스트 결과를 얻으려면 고유 한 고품질 히스토리 데이터 데이터베이스를 관리해야합니다.

필요한 스크립트 세트 다운로드

MT4에서 스크립트 설치 지침

비디오 시청: 3000+ Common English Words with British Pronunciation (일월 2020).

귀하의 코멘트를 남겨