지난달 거래 검토하기¶
월간 거래 검토는 세 가지 질문에 답합니다. 몇 건의 거래가 청산되었나요? 결과는 어땠나요? 아직 어떤 위험이 남아 있나요? 이 가이드에서는 거래 내역, 완료된 주문 기록, 현재 익스포저를 날짜가 표시된 폴더에 저장합니다. 이어서 매월 말 반복 실행할 수 있는 스크립트로 단계를 묶습니다.
팁
로그인 정보를 셸 변수에 한 번만 설정합니다. 아래의 모든 대화형 명령어는 이 변수를 재사용하므로 단계가 간결해지고 여러 환경에서 스크립트를 활용하기 쉽습니다.
export CTID=letstrade
export ACC=7654321
export PWD_FILE=$HOME/.ctrader/pwd
1. 해당 월에 청산된 거래 가져오기 ¶
deals는 청산된 거래만 반환합니다. 청산 체결 건마다 실현 손익이 포함된 기록 하나를 제공합니다. 이는 cTrader의 내역 탭에 표시되는 데이터와 같습니다. --from과 --to는 청산 시간을 기준으로 거래를 필터링하고, --count는 가장 최근에 청산된 거래를 반환합니다. 포지션 개설 체결은 포함되지 않으므로 포지션은 일부 또는 전부가 청산된 후에만 deals에 나타납니다.
ctrader-cli deals --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
--from=01/06/2025 --to=30/06/2025
청산된 각 거래의 출력에는 심벌, 거래 방향, 거래량, 체결 가격, 실현 이익이 포함됩니다.
2. 완료된 주문 내역 가져오기 ¶
orders-history는 같은 기간에 완료된 주문과 최종 상태(filled, expired, cancelled 또는 error)를 표시합니다. 예약 주문은 포함되지 않습니다.
ctrader-cli orders-history --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
--from=01/06/2025 --to=30/06/2025
거래 목록과 주문 내역을 비교해 어떤 진입이 어떤 청산에 해당하는지 확인하세요.
deals와 orders-history에는 다음과 같은 내역 조회 제한이 있습니다.
- CLI는
--from/--to로 지정한 전체 기간의 데이터를 기간 길이 제한 없이 불러옵니다. - 단, 한 번의 호출에서는 지정된 기간 중 최근 거래 200건(
deals) 또는 최근 주문 500건(orders-history)만 반환합니다. --from/--to를 지정하지 않으면 두 명령어 모두 최근 30일의 데이터만 반환합니다.
한 달 동안 거래가 많았다면 기간을 여러 구간으로 나누고 각 구간에 대해 두 명령어를 각각 실행하세요.
3. 현재 익스포저 조회하기 ¶
exposure는 계정의 열린 포지션 익스포저를 심벌별로 그룹화해 요약합니다. 이를 통해 검토 다음 날까지도 남아 있는 위험을 한눈에 파악할 수 있습니다.
ctrader-cli exposure --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q
4. 각 결과를 날짜가 표시된 파일에 저장하기 ¶
각 명령어가 JSON 데이터를 반환하므로 출력을 파일로 리디렉션하면 검토 결과를 보관할 수 있습니다.
MONTH=2025-06
ctrader-cli deals --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --from=01/06/2025 --to=30/06/2025 > ${MONTH}_deals.json
ctrader-cli orders-history --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --from=01/06/2025 --to=30/06/2025 > ${MONTH}_orders.json
ctrader-cli exposure --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q > ${MONTH}_exposure.json
질문 하나당 파일 하나씩, 날짜가 표시된 파일 세 개가 만들어집니다. 다음 달의 검토 결과와 쉽게 비교할 수 있습니다.
5. 월간 검토 스크립트로 단계 묶기 ¶
전체 명령어 순서를 monthly-review.sh로 저장하세요. 스크립트는 이전 달의 첫날과 마지막 날을 자동 계산하므로 언제 실행하더라도 사용할 수 있습니다.
#!/usr/bin/env bash
set -euo pipefail
CTID=letstrade
ACC=7654321
PWD_FILE=$HOME/.ctrader/pwd
MONTH=$(date -d "last month" +%Y-%m)
FROM=$(date -d "last month" +01/%m/%Y)
TO=$(date -d "last month" +$(date -d "last day of last month" +%d)/%m/%Y)
mkdir -p ${MONTH}
cd ${MONTH}
ctrader-cli deals --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --from=$FROM --to=$TO > ${MONTH}_deals.json
ctrader-cli orders-history --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --from=$FROM --to=$TO > ${MONTH}_orders.json
ctrader-cli exposure --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q > ${MONTH}_exposure.json
echo "Review for ${MONTH} saved to $(pwd)/${MONTH}_*.json"
기간별로 타임스탬프가 포함된 폴더를 만들 수 있도록 한 달에 한 번 실행하세요. Linux에서는 date -d가 last month와 last day of last month 표현식을 그대로 받아들입니다. macOS에서는 coreutils에 포함된 gdate를 사용하거나 --from과 --to에 고정된 값을 지정하세요.
6. 데이터에서 패턴 찾기 ¶
JSON 파일은 노트북 환경이나 간단한 셸 파이프라인으로 분석하기 쉬운 구조로 되어 있습니다. 대표적인 분석 항목은 다음과 같습니다.
- 수익 거래 비율: 수익이 양수인 거래 건수와 손실 거래 건수를 비교합니다.
- 심벌별 분석: 거래를 심벌별로 그룹화하고 각 그룹의 이익을 합산합니다.
- 최대 단일 손실: 거래를 이익 기준으로 정렬해 가장 낮은 값을 찾습니다.
- 열린 포지션의 위험: 익스포저 파일에서 아직 열린 포지션이 있는 심벌을 확인합니다.
같은 날의 account-stats 스냅샷과 함께 분석하면 한 달 동안 계정 상태가 어떻게 변했는지 더 명확히 파악할 수 있습니다.
cTrader CLI 명령어 참조 문서에서 이 절차에 사용된 명령어의 모든 옵션을 확인할 수 있습니다.
경고
cTrader CLI는 거래 및 자동화를 위한 도구입니다. 재무, 투자, 법률 또는 세무 자문을 제공하지 않습니다. 과거 성과가 미래의 성과를 보장하지는 않습니다. 각 명령어를 실행하기 전에 확인하고, 먼저 데모 계정에서 테스트하며, 로그인 정보를 안전하게 보호하세요.