cTrader에서 cBot 백테스트 방법
이 글과 해당 동영상에서는 cBot을 백테스트하는 방법에 대해 논의하고자 합니다. 백테스트에 접근하는 방법, 백테스트 설정을 구성하는 방법, 그리고 백테스트 결과를 해석하는 방법을 배우게 될 것입니다.
cTrader에서 백테스트
cBot은 특정 시장 움직임과 이벤트(예: Moving Average Convergence Divergence (MACD) 크로스오버)를 만났을 때 다양한 트레이딩 작업을 수행하도록 구성할 수 있는 완전히 사용자 정의 가능한 트레이딩 로봇입니다.
그러나 cBot을 코딩할 때 처음부터 모든 것을 올바르게 만드는 것은 어려울 수 있습니다. 대부분의 경우, cBot이 당신을 대신하여 거래를 하기 전에 다듬고 싶을 것입니다.
이때 백테스트가 필요합니다. 백테스트를 cBot이 과거 시장 데이터를 기반으로 거래할 수 있는 놀이터로 생각하세요. 따라서 백테스트는 cBot이 실제 자금을 위험에 빠뜨리지 않고 의도한 결과를 달성할 수 있는지 평가하는 데 매우 유용합니다.
직접 만들거나 다른 경로를 통해 획득한 모든 cBot에 대해 철저한 백테스트를 수행할 것을 강력히 권장합니다.
백테스트 접근
백테스트에 접근하려면 먼저 평가하려는 cBot의 기존 인스턴스를 선택하세요. UI의 최상단 바(뒤로 버튼이 있는 바) 바로 아래에 현재 선택된 인스턴스가 작동 중인 트레이딩 차트가 포함된 첫 번째 탭이 있는 여러 탭이 표시됩니다.
백테스트 탭은 바로 오른쪽에 위치합니다. 백테스트 영역으로 전환하려면 이 탭을 클릭하세요.

이 탭을 열면 다음 인터페이스가 표시됩니다.

기간 설정
앞서 언급했듯이, 백테스트를 통해 과거 시장 데이터에서 cBot 인스턴스를 실행할 수 있습니다. 백테스트 프로세스가 다룰 정확한 기간을 정의하는 여러 옵션이 있습니다.
슬라이더 사용
캘린더 슬라이더는 백테스트 탭 상단에 위치해 있습니다.

슬라이더 위의 두 회색 포인트를 드래그하여 이후 백테스트에 사용할 데이터 범위를 지정하세요. 위 스크린샷에서 우리는 포인트 중 하나를 약 2년에 해당하는 기간으로 드래그했습니다.
메뉴 사용
슬라이더 왼쪽과 오른쪽에 있는 캘린더 드롭다운 메뉴를 사용하여 정확한 날짜 범위를 선택할 수도 있습니다.

백테스트 기간이 정확히 2년이 되도록 하기 위해, 왼쪽 메뉴를 열어 2020년 11월 30일을 새로운 시작 날짜로 선택할 수 있습니다.
설정 구성
백테스트를 수행하기 전에, 가장 왼쪽 캘린더 메뉴 바로 왼쪽에 있는 톱니바퀴 아이콘을 클릭하세요. 다음과 같은 설정이 표시될 것입니다.

