콘텐츠로 이동

cTrader에서 cBot 백테스트

이 문서는 cTrader Windows 및 Mac에서 트레이딩 봇을 백테스트하는 방법을 설명합니다.

백테스트는 특정 사전 정의된 조건 하에서 과거 시장 데이터를 사용하여 cBot을 평가하는 도구입니다.

백테스트를 실행할 때, 과거 시장 움직임에서 cBot 인스턴스를 실행할 수 있습니다. 이후, cTrader는 cBot이 수행한 거래 작업과 최종 자산/잔고 통계에 대한 상세 보고서를 생성합니다.

참고

백테스트 중 수행된 모든 거래 작업은 귀하의 계정에 영향을 미치지 않습니다. 백테스트는 실제 자금을 다루기 위한 것이 아닙니다. 대신, 이 기능은 분석 목적으로만 존재합니다.

cBot을 백테스트하려면, 해당 인스턴스 중 하나를 선택하고 백테스트 탭으로 전환하세요.

Image title

백테스트 설정

백테스트 작동 방식을 설정하려면, 왼쪽 상단에 있는 톱니바퀴 아이콘을 클릭하세요. cTrader는 다음 메뉴를 열어야 합니다.

Image title

이 메뉴의 옵션은 다음과 같이 정의됩니다. 모든 금액 관련 매개변수(예: 초기 투자금)는 USD로 지정됩니다.

옵션 이름 작업 및 설명
초기 투자금 거래 시 cBot이 운영할 초기 투자금을 정의하세요.
수수료 거래된 백만 단위당 수수료율을 설정하세요.
데이터 cBot이 테스트될 타임시리즈 데이터를 선택하세요. 사용 가능한 옵션은 다음과 같습니다.
  • 서버에서의 틱 데이터. 데이터는 서버에서 틱 단위로 직접 가져옵니다. 이는 가장 정확한 과거 데이터 출처입니다.
  • 서버에서의 M1 막대. 데이터는 서버에서 생성된 1분 막대에서 가져옵니다.
  • CSV 파일에서의 M1 막대. 데이터는 로컬에 저장된 CSV 파일에 정의된 1분 막대에서 가져옵니다.
  • 서버에서의 H1 막대 데이터는 서버에서 생성된 1시간 막대에서 가져옵니다.
스프레드 백테스트 중 적용될 스프레드 값을 선택하세요. 다음 옵션을 사용할 수 있습니다.
  • 고정 값. 백테스트 전체에 걸쳐 하나의 값만 적용됩니다. 드롭다운 메뉴에서 선택하거나, 사용자 정의 값을 입력하거나, 현재 심볼 스프레드에 맞춰 값을 설정할 수 있습니다(틱마다 업데이트됨).
  • 무작위. 최소 및 최대 스프레드 비율을 설정합니다. cBot이 주문을 할 때, 선택한 비율 범위 내의 무작위 스프레드 값이 해당 주문에 적용됩니다.

샘플 CSV M1 데이터

로컬 머신에서 트레이딩 데이터를 소싱하려면, 다음 데이터를 포함하는 쉼표로 구분된 CSV 파일을 생성해야 합니다:

  • 날짜
  • 시간별
  • 시가
  • 고가
  • 저가
  • 종가
  • 거래량

예시

1
2
3
4
2003.06.18,16:01,1.11423,1.11428,1.11332,1.11374,19
2003.06.18,16:02,1.11364,1.11436,1.11361,1.11405,7
2003.06.18,16:03,1.11402,1.11455,1.11400,1.11440,5
2003.06.18,16:04,1.11446,1.11461,1.11401,1.11447,14

백테스트 절차 및 모드

아래에 요약된 컨트롤을 사용하여 테스트 기간을 지정하세요:

  • 백테스트 탭 상단의 인터랙티브 슬라이더를 사용하세요.
  • 슬라이더 좌우의 캘린더 메뉴에서 필요한 값을 선택하세요.
  • 슬라이더 양쪽의 필드에 DD:MM:YYYY 형식으로 사용자 정의 값을 입력하세요.

Image title

다음 모드를 사용하여 백테스트를 실행할 수 있습니다:

  • 비실시간 테스트: 봇이 필요한 모든 작업을 순차적으로 수행하며, 이후에는 트레이딩 통계, 평가금 차트 등 최종 결과에만 접근할 수 있습니다.
  • 실시간(시각 모드) 테스트: 제공한 역사적 데이터가 사용자 정의 가능한 재생 속도로 cBot에 전달됩니다. 결과적으로, 주문이 발생하는 대로 트레이딩 작업을 볼 수 있습니다. 모든 트레이딩 통계도 선택한 재생 속도로 업데이트됩니다.

비실시간 테스트

설정이 완료되면 슬라이더 오른쪽의 재생 버튼을 클릭하세요. 지정된 기간의 길이와 로컬 머신 사양에 따라 cTrader가 결과를 생성하는 데 몇 분이 걸릴 수 있습니다.

실시간(시각 모드) 백테스트

테스트 기간을 포함한 필요한 설정을 지정하고 캘린더 슬라이더 아래에 있는 시각 모드 플래그를 활성화하세요.

Image title

속도 슬라이더를 드래그하거나 오른쪽의 메뉴를 사용하여 데이터 재생 속도를 조정하세요. 설정이 완료되면 재생 버튼을 클릭하세요.

