
HMA 가속 십자 거래 시스템은 헐 이동 평균 (Hull Moving Average, HMA) 의 교차 신호, 곡률 (Curvature) 필터와 평균 실제 범위 (Average True Range, ATR) 에 기반한 위험 관리 메커니즘을 결합한 종합적인 트렌드 추적 전략이다. 이 전략은 빠른 HMA와 느린 HMA의 교차를 통해 시장의 트렌드 방향을 결정하며, 곡률 지표를 사용하여 충분한 동력이있는 신호를 선택하고, ATR을 사용하여 스톱 손실과 포지션을 설정하여 시장의 변동성에 대해 효과적 인 크기를 달성한다.
이 전략의 핵심은 세 가지 핵심 요소를 중심으로 이루어져 있습니다.
HMA 교차 신호 시스템:
곡률 운동 필터:
ATR 기반의 위험 관리 프레임워크:
거래 수행 논리는 명확하다: 빠른 HMA 상의 느린 HMA를 통과하고 곡률이 긍정적일 때, 더 많은 위치를 열고, 빠른 HMA 아래의 느린 HMA를 통과하고 곡률이 부정적일 때, 포지션을 열고, 공백한다. 출구 전략은 ATR 기반의 추적 손실을 채택하고, 가격이 유리한 방향으로 이동함에 따라, 중지 손실 지점도 그에 따라 조정되어 수익을 잠금한다. 트렌드 조건이 역전될 때 (예: 반향 교차 신호가 발생하면), 기존 포지션 지점은 평정된다.
적응력HMA 자체는 가격 변화에 민감하며, 전략 전체는 시장의 변동성에 따라 자동으로 중지 거리 및 포지션 크기를 조정하여 다른 시장 환경에서 상대적으로 일관된 성과를 유지할 수 있습니다.
높은 필터 품질: 곡률 지표의 적용을 통해, 전략은 동력이 부족한 신호를 식별하고 필터링 할 수 있으며, 트렌드가 충분히 가속되면만 진입하여 가짜 브레이크와 유효하지 않은 거래를 크게 줄일 수 있습니다.
위험 통제ATR 기반의 위험 관리 시스템은 거래의 위험을 항상 예상 수준으로 유지하도록 보장합니다. 시장의 변동이 얼마나 심한지 상관없이 단일 거래로 인해 과도한 손실이 발생하지 않습니다.
동적 위치 관리전략: 현재 시장의 변동성과 계좌 자금 동성에 따라 최적의 포지션을 계산하고, 변동성이 높을 때 포지션을 자동으로 줄이고, 변동성이 낮을 때 포지션을 적당히 증가시켜, 자금 효율성과 위험 통제의 균형을 달성한다.
완전한 거래 프레임워크전략: 전략은 신호 생성, 입시 조건, 포지션 계산에서 중지 손실 관리에 대한 완전한 거래 시스템을 제공하며, 추가적으로 다른 모듈을 추가하지 않고 실제적으로 적용 할 수 있습니다.
양방향 거래 능력: 두방향 거래에 대한 포디와 포디를 지원하고, 단일 방향에만 국한되지 않고 다양한 시장 추세에서 수익 기회를 찾을 수 있습니다.
시장의 부진: 트렌드 추적 전략으로서, 가로 상장 정리 또는 자주 변동하는 시장 환경에서, 연속적으로 소액 손실이 발생할 수 있습니다. 이는 흔히 “세탁지”라고 불립니다. 해결 방법은 시장 상태를 식별하는 모듈을 추가하여 변동하는 시장을 인식 할 때 거래를 중지하거나 파라미터를 조정하는 것입니다.
매개변수 민감도전략적 성능: HMA 주기, 곡선 미지수, ATR 곱 등과 같은 파라미터 설정에 민감하다. 잘못된 파라미터 선택으로 인해 과도한 거래 또는 중요한 트렌드를 놓칠 수 있다. 다양한 시장 환경에서 재검토를 통해 파라미터를 최적화하거나, 파라미터 자조 장치를 구현하는 것을 고려하는 것이 좋습니다.
슬라이드 포인트와 유동성 위험: 변동이 심한 시장에서 실제 실행 가격은 신호 가격과 큰 편차가 있을 수 있다. 특히 유동성이 낮은 품종에 있어서 이러한 미끄러짐은 전략의 성과에 현저하게 영향을 미칠 수 있다. 재검토에서 미끄러짐 요소를 고려하고 실전에서 유동성이 풍부한 거래 품종을 선택하는 데 주의를 기울이는 것이 좋습니다.
체계적 위험전략은 강한 추세 환경에서 더 큰 포지션을 가질 수 있으며, 시장이 급격한 반전이 발생하면 (중요한 뉴스 충격과 같은) 스톱로드를 추적하는 것은 제 시간에 자금을 보호하지 못할 수 있습니다. 절대적인 스톱 레미닛을 설정하거나 변동율 변동 탐지 장치를 추가 보호로 도입하는 것을 고려할 수 있습니다.
곡률 필터링이 너무 심하다: 너무 높은 곡률 값을 설정하면 초기 트렌드를 놓칠 수 있으며, 너무 낮은 것은 너무 많은 잡음 신호를 가져올 수 있습니다. 회전에서 균형점을 찾아야합니다. 또는 시장 상태의 동력에 따라 값을 조정하는 것을 고려하십시오.
다중 시간 프레임 확인:
자기 적응 곡선 절댓값:
수량확인 도입:
지능형 손해 관리:
HMA 미분곡선 분석:
자금 관리 전략의 최적화:
HMA 액셀러레이션 크로스 트레이딩 시스템은 잘 설계된 트렌드 추적 전략으로, HMA 크로스, 곡선 동력 필터링 및 ATR 위험 관리를 결합하여 완전하고 강력한 거래 프레임 워크를 구축합니다. 이 전략의 핵심 장점은 시장 추세를 포착하면서 거래 자금을 안전하게 보호할 수 있는 자율 적응성과 포괄적 인 위험 제어입니다.
전략은 특히 트렌드 특성이 뚜렷한 시장에 적합하지만, 불안정한 시장에서 도전을 받을 수 있다. 전략의 성능은 권장된 최적화 조치를, 특히 다중 시간 프레임 확인 및 적응 변수 조정을 시행함으로써 더욱 향상될 것으로 예상된다. 정량 거래자에게는, 이것은 직접적으로 적용할 수 있고, 더 복잡한 거래 전략을 구축하는 데 출발점이 될 수 있는 단단한 기반을 가진 시스템이다.
주목할 점은, 어떤 거래 전략도 충분한 역사 회수와 모의 거래 검증을 거쳐 특정 시장 특성 및 개인 위험 선호에 따라 변수를 조정해야 한다는 것입니다. 이 전략은 기술 분석, 동력 이론 및 위험 관리의 균형있는 프레임 워크를 제공하지만, 성공적인 적용은 여전히 거래자의 신중한 조정과 지속적인 모니터링을 필요로합니다.
/*backtest
start: 2024-06-30 00:00:00
end: 2025-06-28 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":50000000}]
*/
//@version=6
strategy("HMA Crossover + ATR + Curvature (Long & Short)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Inputs ===
fastLength = input.int(15, title="Fast HMA Period")
slowLength = input.int(34, title="Slow HMA Period")
atrLength = input.int(14, title="ATR Period")
riskPercent = input.float(1.0, minval=0.1, maxval=10, title="Risk per Trade (%)")
atrMult = input.float(1.5, title="Stop Loss ATR Multiplier")
trailMult = input.float(1.0, title="Trailing Stop ATR Multiplier")
curvThresh = input.float(0.0, step=0.01, title="Curvature Threshold (Min Acceleration)")
// === Calculations ===
fastHMA = ta.hma(close, fastLength)
slowHMA = ta.hma(close, slowLength)
atr = ta.atr(atrLength)
// Curvature: approximate second derivative (acceleration)
curv = ta.change(ta.change(fastHMA))
// Entry Conditions
bullish = ta.crossover(fastHMA, slowHMA) and curv > curvThresh
bearish = ta.crossunder(fastHMA, slowHMA) and curv < -curvThresh
// Risk Management
stopLoss = atr * atrMult
trailStop = atr * trailMult
capital = strategy.equity
riskCapital = capital * (riskPercent / 100)
qty = riskCapital / stopLoss
// === Strategy Logic ===
if (bullish)
strategy.entry("Long", strategy.long, qty=qty)
strategy.exit("Long Trail Stop", from_entry="Long", trail_points=trailStop, trail_offset=trailStop)
if (bearish)
strategy.entry("Short", strategy.short, qty=qty)
strategy.exit("Short Trail Stop", from_entry="Short", trail_points=trailStop, trail_offset=trailStop)
plotshape(bullish, title="Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(bearish, title="Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")