지원 및 저항 트렌드 추적 전략

저자:차오장, 날짜: 2024-02-27 15:11:04
태그:

img

전반적인 설명

이 전략은 세 가지 기술 지표 - 지원, 저항 및 트렌드 라인 - 을 활용하여 엔트리를 자동화하고 손실을 중지합니다. 먼저 주요 지원 및 저항 수준을 식별하고 진입 시기를 결정하기 위해 트렌드 방향을 결합합니다.

전략 논리

  1. 주요 지지 및 저항 수준을 파악합니다.
  2. 트렌드 라인을 사용하여 시장 트렌드 방향을 결정합니다. 상승 추세는 가격이 이전 폐쇄보다 높을 때 정의됩니다. 그렇지 않으면 하락 추세입니다.
  3. 가격이 지원 수준에 접근하고 상승 추세가 발생하면 구매 신호가 발생합니다.
  4. 가격이 저항 수준에 접근하고 하락 추세가 발생하면 판매 신호가 발생합니다.
  5. 이윤 타겟은 리스크/리워드 비율을 기준으로 계산되며, 스톱 로스는 지원 수준 근처에 설정됩니다.
  6. 트레이일링 스톱 로스는 수익을 확보하는 데 사용될 수 있습니다.

이점 분석

  1. 지원, 저항 및 트렌드 - 세 가지 강력한 기술 지표의 힘을 완전히 활용합니다.
  2. 자동 입력 시기는 주관적 오류를 제거합니다.
  3. 주요 지원 수준 근처에 있는 스톱 로스로 제어 가능한 위험
  4. 선택적인 후속 스톱 손실은 수익을 회수하지 않도록 합니다.

위험 분석

  1. 실패한 브레이크 위험 - 가격은 초기 브레이크 이후 깨진 지원 또는 저항 수준을 다시 테스트 할 수 있습니다.
  2. 트렌드 잘못된 판단 위험 - 트렌드 라인을만 사용하면 정확하지 않은 트렌드 편향이 발생할 수 있습니다.
  3. 스톱 로스가 위험에서 벗어나는 것 - 스톱 로스는 지지율에서 가까운 거리에 있음에도 불구하고 여전히 변동적인 가격 변동에 의해 영향을받을 수 있습니다.

해결책:

  1. 지원/항압 검증을 위해 더 넓은 범위를 허용합니다.
  2. 트렌드 편향을 확인하기 위해 여러 가지 지표를 사용하십시오.
  3. 범위에 기반한 스톱 손실 또는 적절한 수동 개입을 채택합니다.

최적화 방향

  1. 입력 신호를 확인하기 위해 더 많은 지표를 추가하십시오. 예를 들어 부피 기반 지표, 이동 평균 등. 이것은 정확성을 향상시킬 수 있습니다.
  2. 다양한 매개 변수를 테스트하여 지원, 저항 및 스톱 손실 수준을 최적화합니다.
  3. 기계 학습 방법을 시도해서 매개 변수를 자동으로 최적화해 보세요.

결론

이 전략은 여러 가지 기술 도구의 힘을 결합합니다. 적절한 매개 변수 조정으로, 좋은 위험 조정 수익을 얻을 수 있습니다. 열쇠는 매개 변수와 입력 순서를 최적화하는 것입니다. 전반적으로 전략 프레임워크는 건전하며 개선 잠재력이 있습니다.


/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-26 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Support Resistance Trend Strategy", overlay=true)

// Input parameters
supportLevel = input(100, title="Support Level")
resistanceLevel = input(200, title="Resistance Level")
riskRewardRatio = input(2, title="Risk-Reward Ratio")
trailStopLoss = input(true, title="Use Trailing Stop Loss")

// Calculate trend direction based on trend lines
trendUp = close > request.security(syminfo.tickerid, "D", close[1])
trendDown = close < request.security(syminfo.tickerid, "D", close[1])

// Buy signal condition
buySignal = close < supportLevel and trendUp

// Sell signal condition
sellSignal = close > resistanceLevel and trendDown

// Entry point and exit conditions
strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)

// Calculate targets and stop-loss levels
targetPrice = close + (close - supportLevel) * riskRewardRatio
stopLossLevel = supportLevel

// Plot support and resistance levels
plot(supportLevel, color=color.green, linewidth=2, title="Support Level")
plot(resistanceLevel, color=color.red, linewidth=2, title="Resistance Level")

// Plot targets and stop-loss levels
plot(targetPrice, color=color.blue, linewidth=2, title="Target Price")
plot(stopLossLevel, color=color.orange, linewidth=2, title="Stop Loss Level")

// Trailing stop-loss
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", loss=stopLossLevel, profit=targetPrice)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", loss=targetPrice, profit=stopLossLevel)

// Plot trail stop loss
if (trailStopLoss)
    strategy.exit("Trailing Stop Loss", from_entry="Buy", loss=stopLossLevel)
    strategy.exit("Trailing Stop Loss", from_entry="Sell", loss=stopLossLevel)


더 많은