
유동성 청소와 트렌드 추적 수량 거래 전략은 시장 유동성 청소와 트렌드 추적을 결합한 이중 기술 분석 방법이다. 이 전략은 주로 가격의 최근 고저에 대한 돌파구를 식별하여 (유동성 청소) 및 이동 평균의 상대적인 위치를 확인하여 (트렌드 확인) 진입 신호를 결정한다. 전략은 간단한 이동 평균을 (SMA) 트렌드 판단 도구로 사용하고, 실제 평균 범위를 (ATR) 동적으로 정지 및 정지 수준을 설정하여 시장의 변동성에 적응한다.
이 전략의 핵심 원칙은 두 가지 핵심 시장 행동: 유동성 청소와 트렌드 방향에 기초하고 있습니다.
유동성 훼손을 식별하기:
swingLookback변수 ((비용 3) 는 최근 하위점의 회귀주기를 정의합니다.동향 확인:
출입 신호:
위험 관리:
시각화 컴포넌트:
시장 구조와 트렌드 결합이 전략은 유동성 청소 (시장 구조) 와 이동 평균 (향상) 을 결합하여 더 신뢰할 수 있는 거래 신호를 포착하고 가짜 돌파구를 피할 수 있습니다.
동적 위험 관리ATR을 사용하여 중지 및 중지 수준을 조정하여 위험 관리가 시장의 변동성에 적응할 수 있도록 하며, 변동성이 높은 시장에서 더 느슨한 중지, 변동성이 낮은 시장에서 더 엄격한 중지.
간단하고 효과적인 매개 변수: 전략은 이동 평균 주기, ATR 주기, 스톱 손실 곱하기, 스톱 스톱 곱하기 및 회귀 주기와 같은 몇 가지 핵심 파라미터를 사용하여 전략을 쉽게 이해하고 최적화합니다.
시각적 피드백전략: 트렌드 배경 색상, 유동성 스캐닝 표시, 이동 평균을 포함한 직관적인 시각적 지시를 제공하여 거래자가 시장 상황을 신속하게 평가할 수 있도록 도와줍니다.
내장된 경고 기능이 전략은 구매 및 판매 신호를 통한 경고를 통합하여 거래자가 거래 기회에 대해 알릴 수 있도록 지원합니다.
자금 관리 통합전략: 계정 지분 비율을 사용하여 포지션 관리를 수행하고, 10%를 기본으로 설정하여 계정이 성장함에 따라 포지션 규모가 적절히 조정되도록합니다.
가짜 침입 위험: 트렌드 확인과 함께, 유동성 청소는 여전히 가짜 브레이크 신호를 유발할 수 있습니다. 특히 시장의 변동이 급격하거나 수평으로 정리 될 때.
과도한 거래의 위험“그때”swingLookback파라미터를 너무 작게 설정하면 ((기본 3) 과잉 거래 신호가 발생할 수 있습니다. 해결 방법: 거래 품종의 특성 및 시간 프레임에 따라 파라미터를 조정하거나 신호 확인 장치를 추가하십시오.
너무 좁고 너무 넓은 리스크: 고정된 ATR 곱수는 특정 시장 조건에서 충분히 유연하지 않을 수 있다. 해결 방법: 시장 상태에 따라 ATR 곱수를 동적으로 조정하는 것을 고려한다.
추세 반전 위험: 이동 평균은 지연 지표로, 트렌드 반전 시 충분히 빠르게 반응하지 않을 수 있습니다. 해결 방법: 트렌드를 판단하기 위해 ALMA 또는 쌍 EMA 교차와 같은 더 민감한 지표를 사용하는 것을 고려하십시오.
고정 리스크 리터드 비율 제한전략: 고정된 ATR 배수를 사용한다 (설정된 중지 손실 1.5배, 중지 손실 3배), 시장 구조의 지원 저항 지점을 고려하지 않는다. 해결 방법: 시장 구조의 동력에 따라 목표 가격을 조정하는 데 개선할 수 있다.
다중 시간 프레임 분석: 더 높은 시간 프레임의 트렌드 확인을 도입하면 전략의 신뢰성을 크게 향상시킬 수 있습니다. 예를 들어, 더 큰 시간 프레임의 트렌드 방향이 일치하는 경우에만 거래하면 역행 거래의 위험을 줄일 수 있습니다.
동적 변수 조정: 시장의 변동성이나 거래량 변화에 따른 동적 조정swingLookback예를 들어, 높은 변동성이 있는 시장에서 회귀 주기를 늘리고, 잘못된 신호를 줄여줍니다.
볼륨 증가 확인거래량을 확인 지표로 사용하여 거래량이 증가하는 경우에만 시그널을 확인합니다. 이것은 가짜 브레이크 거래를 크게 줄일 수 있습니다.
시장 구조 식별을 도입가격 구조에 대한 이해를 강화하는 전략, 예를 들어 더 높은 고점/더 낮은 낮은 형태를 식별하거나 지원/저항 영역을 식별하여 진입점과 목표 가격을 최적화하십시오.
자율 이동 평균: 다양한 시장 조건에 더 잘 적응하기 위해 간단한 이동 평균을 대체하여 적응형 이동 평균 (KAMA 또는 ALMA와 같은) 을 사용하는 것을 고려하십시오.
시간 필터시간 필터를 추가하여 아시아 시장의 상반기 기간이나 중요한 경제 데이터가 발표되기 전과 후의 높은 변동 기간과 같은 알려진 저효율 거래 시기를 피합니다.
포지션 관리 최적화: 현재 전략은 고정된 이자 비율을 사용한다 ((10%), 변동성이나 위험 모델에 따라 포지션 크기를 동적으로 조정하는 것을 고려할 수 있다, 또는 피라미드 가장 전략을 시행한다.
유동성 청소와 트렌드 추적 수량 거래 전략은 기술 분석과 위험 관리를 결합한 전체 거래 시스템입니다. 시장에서 유동성 청소 행위를 식별하고 트렌드 확인과 결합하여 높은 확률의 거래 기회를 잡는 것을 목표로합니다. 동적 위험 관리 메커니즘은 ATR을 사용하여 시장의 변동성에 적응하여 적응 가능한 중지 및 중지 수준을 제공합니다.
이 전략의 주요 장점은 간단하고 효과적인 매개 변수 설정과 풍부한 시각적 피드백으로, 다양한 종류의 거래자들이 사용할 수 있도록 하는 것이다. 그러나, 이 전략에는 가짜 돌파구 위험과 과잉 거래의 가능성이 존재하며, 추가적인 필터링 조건과 다중 시간 프레임 분석을 추가하여 최적화 할 수 있다.
미래 최적화 방향은 다중 시간 프레임 분석, 동적 파라미터 조정, 거래량 확인 및 시장 구조를 강화하는 등이다. 이러한 최적화를 통해 전략의 신뢰성 및 수익성을 더욱 높이고, 잘못된 신호와 불필요한 거래 빈도를 줄일 수 있다.
이 전략은 시장 구조와 트렌드 추적 방법을 결합하는 거래자를위한 견고한 기본 프레임 워크를 제공하며 개인 위험 선호와 거래 스타일에 따라 사용자 정의 및 확장 할 수 있습니다.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-02-07 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_OKX","currency":"ETH_USDT","balance":5000}]
*/
//@version=5
strategy("Liquidity Sweep & Trend Following BTCUSD (Signals Visible)", overlay=true)
// ==== Inputs ====
length = input.int(20, "Trend MA Length")
atrLength = input.int(14, "ATR Length")
stopLossATR = input.float(1.5, "Stop Loss ATR Multiplier")
takeProfitATR = input.float(3, "Take Profit ATR Multiplier")
swingLookback = input.int(3, "Recent High/Low Lookback") // shorter for more signals
// ==== Indicators ====
ma = ta.sma(close, length)
atr = ta.atr(atrLength)
// ==== Trend Detection ====
trendUp = close > ma
trendDown = close < ma
// ==== Detect Liquidity Sweeps ====
// Relaxed condition
recentHigh = ta.highest(high, swingLookback)
recentLow = ta.lowest(low, swingLookback)
bullSweep = high >= recentHigh
bearSweep = low <= recentLow
// ==== Entry Rules ====
longCondition = bullSweep and trendUp
shortCondition = bearSweep and trendDown
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// ==== Exit Rules ====
strategy.exit("Exit Long", "Long", stop=close - atr*stopLossATR, limit=close + atr*takeProfitATR)
strategy.exit("Exit Short", "Short", stop=close + atr*stopLossATR, limit=close - atr*takeProfitATR)
// ==== Plot Trend MA ====
plot(ma, color=color.yellow, linewidth=2, title="Trend MA")
// ==== Plot Sweep Markers ====
plotshape(bullSweep, style=shape.triangleup, location=location.abovebar, color=color.green, size=size.small, title="Bull Sweep Marker")
plotshape(bearSweep, style=shape.triangledown, location=location.belowbar, color=color.red, size=size.small, title="Bear Sweep Marker")
// ==== Background Trend Color ====
bgcolor(trendUp ? color.new(color.green, 85) : trendDown ? color.new(color.red, 85) : na)
// ==== Alert Conditions ====
alertcondition(longCondition, title="Buy Signal", message="BTCUSD Buy Signal – Liquidity Sweep + Trend")
alertcondition(shortCondition, title="Sell Signal", message="BTCUSD Sell Signal – Liquidity Sweep + Trend")