cTrader는 선택한 기간에 대한 트레이딩 차트를 실시간으로 표시하기 시작하며, 재생 속도 설정에 따라 가속화됩니다. 백테스트가 진행되는 동안 재생 속도를 동적으로 조정할 수 있습니다.

코드에 따라 cBot은 차트에 나타나는 기술 분석 신호에 실시간으로 반응하여 트레이딩 작업을 수행합니다. 백테스트 통계는 cBot이 수행한 작업에 따라 자동으로 업데이트됩니다.

선택한 기간과 재생 속도에 따라 시각 모드 테스트는 시간이 많이 소요될 수 있습니다. 그럼에도 불구하고, cBot이 예상대로 작동하지 않을 경우 시각 모드 테스트와 CSV 파일에서 소싱한 사용자 정의 트레이딩 데이터를 사용하여 다양한 시장 조건에 대한 반응을 테스트할 수 있습니다.

렌코 차트 및 레인지 바를 사용한 백테스트

cTrader는 렌코 및 레인지 바 차트에서 cBot을 백테스트하는 것을 지원합니다. 이러한 백테스트를 수행하려면 새 cBot 인스턴스를 생성하고 트레이딩 차트로 렌코/레인지 바 차트를 선택하세요.

Image title

또는 이미 선택된 cBot 인스턴스가 있는 경우 화면 상단의 차트 선택 메뉴에서 더보기 아이콘을 클릭하세요. 나타난 메뉴에서 렌코 브릭 또는 레인지 바를 생성하기 위한 사용 가능한 볼륨 임계값 중 하나를 선택하세요.

Image title

cTrader가 선택한 심볼에 대한 렌코/레인지 바 차트를 생성한 후 백테스트 탭으로 전환하세요. 여기서 백테스트 모드/설정을 평소처럼 구성하세요. 재생 아이콘을 클릭하여 선택한 차트에서 백테스트를 수행하세요.

백테스트 결과

cTrader는 백테스트 결과를 보여주기 위해 여러 트레이딩 통계를 생성합니다. 이 데이터를 보려면 트레이딩 차트 바로 아래에 있는 탭으로 이동하세요.

Image title

평가금 차트

백테스트가 수행되면(시각 모드를 사용하든 여부에 관계없이), cTrader는 X축에 거래 횟수, Y축에 계정 잔고를 표시하는 평가금 차트를 생성합니다. 여기에는 다음 통계가 포함됩니다:

  • 노란색 선은 각 거래에 따라 계정 잔고가 어떻게 변하는지 보여줍니다.
  • 회색 영역은 봇이 수행한 거래에 따라 총 평가금이 어떻게 증가하거나 감소하는지 강조합니다.

평가금 차트의 역할을 더 잘 이해하려면 위의 예를 고려하세요. 이 예는 백테스트 동안 봇이 290회 이상의 거래를 수행했음을 보여줍니다. 계정 잔고가 변할 때마다 총 평가금도 그에 따라 변하는 것을 볼 수 있습니다.

거래 통계

트레이딩 통계 탭에는 백테스트 동안 cBot이 어떻게 수행되었는지에 대한 데이터가 포함됩니다. 여기에는 다음 필드가 포함됩니다:

필드 이름 정의
순이익 모든 거래의 총 순이익.
손익비 총 순손실 대비 총 순이익의 비율.
수수료 cBot이 수행한 거래에 대해 지불한 총 수수료.
잔고 최대 낙폭 잔고 낙폭의 최대 금액.
평가금 최대 낙폭 평가금 낙폭의 최대 금액.
총 거래 cBot이 수행한 총 거래 횟수.
수익 거래 실현 이익을 낸 총 거래 횟수.
최대 연속 수익 거래 실현 이익을 낸 연속 거래의 최대 횟수.
최대 수익 거래 한 거래에서 발생한 최대 실현 이익.
손실 거래 실현 손실을 낸 총 거래 횟수.
최대 연속 손실 거래 실현 손실을 낸 연속 거래의 최대 횟수.
최대 손실 거래 한 거래에서 발생한 최대 실현 손실.
평균 거래 모든 거래에서 발생한 평균 실현 손익.

포지션

포지션 탭은 현재 cBot이 열어놓은 모든 포지션을 보여줍니다. 이는 일반 트레이드 워치 디스플레이의 포지션 탭과 유사하게 구조화되어 있으며 동일한 데이터를 포함합니다.

Image title

오른쪽 하단의 톱니바퀴 아이콘을 클릭하여 중앙 테이블에 표시되는 데이터를 사용자 정의하세요.

주문

주문 탭은 cBot이 설정한 주문에 대한 정보를 포함합니다. 그 구조와 외관은 메인 트레이드 워치 디스플레이의 주문 탭을 복사합니다.

Image title

역사

히스토리 탭은 백테스트 동안 기록된 모든 개시 및 종료 거래에 대한 통계를 표시합니다. 위에서 논의한 다른 탭과 마찬가지로, 이 탭은 트레이드 워치 디스플레이의 히스토리 탭을 복사합니다.

Image title

이벤트

이벤트 탭은 모든 서버 관련 통신을 나열하고 이러한 이벤트의 다양한 매개변수를 표시합니다.

Image title

로그

마지막으로, 로그 탭은 백테스팅 과정에서의 cBot 출력을 표시합니다. 메시지 목록은 이벤트 유형 및 인스턴스별로 완전히 검색 및 필터링이 가능합니다.

Image title