후속 중지 손실 비율 전략

저자:차오장, 날짜: 2024-02-01 11:05:36
태그:

img

전반적인 설명

이 전략은 날짜별 트리거와 트래일링 스톱 로스 메커니즘을 갖춘 긴 포지션 엔트리를 위해 설계되었습니다. 특히 특정 캘린더 날짜에 따라 엔트리를 자동화하고 트래일링 스톱 로스 같은 동적 리스크 제어 방법을 사용하여 포지션을 관리하려는 거래자에게 유용합니다.

전략 논리

이 전략은 먼저 달과 날을 포함한 특정 입시 날짜를 입력하고, 그 다음이 날짜를 기반으로 정확한 입시 시간표를 계산합니다. 또한 트레일링 스톱 손실의 비율 매개 변수를 입력합니다.

엔트리 날짜에 전략은 긴 포지션을 열고 동시에 가장 높은 가격 (highestPrice) 과 스톱 러스 가격 (stopLoss) 을 기록합니다. 가장 높은 가격은 시간이 지남에 따라 계속 업데이트되며, 스톱 러스는 특정 비율로 하락합니다.

만약 가격이 스톱 로스 이하로 떨어지면, 포지션은 닫을 것입니다. 그렇지 않으면, 포지션은 열려있으며, 스톱 로스는 수익을 확보하고 위험을 통제하기 위해 가장 높은 가격에 따라 계속됩니다.

이점 분석

이 전략의 주요 장점은 다음과 같습니다.

  1. 특정 날짜에 기반한 자동 입력. 중요한 사건에 대한 전략 거래에 적합합니다.
  2. 트레일링 스톱 로스를 적용하여 수익을 동적으로 차단하고 위험을 효과적으로 관리합니다.
  3. %로 설정된 스톱 손실, 간단하고 직관적으로 작동합니다.
  4. 장기적으로 보유해서 상승 가능성을 극대화할 수 있습니다.

위험 분석

또한 몇 가지 위험이 있습니다.

  1. 스톱 로스 실패의 위험. 가격이 스톱 로스 이하로 급격히 떨어지고 다시 반등되면 포지션이 중단되어 반향을 잡지 못할 수 있습니다.
  2. 최대 손실에 제한이 없습니다. 후속 스톱 손실 비율이 너무 넓다면 최대 손실은 기대치를 초과할 수 있습니다.

개선 가능점:

  1. 다른 지표를 결합하여 시장이 고정을 당할 때 일시 중지하여 실패를 피합니다.
  2. 스톱 로스 비율을 조심스럽게 설정하세요. 보통 10% 이하로요.

최적화

가능한 최적화 방향:

  1. 이윤을 취하는 메커니즘을 추가합니다. 가격이 50%나 상승하면 부분적 또는 전체적인 이윤을 취합니다.
  2. 지수로부터의 시장 체제 신호에 기반한 후속 폭을 최적화합니다. 시장 통합에 따라 넓어집니다.
  3. 포지션 크기를 높이고 새로운 고도가 발생하면 더 큰 수익을 위해 피라미딩을 고려하십시오.

결론

이 전략은 트레일링 스톱 로스를 통해 자동화 된 날짜 기반 엔트리 및 동적 리스크 관리를 제공합니다. 간단하고 직관적으로 작동하며 장기 보유에 적합합니다. 추가 최적화는 매우 실용적인 양 거래 전략으로 만들 수 있습니다.


/*backtest
start: 2024-01-24 00:00:00
end: 2024-01-31 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Trailing Stop Loss Percent",
     overlay=true, pyramiding=1)

// Input for the specific entry date
entryDay = input.int(defval = 1, title = "Entry Day", minval = 1, maxval = 31)
entryMonth = input.int(defval = 1, title = "Entry Month", minval = 1, maxval = 12)
entryYear = input.int(defval = 2023, title = "Entry Year", minval = 1970)

// Calculate the entry date timestamp
entryDate = timestamp(entryYear, entryMonth, entryDay, 00, 00)

// Trailing Stop Loss Percentage
trailStopPercent = input.float(defval = 5.0, title = "Trailing Stop Loss (%)", minval = 0.1)

// Entry Condition
enterTrade = true

// Variables to track the highest price and stop loss level since entry
var float highestPrice = na
var float stopLoss = na

// Update the highest price and stop loss level
if strategy.position_size > 0
    highestPrice := math.max(highestPrice, high)
    stopLoss := highestPrice * (1 - trailStopPercent / 100)

// Enter the strategy
if enterTrade
    strategy.entry("Long Entry", strategy.long)
    highestPrice := high
    stopLoss := highestPrice * (1 - trailStopPercent / 100)

// Exit the strategy if the stop loss is hit
if strategy.position_size > 0 and low <= stopLoss
    strategy.close("Long Entry")

// Plotting the stop loss level for reference
plot(strategy.position_size > 0 ? stopLoss : na, "Trailing Stop Loss", color=color.red)

더 많은