
다중평균선 회귀 트렌드 추적 DMI 확인 전략은 다중주기 간단한 이동 평균 ((SMA), 방향 운동 지표 ((DMI) 와 가격 회귀 패턴 식별을 결합하여 트렌드 시장의 낮은 위험 입구점을 포착하는 포괄적 인 거래 시스템입니다. 이 전략의 핵심 아이디어는 이미 확립 된 추세에서 가격 회귀가 중요한 평평선으로 돌아가는 동안 반발할 때 입구하는 것과 동시에 DMI 지표를 사용하여 트렌드 방향을 확인하고, 휘어지는 지점을 설정하여 중지 위치를 설정하여 완전한 위험 제어 장치를 형성합니다.
이 전략은 다음과 같은 몇 가지 핵심 요소의 연동에 기반을 두고 있습니다.
다중평선 시스템전략: 5개의 다른 주기 ((9/20/50/100/200) 의 간단한 이동 평균을 사용하여 시장 구조를 판단한다. 이 중 20일 및 200일 평균선은 주요 경향 판단 도구로 사용한다.
평균선 기울기 분석: 20일 및 200일 평균 선의 지난 5주기의 기울기를 계산하여 ((slope20과 slope200), 트렌드의 강도와 방향을 확인한다. 긍정적인 기울기는 상승세를 나타내고, 부정적인 기울기는 하락세를 나타낸다.
가격과 평균관계: 전략은 가격과 핵심 평균선 ((20일과 200일) 의 위치 관계가 트렌드 방향에 부합하는 것을 요구한다 ((다중일 때는 가격이 평균선 위에 있고, 공백일 때는 가격이 평균선 아래에 있다).
평행렬: 다중 머리 조건에서, 20 일 평균선이 200 일 평균선 위에 있는 것을 요구한다; 공허 머리 조건에서는 반대로 .
리콜 메커니즘:
DMI 방향 확인: DMI 지표 ((주기는 14) 를 사용하여 트렌드 방향을 확인:
변동 지점 상쇄:
다중 필터링 장치: 평선 시스템, 평선 기울기, 가격 위치, DMI 확인 등과 같은 여러 조건을 결합하여 가짜 신호를 효과적으로 줄이고 거래의 정확도를 향상시킵니다.
다시 불렀다.이 전략은 가격의 회귀를 기다리는 전략으로 결정적인 평균선 이후의 진입으로, 직접적으로 추격하는 것보다 더 좋은 위험과 수익률을 제공합니다.
트렌드 확인3번 확인: 평균선 위치, 평균선 배열, 평균선 기울기, 강한 추세에서만 거래하고, 흔들리는 시장에서 자주 거래하는 것을 피합니다.
명확한 중단 전략: 스윙 포인트를 스톱 로즈로 사용하는 방식은 시장 구조에 기반한 방식이며, 시장의 운용 논리에 더 부합합니다.
DMI 지표 확인: DMI 지표가 추가적인 트렌드 확인 도구로 추가되어 불확실성이 높은 신호를 추가적으로 필터링합니다.
시각화 거래 신호전략: 명확한 시각적 표시를 통해 구매 및 판매 신호를 표시하여 거래자가 거래 기회를 신속하게 식별할 수 있도록합니다.
트렌드 회귀, 지연 인식: 전략이 일률적 시스템에 의존하기 때문에, 트렌드 전환점에는 지연 반응이 있을 수 있으며, 이는 적시적으로 또는 트렌드 말기에 진입하는 것을 초래한다.
가짜 침입 위험: 가격이 잠시 평균선을 뚫고 다시 내려가며 가짜 브레이크를 형성하고 잘못된 신호를 유발할 수 있다.
매개 변수 최적화 도전: 전략에는 여러 가지 변수가 포함됩니다 (예: 평균선 주기, 기울기 회귀기, DMI 주기 등) 다른 시장과 시간 프레임에 따라 다른 변수 설정이 필요할 수 있습니다.
시장 환경의 한계이 전략은 명확한 트렌드 시장에서 더 잘 작동하지만 수평 변동 시장에서는 더 많은 손실 거래가 발생할 수 있습니다.
너무 큰 위험요소변동점 기반의 스톱 전략은 급격한 변동이 있는 시장에서 과도한 스톱 리스를 초래할 수 있으며, 이는 재무 관리에 불리하다.
위험 통제 부족이 전략은 동적 제지 장치가 부족하여 수익을 회수할 수 있습니다.
적응 변수를 추가합니다자기 적응 메커니즘을 도입할 수 있습니다. 시장의 변동성 동력에 따라 평균주기 및 기울기 회귀 기간을 조정하여 다양한 시장 환경에 더 잘 적응할 수 있습니다.
변동율 필터에 추가: ATR 지표 또는 변동률 지표를 도입하여, 과도하게 큰 또는 너무 작은 변동이있는 시장 환경에서 전략을 조정하거나 거래를 중지하십시오.
제기계를 개선한다시장 구조나 목표 리스크 수익률에 기반한 스톱 메커니즘을 추가하는 방법, 예를 들어 이동 스톱, 부분 스톱 등으로, 이미 벌어들인 수익을 더 잘 보호할 수 있다.
시장 환경 식별: 트렌드 강도 지표 또는 시장 상태 분류 알고리즘을 추가하여 수평 변동 시장에서 자동으로 포지션을 줄이거나 거래를 중지한다.
입시 확인: 출입 신호의 신뢰성을 높이기 위해 거래량 확인이나 그램 형식 확인을 추가하는 것이 고려될 수 있다.
자금 관리 최적화: ATR 또는 다른 변동성 지표에 따라 포지션 크기를 동적으로 조정하고, 다양한 변동성 환경에서 리스크 을 제어한다.
다중 시간 프레임 분석트렌드 확인: 더 높은 시간 프레임의 트렌드 확인을 도입하여 거래 방향이 더 큰 수준의 트렌드와 일치하도록합니다.
다중평균선 회귀 트렌드 추적 DMI 확인 전략은 구조가 완전하고 논리가 명확한 트렌드 추적 시스템이다. 그것은 통합 다중평균선, 기울기 분석, 가격 회귀 및 DMI 확인과 같은 다차원 정보를 통해, 이미 확립 된 트렌드에서 낮은 위험 높은 확률의 진입 지점을 찾는다. 이 전략은 중·장기 트렌드가 뚜렷한 시장에 특히 적합하며, 회귀 회귀 진입을 기다리는 방식으로 주 트렌드를 따라가는 동시에 상대적으로 좋은 진입 가격을 얻을 수 있다.
그러나, 이 전략은 또한 트렌드 지연, 가짜 돌파 위험, 그리고 흔들림 시장의 부적절한 성능과 같은 한계도 있습니다. 적응 파라미터, 변동률 필터링, 정지 메커니즘 및 시장 환경 인식과 같은 최적화 조치를 도입함으로써 전략의 강도와 적응력을 더욱 향상시킬 수 있습니다. 가장 중요한 것은, 거래자가 실제 적용에서 시장 환경, 자신의 위험 선호 및 자금 관리 원칙과 결합하여 전략 파라미터를 타겟으로 조정하여 최대한의 효과를 발휘해야합니다.
/*backtest
start: 2025-06-30 00:00:00
end: 2025-07-04 08:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Full SMA Pullback Strategy with DMI", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === SMA Definitions ===
sma9 = ta.sma(close, 9)
sma20 = ta.sma(close, 20)
sma50 = ta.sma(close, 50)
sma100 = ta.sma(close, 100)
sma200 = ta.sma(close, 200)
// === Inputs ===
slopeLookback = input.int(5, title="Slope Lookback Period")
swingLookback = input.int(10, title="Swing High/Low Period")
dmiLength = input.int(14, title="DMI Period")
// === Slope Calculation ===
slope20 = sma20 - sma20[slopeLookback]
slope200 = sma200 - sma200[slopeLookback]
// === DMI Calculation ===
[plusDI, minusDI, _] = ta.dmi(dmiLength, dmiLength)
dmiLongConfirm = plusDI > minusDI
dmiShortConfirm = minusDI > plusDI
// === Long Conditions ===
trendUp = close > sma20 and close > sma200
smaOrderUp = sma20 > sma200
slopeUp = slope20 > 0 and slope200 > 0
pullbackUp = close[1] < sma20[1] and close > sma20
longCond = trendUp and smaOrderUp and slopeUp and pullbackUp and dmiLongConfirm
swingLow = ta.lowest(low, swingLookback)
// === Short Conditions ===
trendDown = close < sma20 and close < sma200
smaOrderDown = sma20 < sma200
slopeDown = slope20 < 0 and slope200 < 0
pullbackDown = close[1] > sma20[1] and close < sma20
shortCond = trendDown and smaOrderDown and slopeDown and pullbackDown and dmiShortConfirm
swingHigh = ta.highest(high, swingLookback)
// === Strategy Entry & Exit ===
if (longCond)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", from_entry="Long", stop=swingLow)
if (shortCond)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", from_entry="Short", stop=swingHigh)
// === Plotting SMAs ===
plot(sma9, title="SMA 9", color=color.gray)
plot(sma20, title="SMA 20", color=color.orange)
plot(sma50, title="SMA 50", color=color.purple)
plot(sma100, title="SMA 100", color=color.green)
plot(sma200, title="SMA 200", color=color.blue)
// === Signal Markers ===
plotshape(longCond, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(shortCond, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)