거북이 전략 되돌림 진입 돌파 거래 시스템

ATR MA SMA EMA DONCHIAN BREAKOUT 海龟交易法则 趋势跟踪 风险管理
생성 날짜: 2025-07-02 11:17:59 마지막으로 수정됨: 2025-07-02 11:17:59
복사: 2 클릭수: 407
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

거북이 전략 되돌림 진입 돌파 거래 시스템 거북이 전략 되돌림 진입 돌파 거래 시스템

개요

해수욕 전략 회수장 개시 거래 시스템은 고전 해수욕 거래 법칙의 개시 개념과 지능적인 회수장 입구를 결합한 개선된 트렌드 추적 시스템이다. 이 전략은 전통적인 해수욕 거래 시스템과 달리 가격이 20일 고점을 돌파했을 때 바로 입문하고, 가격이 1퍼센트 회수된 후 재구성하기 위해 기다린다. 이 디자인은 입문 효율성을 크게 높여서 가짜 돌파로 인한 손실 위험을 줄여준다. 이 시스템은 세 가지 조건으로 퇴출 거래를 관리한다: 가격이 입문점 아래로 1.4%로 떨어지면 손실을 만지고, 입문점 위쪽으로 1.8%로 상승하면 이익을 얻거나, 가격이 20일 하락을 돌리면 트렌드 부실효성을 인식하고 퇴출한다.

전략 원칙

