
반향 트렌드 탈퇴 전략은 가격의 역사적인 고도와 낮은 지점을 돌파하는 것을 기반으로 한 양적 거래 시스템이며, 트렌드 반전 신호를 탈퇴 메커니즘으로 결합합니다. 이 전략은 지난 3 거래 날의 최고 가격과 최저 가격을 모니터링하여, 가격이 이러한 중요한 수준을 돌파 할 때 입문 작업을 수행하고, 반향 트렌드 탈퇴 신호가 발생하면 평형으로 탈퇴합니다. 이 방법은 단기 가격 움직임을 포착하고, 동향이 바뀌면 적시에 손실을 중지하거나 이익을 잠금하여 완전한 거래 순환을 형성합니다.
이 전략의 핵심은 두 가지 핵심 개념에 기초하고 있습니다.
high3 = ta.highest(high[1], 3)
low3 = ta.lowest(low[1], 3)
longEntry = close > high3
shortEntry = close < low3
isLong = strategy.position_size > 0
isShort = strategy.position_size < 0
wasLong = nz(strategy.position_size[1] > 0)
wasShort = nz(strategy.position_size[1] < 0)
longExit = shortEntry
shortExit = longEntry
간단하지만 효과적입니다.이 전략은 간단한 가격 행동 원칙에 기반하여 이해하기 쉽고 실행이 가능하며 복잡한 기술 지표가 필요하지 않아 과다 조화될 위험이 낮아집니다.
적응력비교적 최근의 3일 하위/높이를 기준으로 하여, 전략은 다양한 시장 환경과 변동률 상황에 적응할 수 있으며, 너무 민감하거나 너무 느려지지 않습니다.
명확한 출전규칙전략은 명확한 입시 신호와 퇴출 조건을 제공하여 거래 과정에서 주관적인 판단을 제거하고 거래 규율을 유지하는 데 도움이됩니다.
역전성 보호: 트렌드 반전을 퇴출 신호로 사용하여, 시장 방향이 바뀌면 신속하게 포지션을 청산하고, 철수를 효과적으로 제어하고, 이미 얻은 이익을 보호할 수 있다.
전체적인 재무 관리전략: 순자산 비율 방식으로 포지션을 관리하는 방법, 고정 수에 비해 더 유연한 방법, 계정 크기에 따라 거래 규모를 자동으로 조정할 수 있다.
시각적 피드백이 명확합니다.전략 차트 상의 구매, 판매 및 탈퇴 표시를 통해 거래자는 전략 수행을 직관적으로 이해할 수 있으며, 분석 및 전략 최적화를 촉진합니다.
가짜 해킹의 위험시장은 단기적인 가짜 돌파구가 발생할 수 있으며, 이는 전략이 출입 후 급속하게 역으로 이동하여 불필요한 거래 비용과 손실을 초래할 수 있습니다. 해결 방법: 거래량을 확인하거나 가격이 돌파구 위치에 일정 시간 동안 머물기를 기다리는 것과 같은 확인 필터를 추가 할 수 있습니다.
자주 거래하는 위험높은 변동성이 있는 시장에서, 가격이 자주 3일 높은 낮은 지점을 돌파할 수 있으며, 이는 과도한 거래와 수수료 침식을 초래한다. 해결 방법: 참조주기를 연장하거나 냉각기를 추가하여 거래 빈도를 줄일 수 있다.
손해 방지 장치의 부재: 현재 전략은 역동성 신호에 의존하여 탈퇴하는 것으로, 극단적인 시장 조건에서 큰 손실을 초래할 수 있다. 해결 방법: 추가적인 보호로서 고정된 스톱 손실 또는 변동률 조정 스톱 손실 장치를 추가한다.
시장 공백 위험: 하룻밤의 폭파 또는 중요한 뉴스 사건 이후 가격이 크게 상승할 수 있으며, 실제 입출장 가격이 예상보다 훨씬 낮아질 수 있습니다. 해결 방법: 최대 허용 슬라이드 지점을 설정하거나 스톱 손실 명령을 사용하십시오.
환경이 없는 경향: 격동적인 시장 환경에서는 3 일간 돌파 전략이 좋지 않아 여러 번의 잘못된 신호를 생성할 수 있습니다. 해결 방법: 시장 상태 필터를 추가하여 명확한 추세를 식별하는 시장 환경에서만 전략을 적용하십시오.
최적화 참조 주기: 현재 고정된 3일 기준주기는 모든 시장 조건에 적합하지 않을 수 있다. 참조주기의 동적조정을 실현하는 것이 권장되며, 시장의 변동률에 따라 돌파구 주기의 길이를 자동으로 조정하고, 높은 변동률의 시장에서 더 긴 주기를 사용하고, 낮은 변동률의 시장에서 더 짧은 주기를 사용합니다.
필터링 조건을 추가: 추가 필터링 조건을 도입하여 신호 품질을 향상시킬 수 있습니다. 예를 들어:
탈퇴 메커니즘이 경우, 이 기구에 추가할 수 있는 다른 기구들은 다음과 같습니다:
일부 포지션 관리 도입: 현재 전략은 100%의 순가율 거래를 채택하고 있으며, 신호 강도 또는 시장 상황의 동성에 따라 포지션 크기를 조정하고, 더 확실한 신호에 포지션을 증가시키고, 약한 신호에 포지션을 감소시키는 것을 고려할 수 있습니다.
시간 프레임 필터를 추가하세요: 더 긴 시간 주기에서 트렌드 방향을 확인하고, 장기적인 트렌드와 일치하는 방향으로만 거래하여 역전 거래의 위험을 줄여줍니다. 이러한 다중 시간 프레임 분석은 전략의 성공률을 크게 향상시킬 수 있습니다.
3일 반향 트렌드 탈퇴 전략은 가격 돌파구와 트렌드 추적 원리를 결합한 거래 시스템으로, 단기 가격 높낮이를 모니터링하여 입문 신호를 구축하고, 반향 돌파구를 탈퇴 메커니즘으로 사용한다. 이 전략의 장점은 개념이 간단하고, 규칙이 명확하며, 적응력이 강하며, 초보자 및 경험이 풍부한 거래자의 사용에 적합하다. 그러나, 전략에는 허위 돌파구 위험, 과도한 거래 위험 및 완벽한 손해 방지 장치의 부족 등의 문제가 있습니다. 참조 주기를 최적화하고, 과잉 조건을 추가하고, 탈퇴 메커니즘을 개선하고, 더 지능적인 포지션 관리를 도입함으로써 전략의 안정성과 수익성을 크게 향상시킬 수 있다.
/*backtest
start: 2025-03-30 00:00:00
end: 2025-04-29 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("3-Day Breakout Strategy with Trend Change Exit", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Calculate 3-day high/low (excluding current bar) ===
high3 = ta.highest(high[1], 3)
low3 = ta.lowest(low[1], 3)
// === Entry conditions ===
longEntry = close > high3
shortEntry = close < low3
// === Track position state ===
isLong = strategy.position_size > 0
isShort = strategy.position_size < 0
wasLong = nz(strategy.position_size[1] > 0)
wasShort = nz(strategy.position_size[1] < 0)
// === Exit conditions ===
// Exit on trend reversal (new signal)
longExit = shortEntry // Exit long position when a short signal occurs
shortExit = longEntry // Exit short position when a long signal occurs
// === Execute entries ===
buySignal = longEntry and not isLong and not isShort
sellSignal = shortEntry and not isLong and not isShort
if (buySignal)
strategy.entry("Long", strategy.long)
if (sellSignal)
strategy.entry("Short", strategy.short)
// === Execute exits on opposite signal (trend change) ===
if (isLong and longExit)
strategy.close("Long")
if (isShort and shortExit)
strategy.close("Short")
// === Exit markers (on actual exit bar only) ===
exitLongSignal = wasLong and not isLong
exitShortSignal = wasShort and not isShort
// === Plot entry signals only on the entry bar ===
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// === Plot exit signals only on the exit bar ===
plotshape(exitLongSignal, title="Exit Long", location=location.abovebar, color=color.orange, style=shape.labeldown, text="EXIT")
plotshape(exitShortSignal, title="Exit Short", location=location.belowbar, color=color.orange, style=shape.labelup, text="EXIT")