
다단계 동적 추적 트렌드 정량화 전략은 헐 이동 평균 (Hull Moving Average, HMA) 을 기반으로 한 고급 트렌드 추적 시스템으로, 지능적인 입시 신호 인식과 동적 스톱 로드 메커니즘을 결합한다. 이 전략의 핵심은 다른 주기 (100, 200, 500, 1000) 의 HMA 지표를 사용하여 입시 신호를 구성하는 데 있으며, 3 층의 보호 메커니즘을 사용한다.
이 전략의 핵심 논리는 다음의 네 가지 핵심 요소로 나눌 수 있습니다.
입력 신호 생성 메커니즘:
발사 메커니즘:
지능형 추적 차단 장치:
하드디스플레이 보호:
이 전략은 엄격한 단일 포지션 제어를 채택하여 위험을 통제할 수 있도록 보장합니다. 시스템은 자동으로 입시 가격, 최고/최저 가격 및 트리거 상태를 기록하고 있으며, 완전히 자동화된 자금 관리가 구현됩니다.
이 전략의 코드 구현을 심층적으로 분석한 결과, 다음과 같은 중요한 장점이 나타났습니다.
다단계 추세 확인4개의 다른 주기 HMA를 통해 구축된 시스템은, 엄격한 여러 확인 메커니즘을 형성하여, 입구 신호의 신뢰성을 크게 향상시키고, 가짜 침입으로 인한 손실을 줄였다.
자율적 위험 관리이 전략은 두 단계의 손해 중지 메커니즘을 설계했습니다. (시발 전 하드 스톱 및 시발 후 추적 스톱) 이는 큰 불리한 상황에서 적시에 손해를 막고, 추세 상황에서 수익을 극대화하여 다양한 시장 환경에 적응 할 수 있습니다.
정확한 수익 잠금동적 추적 스톱 로즈 (Dynamic Tracking Stop Loss) 는 가격 상승/하락을 자동으로 추적하여 “이윤을 달릴 수 있도록”라는 고전적인 거래 개념을 구현하여 인적 개입이 필요하지 않은 대부분의 이익을 잠금합니다.
고도의 사용자 정의세 가지 핵심 매개 변수 (시발한계, 추적폭, 최대손실) 는 사용자에 의해 사용자 정의되며, 다른 품종, 다른 변동성 및 다른 위험 선호에 적합하다.
시각적 지원이 전략은 HMA 지표와 트렌드 클라우드의 시각화를 내장하여 거래자가 현재 트렌드 상태와 입시 지점의 합리성을 직관적으로 이해할 수 있도록합니다.
이 전략은 세심한 설계에도 불구하고 다음과 같은 잠재적인 위험들이 있습니다.
지진의 위험: 명백한 추세가 없는 간격적인 흔들림 시장에서 HMA 교차 신호는 빈번한 가짜 신호를 생성할 수 있으며, 이로 인해 연속적인 스톱 손실이 발생할 수 있다. 해결책은 변동률 지표 또는 추세 강도 확인과 같은 추가적인 필터링 조건을 추가하는 것이다.
매개변수 민감도: 전략 성능은 세 가지 핵심 매개 변수의 설정에 크게 의존한다. 부적절한 매개 변수는 조기 중단되거나 수익의 대부분을 놓치게 할 수 있다. 역사적 회귀를 통해 다양한 품종과 시간 주기에 대한 매개 변수 최적화를 권장한다.
슬라이드 포인트와 거래 비용 영향: 실 디스크 환경에서 슬라이드 포인트와 거래 비용이 전략 성능에 상당한 영향을 미칠 수 있습니다. 특히 추적 폭이 작은 설정에 대해 이러한 요소를 재측정에서 고려하고 파라미터를 적절하게 조정해야합니다.
트렌드 전환점 지연헐 이동 평균은 전통적인 이동 평균보다 더 빠르게 반응하지만, 여전히 약간의 지연성이 있으며, 추세가 갑자기 역전되면 더 큰 철회로 이어질 수 있다. 출전 시기를 최적화하기 위해 더 민감한 단기 지표와 결합하는 것을 고려할 수 있다.
단일 기술 지표 의존전략은 주로 HMA 지표 시리즈에 의존하며, 다차원 시장 분석이 부족합니다. 특정 시장 조건에서는 좋지 않을 수 있습니다. 동력 지표 또는 거래량 지표와 같은 다른 유형의 지표와 함께 교차 검증이 권장됩니다.
전략적 원리와 위험 분석을 바탕으로 다음과 같은 방향으로 최적화할 수 있습니다.
자기 적응 변수 시스템:
다중 시간 프레임 분석:
양성 검증 메커니즘:
지성적인 부분에서 멈춘다:
기계 학습 최적화:
역전향 보호장치:
다단계 동적 추적 트렌드 정량화 전략은 다단계 Hull 이동 평균 지표와 스마트 스톱 스톱 손실 시스템을 결합한 고급 정량화 거래 전략이다. 그것은 엄격한 트렌드 확인 메커니즘을 통해 입문 신호 신뢰성을 높이고, 동시에 여러 계층의 위험 제어 시스템을 이용한다.
이 전략의 핵심 장점은 다양한 시장 환경에서 비교적 안정적인 성능을 유지할 수 있는 자율적이고 체계화된 수익 관리 방법이다. 그러나, 전략에는 파라미터 민감성 및 단일 지표 의존성 등의 위험이 존재하며, 트레이더가 보조 지표 검증을 추가하고, 자율적인 파라미터 시스템 및 다중 시간 프레임 분석 등의 방법을 구축하여 최적화를 필요로 한다.
합리적인 파라미터를 설정하고 시장 환경 분석과 결합하면 중장기 트렌드 추적 시스템의 핵심 구성 요소로 작용하여 거래자가 위험을 통제하면서 주요 트렌드 기회를 포착하고 안정적인 자금 성장을 달성 할 수 있습니다.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-07-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Samil Dogru SmartTrailing v1.1", overlay=true, pyramiding=0,
default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === PARAMETRELER ===
triggerPerc = input.float(1.2, "Tetikleme Eşiği (%)", step=0.1)
trailPerc = input.float(0.8, "Trailing Marj (%)", step=0.1)
hardStopPerc = input.float(2.5, "Maksimum Zarar (%) (Tetiklenmeden önce)", step=0.1)
// === HMA'lar (giriş için referans) ===
hma100 = ta.hma(close, 100)
hma200 = ta.hma(close, 200)
hma500 = ta.hma(close, 500)
hma600 = ta.hma(close, 600)
isBull = hma500 > hma600
longCond = ta.crossover(hma100, hma200) and isBull and hma100 > hma500 and hma200 > hma500
shortCond = ta.crossunder(hma100, hma200) and not isBull and hma100 < hma500 and hma200 < hma500
// === GİRİŞLER ===
if (longCond)
strategy.entry("Long", strategy.long)
if (shortCond)
strategy.entry("Short", strategy.short)
// === DURUM DEĞİŞKENLERİ ===
var float entryPrice = na
var float maxSinceEntry = na
var bool triggered = false
// === POZİSYON AÇILDIĞINDA BAŞLAT ===
if strategy.opentrades > 0
if na(entryPrice)
entryPrice := strategy.position_avg_price
maxSinceEntry := close
triggered := false
else
// Güncel zirve/dip güncellemesi
if strategy.position_size > 0
maxSinceEntry := math.max(maxSinceEntry, close)
if strategy.position_size < 0
maxSinceEntry := math.min(maxSinceEntry, close)
// Tetikleme kontrolü
longTriggerPrice = entryPrice * (1 + triggerPerc / 100)
shortTriggerPrice = entryPrice * (1 - triggerPerc / 100)
if strategy.position_size > 0 and close >= longTriggerPrice
triggered := true
if strategy.position_size < 0 and close <= shortTriggerPrice
triggered := true
// Çıkış kontrolü (trailing)
if triggered
if strategy.position_size > 0
trailStop = maxSinceEntry * (1 - trailPerc / 100)
if close <= trailStop
strategy.close("Long", comment="TRAIL EXIT LONG")
if strategy.position_size < 0
trailStop = maxSinceEntry * (1 + trailPerc / 100)
if close >= trailStop
strategy.close("Short", comment="TRAIL EXIT SHORT")
else
// Tetiklenmeden önce sert zarar çıkışı (hard stop)
if strategy.position_size > 0 and close <= entryPrice * (1 - hardStopPerc / 100)
strategy.close("Long", comment="HARD STOP LONG")
if strategy.position_size < 0 and close >= entryPrice * (1 + hardStopPerc / 100)
strategy.close("Short", comment="HARD STOP SHORT")
// === POZİSYON KAPANDIĞINDA RESET ===
if strategy.opentrades == 0
entryPrice := na
maxSinceEntry := na
triggered := false
// === GÖRSEL ===
plot(hma100, title="HMA 100", color=color.white, linewidth=2)
plot(hma200, title="HMA 200", color=color.yellow, linewidth=3)
p1 = plot(hma500, title="HMA 500", color=color.green, linewidth=2)
p2 = plot(hma600, title="HMA 600", color=color.red, linewidth=2)
fill(p1, p2, color=isBull ? color.new(color.green, 70) : color.new(color.red, 70), title="HMA Cloud")