이 전략의 핵심 원칙은 트렌드 추적과 가격 회귀의 조합에 기초하고 있으며, 구체적으로 구현되는 논리는 다음과 같습니다.

  1. 브레이크 아이덴티티 메커니즘: 시스템은 현재 종결 가격과 전날의 20일 최고 가격을 비교하여 종결 가격이 전날의 20일 최고 가격을 상향으로 돌파했을 때 잠재적인 진입 기회로 표시됩니다.breakoutHappened변수는 true로 설정)

  2. 로그틱을 되돌리세요.이 전략은 기존의 해파리 거래 시스템과 달리, 20일 최고 가격 아래 1%의 가격으로 재수입을 계산한다.pullbackPrice = highestHigh * (1 - pullback_pct / 100)) ᅳ 파장이 확인되고 가격이 다시 철회된 입시 가격으로 돌아간 후에야 시스템이 더 많은 포지션을 열 수 있습니다。

  3. 복수 탈퇴 조건

    • 중단 조건: 가격이 입수 가격보다 1.4% 아래로 떨어지면 퇴출
    • 수익 조건: 가격이 입시 가격보다 1.8% 상승하면 퇴출
    • 트렌드 반전 조건: 20일 최저치를 넘어서서 퇴출
  4. 변수 재배치 논리: 시스템에서는 성공한 입학 후 돌파구 표시를 다시 설정합니다.breakoutHappened := false), 반복되는 발작을 피하십시오.

  5. 시각화 컴포넌트전략: 차트에 20일 최고점 ((녹색), 20일 최저점 ((붉은) 및 철수 입시 가격 ((오렌지색) 을 그리며, 지주 기간 동안 밝은 녹색 배경으로 상거래 가시성을 강화한다.

전략적 이점

  1. 가짜 침입의 위험을 줄이십시오.이 전략은 많은 가짜 돌파구를 효과적으로 필터링합니다. 종종 돌파구 이후 빠르게 반전되어 전통적인 해안 시스템 손실을 초래합니다.

  2. 진입 가격 개선: 회수입구 메커니즘은 거래자가 브레이크포인트에 직접 입구하는 것보다 더 좋은 가격으로 입구를 할 수 있도록 허용하며, 이는 거래당 리스크/수익률을 높일 수 있습니다.

  3. 명확한 위험 관리전략: 정확한 중지, 중지, 트렌드 반전 퇴출 메커니즘이 내장되어 있으며, 각 거래에는 미리 정의된 위험 제한이 있습니다. 이것은 자금 관리에 매우 중요합니다.

  4. 간단하지만 효과적입니다.논리적으로 간단하지만, 이 전략은 트렌드 추적 시스템의 핵심 장점을 포착하고 있으며, 역입장 메커니즘을 통해 추가 필터링 계층을 추가하여 시스템의 전반적인 효율성을 향상시킵니다.

  5. 매우 적응력이 좋다전략의 핵심 매개 변수들 (입장 회귀 기간, 퇴출 회귀 기간, 스톱 로드 비율, 목표 비율, 회귀 입장 비율) 은 다양한 시장과 시간 프레임에 따라 조정될 수 있어 시스템의 적응성을 강화한다.

  6. 심리적 장점: 회수입구 메커니즘은 인간 거래심리학과 더 잘 맞으며, 가격 높은 시점에 직접 입구하는 심리적 압박을 덜어주고, 실행 전략을 더 쉽게 만든다.

전략적 위험

  1. 강력한 추세를 놓치고 있습니다.: 회수 진입을 기다리는 것은 회수되지 않은 강력한 추세를 놓치게 될 수 있습니다. 특히 급격히 상승하는 시장에서 가격이 설정된 회수 수준으로 돌아가지 않을 수 있습니다.

  2. 매개변수 민감도전략 성능은 입점 회귀 기간, 퇴출 회귀 기간, 중지 손실 비율, 목표 비율 및 퇴출 입점 비율과 같은 매개 변수에 매우 민감합니다. 부적절한 매개 변수 설정은 자주 거래되거나 중요한 추세를 놓칠 수 있습니다.

  3. 시장 조건 의존이 전략은 강한 추세 시장에서 가장 잘 작동하지만, 간격적인 흔들림 시장에서는 종종 잘못된 신호와 손실이 발생할 수 있습니다. 시장 상태를 식별하는 보조 지표가 필요합니다.

  4. 고정 비율 위험전략: 고정된 비율을 사용하여 스톱로스 및 스톱 레벨을 계산합니다. 이것은 변동성이 큰 시장에 적합하지 않을 수 있습니다.

  5. 자금 관리 위험: 100%의 기본 계좌 사용은 너무 과격할 수 있으며, 연속적인 손실이 발생하면 심각한 손실이 발생할 수 있습니다.

해결 방법

  • 시장 상태 필터를 추가하여 트렌드가 뚜렷한 시장 환경에서만 거래합니다.
  • 고정된 비율이 아닌 ATR에 기반한 동적 스톱로즈를 사용함
  • 거래 당 계좌 자금의 작은 부분만 사용하는 재원 관리 전략의 조정 (예: 2%-5%)
  • 트래픽 또는 동력 지표와 같은 확인 지표를 추가하여 입구 신호 품질을 향상시킵니다.
  • 다른 시장주기에 적응하기 위해 매개 변수를 정기적으로 최적화하십시오.

전략 최적화 방향

  1. 동적 변동성 조정: 고정된 퍼센트 스톱, 스톱 및 회수 파라미터를 ATR (진짜 진폭 지표) 에 기반한 동적 값으로 대체한다. 예를 들어, 스톱을 2로 설정한다.*ATR, 고정된 1.4% 보다는. 이렇게 하면 전략이 다른 시장의 변동적 특성에 더 잘 적응할 수 있다. 이유: 고정된 비율은 높은 변동성 시장에서 너무 보수적이지만, 낮은 변동성 시장에서는 너무 완만할 수 있다.

  2. 양수 확인: 트렌드 필터를 추가하여 트렌드량이 증가할 때만 브레이크 신호를 확인하도록 한다. 이것은 가짜 브레이크의 수를 줄이고 신호의 질을 향상시킬 수 있다. 이유: 진정한 트렌드 브레이크는 일반적으로 트렌드량이 눈에 띄게 증가한다.

  3. %의 자율적 회수: 최근 시장의 변동성에 따라 자동으로 조정된 회수 비율, 높은 변동성 시장에서 더 큰 회수 비율, 낮은 변동성 시장에서 더 작은 회수 비율을 사용한다. 이유: 다른 시장 환경은 다른 회수 설정을 필요로 한다.

  4. 시장 환경 필터링: 시장 환경을 식별하는 메커니즘을 추가합니다. 예를 들어, 장기 이동 평균을 사용하여 전체 트렌드 방향을 판단합니다. 전체 트렌드 방향과 거래 방향이 일치하는 경우에만 진입하십시오. 이유: 트렌드 추적 전략은 트렌드가 명확한 시장에서 가장 효과적입니다.

  5. 다중 시간 프레임 분석: 더 긴 시간 프레임의 트렌드 정보를 통합하여 거래 방향이 더 큰 시장 추세와 일치하는지 확인합니다. 이유: 더 큰 추세 방향의 거래는 일반적으로 더 높은 성공률을 나타냅니다.

  6. 자금 관리 최적화: 리스크에 기반한 포지션 규모 계산을 도입하여, 예를 들어, 거래 당 리스크 계정의 고정된 비율 (예: 1%) 을 사용하여 계정의 100%의 자금을 사용하는 대신. 이유: 이 방법은 수익 잠재력을 유지하면서 포지션 폭파 위험을 크게 줄일 수 있습니다.

  7. 일부 수익 메커니즘을 추가: 특정 수익 목표가 달성되면 포지션을 분할적으로 청산합니다. 예를 들어, 초기 위험 1 배에 도달하면 포지션의 절반을 청산하고 나머지 포지션을 더 큰 트렌드를 잡기 위해 계속 운영합니다. 이유: 이 방법은 큰 트렌드를 잡는 능력을 유지하면서 일부 수익을 잠금하는 것을 보장합니다.

요약하다

바닷가 전략 회수 입구 브레이크 거래 시스템은 고전적인 바닷가 거래 규칙에 대한 지능적인 개선으로, 회수 입구 메커니즘을 도입하여 입구 효율성을 크게 향상시키고 가짜 브레이크의 위험을 줄입니다. 이 전략은 트렌드 추적 시스템의 핵심 장점을 유지하고 큰 트렌드를 포착 할 수있는 능력과 동시에 더 최적화된 입구 타이밍을 통해 위험 수익률을 높입니다. 시스템의 여러 가지 탈퇴 조건 (정지, 정지 및 트렌드 역전) 보다 전체적인 위험 관리 프레임워크를 제공하며, 사용자 정의 가능한 파라미터는 다양한 시장 환경에 적용됩니다.

이 전략은 강한 추세 시장에서 우수한 성능을 발휘하지만, 여전히 강력한 추세, 변수 민감성 및 시장 조건 의존성을 놓칠 위험이 있습니다. 동적 변동 조정, 거래량 확인, 적응 변수 및 최적화된 자금 관리와 같은 개선을 도입함으로써 전략의 탄력성과 적응력을 더욱 강화 할 수 있습니다.

시장의 추세를 포착하면서 조기 진입 함정을 피하려는 거래자들에게, 이러한 역입장 메커니즘은 심리적으로 더 쉽게 실행할 수 있고 잠재적으로 더 높은 수익을 창출하는 거래 방법을 제공합니다. 적절한 위험 관리와 시장 환경 필터링과 함께, 이 전략은 거래자의 무기군에서 강력한 도구가 될 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-07-02 00:00:00
end: 2025-06-30 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Turtle Strategy Pullback Entry", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// === INPUTS ===
entry_length = input.int(20, "Entry Lookback (High)", minval=1)
exit_length  = input.int(20, "Exit Lookback (Low)", minval=1)
sl_percent   = input.float(1.4, "Stop Loss (%)", minval=0.1)
tp_percent   = input.float(1.8, "Target (%)", minval=0.1)
pullback_pct = input.float(1.0, "Pullback Entry (%)", minval=0.1)

// === CALCULATIONS ===
highestHigh = ta.highest(high, entry_length)
lowestLow   = ta.lowest(low, exit_length)

// === TRACK BREAKOUT ===
var bool breakoutHappened = false
breakoutHappened := ta.crossover(close, highestHigh[1]) ? true : (strategy.position_size == 0 and breakoutHappened ? breakoutHappened : false)

// === ENTRY LOGIC ===
// Pullback price = 1% below breakout level
pullbackPrice = highestHigh * (1 - pullback_pct / 100)
longCondition = breakoutHappened and close <= pullbackPrice and strategy.position_size == 0

if (longCondition)
    strategy.entry("Long", strategy.long)
    breakoutHappened := false  // reset after entry

// === EXIT LOGIC ===
var float entryPrice = na
if (strategy.opentrades > 0)
    entryPrice := strategy.opentrades.entry_price(0)
else
    entryPrice := na

sl_level = entryPrice * (1 - sl_percent / 100)
tp_level = entryPrice * (1 + tp_percent / 100)

exitCondition = ta.crossunder(close, lowestLow[1]) or (not na(entryPrice) and (close <= sl_level or close >= tp_level))

if (exitCondition)
    strategy.close("Long")

// === PLOTS ===
plot(highestHigh, title="20-Day High", color=color.green)
plot(lowestLow, title="20-Day Low", color=color.red)
plot(pullbackPrice, title="Pullback Entry Price", color=color.orange, style=plot.style_line)

// === BACKGROUND COLOR ===
bgcolor(strategy.position_size > 0 ? color.new(color.green, 85) : na, title="Position Background")