“백테스트 수익률은 좋은데, 자동매매를 돌리면 결과가 전혀 다르다."트레이딩뷰 자동매매에서 가장 많이 듣는 고민입니다. 대부분은 리페인팅과 비용을 뺀 백테스트 때문입니다. 이 글에서는 원인별로 확인하는 방법과 고치는 코드를 정리합니다.
전략의 설정값(기간, 배수, 손절 폭)을 바꿔 가며 백테스트하는 것을 최적화라고 합니다.같은 전략이라도 input을 어떻게 만들었는지에 따라 최적화가 쉬워지기도, 의미 없는 결과만 나오기도 합니다. 이 글에서는 최적화하기 좋은 input 설계법을 정리합니다.
트레이딩뷰 자동매매는 얼러트 메시지로 시작합니다. 그런데 파인스크립트에서 얼러트를 보내는 방법은 세 가지나 되고, 메시지에 쓸 수 있는 변수도 방법마다 다릅니다.이 글에서는 세 가지 방법의 차이와 플레이스홀더({{close}} 같은 메시지 변수), 그리고 TVExtBot 주문메시지를 보낼 때 어떤 방법이 좋은지 정리합니다.
{{close}}
트레이딩뷰는 2024년 말 파인스크립트 v6를 공개했고, 새 기능은 v6에만 추가되고 있습니다.이 글에서는 v5 코드를 v6로 옮길 때 꼭 알아야 할 변경점과, 변환 후 나는 오류를 고치는 방법을 예제로 정리합니다.
짧은 시간봉 전략은 신호가 많은 대신 추세를 거스르는 거짓 신호도 많습니다.이 글에서는 request.security() 로 일봉·4시간봉 같은 상위 시간봉 데이터를 가져와, “큰 추세 방향으로만 진입"하는 필터를 만드는 방법을 설명합니다.
request.security()
진입 신호만큼 중요한 것이 청산입니다. 손절이 없는 전략은 한 번의 큰 손실로 그동안의 수익을 모두 잃을 수 있습니다.이 글에서는 strategy.exit() 로 퍼센트 손절·익절, ATR 손절, 트레일링 스탑을 만들고, 각각 TVExtBot 주문메시지로 자동매매하는 방법을 설명합니다.
strategy.exit()
Pine 에디터에서 저장을 눌렀는데 빨간 오류가 뜨면, 오류 문구를 그대로 검색하게 됩니다.이 글은 파인스크립트에서 자주 만나는 오류를 문구별로 모아 원인과 해결 방법을 정리했습니다. 필요한 오류만 목차에서 찾아 보세요.
가장 많이 쓰이는 지표 세 가지로 만든 파인스크립트 전략 예제입니다.세 전략 모두 복사해서 바로 백테스트할 수 있고, 설정 화면에 TVExtBot 주문메시지를 붙여넣으면 그대로 자동매매에 쓸 수 있습니다.
트레이딩뷰에 공개된 지표(indicator)는 차트에 신호를 보여줄 뿐, 백테스트나 자동매매에 바로 쓸 수는 없습니다.이 글에서는 슈퍼트렌드 지표를 예로 들어 지표를 전략(strategy)으로 바꾸는 방법과, 바꾼 전략을 TVExtBot으로 자동매매하는 방법까지 순서대로 설명합니다.
파인(Pine)스크립트란 트레이딩뷰 플랫폼상에서 실행가능한 스크립트이며 코딩하기 위해 Pine에디터를 제공하고 있습니다.종류로는 지표와 전략 스크립트가 있으며 지표는 차트의 보조지수로 활용하고 전략은 백테스팅이 가능합니다.