다중 퍼센트 이익실현(exit) 전략
개요
이 전략은 여러 개의 퍼센트 수익 실현(익절) 종료를 설정하는 기능을 구현합니다. 전략은 먼저 롱/숏 조건을 판단하여 진입합니다. 그런 다음 사용자 정의 percentAsPoints 함수를 사용하여 퍼센트를 가격 포인트로 변환합니다. 프로그램은 설정된 1%, 2%, 3%, 4% 수익 실현 퍼센트에 따라 4개의 종료를 설정하고, 동시에 일반적인 2% 손절 종료도 설정합니다. 이를 통해 여러 퍼센트 수익 실현 효과를 구현합니다.
전략 원리
이 전략은 주로 SMA 이동평균선의 골드 크로스/데드 크로스를 통해 진입을 판단합니다. 구체적으로, 빠른선 SMA(14)가 느린선 SMA(28)을 상향 돌파하면 롱 포지션에 진입하고, 빠른선 SMA(14)가 느린선 SMA(28)을 하향 돌파하면 숏 포지션에 진입합니다.
그렇다면 여러 퍼센트 수익 실현 종료를 어떻게 설정할까요? 여기서는 사용자 정의 percentAsPoints 함수를 사용하여 퍼센트를 가격 포인트로 변환합니다. 함수 로직은 다음과 같습니다.
pinescript
percentAsPoints(pcnt) =>
strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
이 함수는 포지션 크기가 0이 아닌 경우 퍼센트에 평균 진입 가격을 곱하고 최소 가격 변동폭으로 나누어 반올림한 가격 포인트를 반환합니다. 포지션이 0이면 na를 반환합니다.
이 함수를 사용하면 퍼센트를 포인트로 쉽게 변환할 수 있습니다. 그런 다음 프로그램은 설정된 1%, 2%, 3%, 4% 수익 실현에 따라 4개의 종료를 설정합니다.
pinescript
lossPnt = percentAsPoints(2)
strategy.exit("x1", qty_percent = 25, profit = percentAsPoints(1), loss = lossPnt)
strategy.exit("x2", qty_percent = 25, profit = percentAsPoints(2), loss = lossPnt)
strategy.exit("x3", qty_percent = 25, profit = percentAsPoints(3), loss = lossPnt)
strategy.exit("x4", profit = percentAsPoints(4), loss = lossPnt)
동시에 모든 종료는 공통 2% 손절을 사용합니다. 이렇게 하여 여러 퍼센트 수익 실현 효과가 구현됩니다.
장점 분석
이러한 여러 퍼센트 수익 실현 전략은 다음과 같은 장점이 있습니다.
-
단계적으로 수익을 실현하여 더 큰 이익 기회를 놓치는 것을 방지할 수 있습니다. 일반적으로 뒤로 갈수록 수익 실현 폭이 커지고 위험도 커지지만, 이 전략은 위험과 수익을 균형 있게 조절할 수 있습니다.
-
분할 수익 실현은 원금을 회수하여 리스크를 낮출 수 있습니다. 예를 들어 25%씩 분할할 경우 수익이 1%에 도달하면 원금의 1/4을 회수하고, 이후 포지션은 이익으로 운용됩니다.
-
비정상적인 시장 상황에서 손절을 방지합니다. 2%의 손절은 극단적인 변동으로 인한 큰 손실을 피할 수 있습니다.
-
코드 구현이 간단하고 명확하여 이해하기 쉽고 수정 및 최적화가 용이합니다. 사용자 정의 함수로 퍼센트를 포인트로 변환한 후 몇 줄의 코드로 여러 수익 실현을 설정할 수 있습니다.
위험 분석
이 전략에는 다음과 같은 위험도 존재합니다.
-
퍼센트 수익 실현은 횡보 변동을 유발할 수 있습니다. 가격이 수익 실현 가격 근처에서 오르내리면서 잦은 수익 실현과 손절이 발생하여 거래 빈도와 수수료 부담이 증가할 수 있습니다.
-
분할 수익 실현은 거래 횟수를 늘려 수수료 부담이 증가합니다. 수수료가 너무 높으면 일부 수익 실현 이익이 상쇄될 수 있습니다.
-
수익 실현 지점을 잘못 설정하면 수익률에 영향을 줄 수 있습니다. 너무 보수적으로 설정하면 만족스러운 수익을 얻기 어렵고, 너무 공격적으로 설정하면 위험이 과도해집니다.
-
고정 퍼센트 수익 실현은 시장 변동성과 추세를 고려하지 않습니다. 변동성 장세에서는 수익 실현 폭을 줄이고, 추세 장세에서는 수익 실현 폭을 늘리는 것이 좋습니다.
최적화 방향
위와 같은 위험을 고려하여 다음과 같은 측면에서 지속적으로 최적화할 수 있습니다.
-
수익 실현 전략을 최적화하여 시장 변동성과 추세에 따라 자동으로 조정되도록 합니다. 예를 들어 ATR(평균 진폭) 기반 수익 실현을 추가하여 변동성 장세에서는 수익 실현을 좁히고, 추세 장세에서는 넓힙니다.
-
분할 수익 실현의 비율과 폭을 최적화하여 위험과 수익의 최적 조합을 찾습니다. 매개변수 최적화 기능을 추가하여 최적의 매개변수를 찾습니다.
-
수익 실현 횟수를 줄여 지나치게 빈번한 거래를 방지합니다. 예를 들어 가격 버퍼를 설정하여 일정 폭 이상을 초과할 때만 수익 실현하도록 합니다.
-
수수료 요소를 고려하여 예상 수익 실현 이익이 수수료보다 낮으면 수익 실현을 하지 않거나 수수료에 맞춰 수익 실현 폭을 최적화합니다.
-
호가창 기반 수익 실현을 사용합니다. 깊이 우선, 가격 우선 오퍼를 활용하여 수익 실현 가격이 밀리는 것을 방지합니다.
요약
이 전략은 여러 퍼센트 수익 실현 효과를 구현합니다. 1%, 2%, 3%, 4%의 네 가지 수익 실현 종료를 설정하여 단계적으로 수익을 실현하고, 동시에 2% 손절을 사용하여 비정상적인 시장 상황에서 큰 손실을 방지합니다. 이 전략은 위험과 수익을 균형 있게 조절하고 더 큰 이익 기회를 놓치는 것을 방지할 수 있습니다. 그러나 횡보 변동을 유발하거나 거래 빈도를 증가시키는 등의 위험도 존재합니다. 이러한 제안들은 전략에 반영하여 최적화함으로써 더 많은 시장에서 안정적으로 작동할 수 있도록 고려할 가치가 있습니다.
- 1