이 섹션이 열린 상태에서 다음 작업을 수행하세요.
- 초기 투자금 필드에서 cBot이 시작할 초기 자금을 지정하세요.
- 수수료 메뉴를 열고 cBot이 백만 단위의 거래량을 거래한 후 지불할 수수료를 선택(또는 입력)하세요.
- 데이터 메뉴에서 백테스트를 위한 과거 데이터의 출처를 설정하세요. 일반적으로 서버에서
m1데이터를 받는 것은 정확도와 백테스트의 리소스 소모 사이에서 좋은 절충안입니다. 로컬에 저장된 .CSV 파일에서 사용자 지정 데이터를 업로드할 수도 있습니다. - 스프레드 하위 섹션에서 고정 스프레드 또는 랜덤 스프레드 중 선택하세요. 라이브를 클릭하여 고정 스프레드(선택된 경우)를 현재 심벌 스프레드와 일치시킵니다.
백테스트 설정과 그것이 백테스트 결과에 미치는 영향에 대해 더 알아보려면 이 튜토리얼을 참조하세요.
모드 선택
백테스트 결과(cBot이 열린 포지션)를 실시간으로 확인하도록 선택할 수 있습니다. 이 기능은 cBot이 예상대로 동작하지 않는 특정 이벤트와 조건을 감지하는 데 특히 유용합니다.
이 기능에 접근하려면 캘린더 슬라이더 바로 아래 왼쪽에 있는 시각 모드 플래그를 활성화하세요. 속도 메뉴에서 선택한 트레이딩 차트가 재생될 속도를 선택하세요. 백테스트가 진행되는 동안 재생 속도를 언제든지 변경할 수 있습니다.

또는 시각 모드 플래그를 비활성화된 상태로 둘 수도 있습니다. 실시간으로 백테스트를 보는 대신, 백테스트가 끝날 때 백테스트 결과를 포함한 일회성 보고서를 받게 됩니다.
지금은 시각 모드 기능을 비활성화된 상태로 유지하겠습니다.
백테스트 실행
주어진 설정과 선택된 모드로 백테스트를 수행하려면, 가장 오른쪽 캘린더 메뉴 오른쪽에 있는 재생 버튼을 클릭하세요.
cTrader는 필요한 과거 데이터를 로드하기 시작합니다. 이 프로세스는 선택한 기간과 cTrader를 실행 중인 하드웨어에 따라 몇 분 정도 걸릴 수 있습니다.
우리의 경우, 2년치 정보만 요청했기 때문에 프로세스가 상대적으로 빠릅니다. 백테스트가 진행되는 동안 시각 모드 플래그 오른쪽의 바가 왼쪽에서 오른쪽으로 점차 이동하는 것을 볼 수 있습니다.
바가 완전히 오른쪽으로 이동하면 백테스트 프로세스가 종료됩니다.
결과 확인
백테스트 결과를 판단할 수 있는 여러 방법이 있습니다. 백테스트가 종료된 후, 트레이딩 차트 상단 중앙에 있는 숫자는 cBot이 생성한 총 순이익을 요약합니다.

우리의 경우, cBot은 503%의 상당한 순이익을 올렸습니다.
cBot의 성능을 평가하는 또 다른 방법은 트레이딩 차트 바로 아래에 있는 트레이드 패널에서 평가금 탭으로 전환하는 것입니다. X축에는 cBot이 수행한 총 거래 수, Y축에는 자금이 표시된 차트를 볼 수 있습니다.
노란색 선은 cBot의 잔액을 추적하고 회색 선은 평가금을 추적합니다.

백테스트 동안 cBot이 잘 수행되었지만, 실제 자금에 접근하기 전에 수정이 필요한 경우가 있을 수 있음을 알 수 있습니다.
마지막으로, 트레이드 통계 탭은 cBot이 수행한 모든 트레이딩 작업에 대한 누적 통계를 표시합니다.

우리의 총 수익은 훌륭했습니다. 로봇은 총 271건의 수익 거래를 했으며, 총 수익의 상당 부분(33,009.55)이 단 한 건의 거래에서 발생했습니다! cBot은 위험한 플레이를 할 수 있는 잠재력이 분명히 있습니다.
백테스트는 cBot이 예상대로 수행되는지 확인하는 훌륭한 방법입니다. 상세한 통계와 평가금 차트를 사용하면, 테스트 중인 로봇이 올바른(또는 잘못된) 움직임을 보인 가격 시점을 정확히 파악할 수 있습니다. 백테스트는 완전히 사용자 지정 가능하며, 극히 다른 조건에서 cBot을 훈련시킬 수 있습니다.