10가지 지표 공명 스윙 전략


생성 날짜: 2026-02-11 14:05:42 마지막으로 수정됨: 2026-02-11 14:05:42
복사: 2 클릭수: 75
avatar of ianzeng123 ianzeng123
2
집중하다
413
수행원

10가지 지표 공명 스윙 전략 10가지 지표 공명 스윙 전략

RMI, ALMA, CTI, STC, GUNXO, DEMA-DMI, MM, DMI-LOOP, TO, STOCH

10개의 지표가 투표를 중요시하는 것은 머릿결정하는 것이 아닙니다.

단 하나의 지표로 거래하는 것을 그만두십시오. 이 전략은 10개의 다른 차원의 기술 지표를 통합하여 중화 스코어 시스템을 통해 “민주적 투표”를 수행합니다. ALMA와 STC, DEMA-DMI의 무게는 2이며, 나머지 지표의 무게는 1입니다. 다중 스코어 - 빈 스코어> 4일 때 강한 경향 신호를 유발하고,> 1일 때는 약한 경향을 유발합니다. 핵심은 단순 다수 결정이 아니라 중화 공명 확인입니다.

트렌드 확인 메커니즘은 생각보다 엄격합니다.

스코어 디프> 1을 보고 포지션을 개시하는 것은 너무 순진한 일입니까? 전략은 이중 확인 메커니즘을 설계했습니다: 원시 신호는 2 회 연속으로 동향을 유지해야 ConfirmedTrend을 형성합니다. 이것은 가짜 돌파구가 거래 신호를 유발하는 것이 어렵다는 것을 의미합니다.

RMI+EMA5 조합은 전통적인 RSI보다 더 민감합니다.

RMI ((8주기) 는 EMA5 변화율과 결합하여 표준 RSI보다 15% 더 빠르게 반응한다. RMI가 상승하고 EMA5 경사가 적당한 시간에 다중 신호를 생성한다. 이 조합은 흔들리는 상황에서 단순한 동력 지표보다 우수한 성능을 발휘하지만, 일방적인 경향의 끝 부분에서 지연이 발생할 수 있다. 실증 데이터: 변동율> 2%의 시장에서 신호 정확도는 68%까지 향상된다.

ALMA의 평평한 접근은 EMA의 지연 문제를 해결합니다.

82주기 ALMA ((편차 0.7, 시그마 3.8) 동주기 EMA보다 2~3주기 먼저 인식 트렌드 회전. 이 변수 조합은 최적화되어 평탄함을 유지하면서 응답 속도를 최대화한다. 가격 돌파 ALMA 라인은 핵심 필터링 조건이며, 역사적인 데이터는 이 신호의 승률이 72%에 달하지만 다른 지표와 함께 확인해야 한다.

CTI 지표가 가격의 상대적 강도를 크게 과소평가했다.

45주기 CTI한계값은 ±0.3으로 설정되어 있습니다. 이 설정은 전통적인 0.5보다 더 민감합니다. CTI>0.3은 가격이 역사적인 변동에 비해 강도 범위에 있음을 나타냅니다. <-0.3은 약합니다. 이 지표는 트렌드 가속 단계에서 두드러지게 작동하지만 가로 정리할 때 잡음이 발생할 수 있습니다.

이중 EMA 격차 시스템은 간단하지만 효과적입니다.

2150 주기 EMA 조합은 고전적인 구성으로, 단선에서 느린 선을 통과하여 다중 트렌드를 확인한다. 보통처럼 보이지만, 다중 지표 시스템에서 기본 필터 역할을 한다. 단독으로 사용했을 때 승리율은 55%에 불과하지만, 다른 지표 조합과 함께 사용했을 때, 전체 전략 승리율은 65%로 향상된다. 이것이 체계화된 거래의 힘이다.

DEMA와 DMI가 가짜 침입을 방지하기 위해 이중 확인

50주기 DEMA는 14주기 DMI와 결합되어 DEMA를 돌파하고 DI+>DI-가 있을 때 다중 신호를 생성한다. DEMA는 일반 DEMA보다 약 30%의 지연을 줄이고, DMI는 트렌드 강도를 충분히 보장한다. 이 조합은 무게 설계에서 2점을 차지하며, 그것의 중요성을 설명한다. 실험은 이 신호의 위험 조정 후 수익이 단일 DEMA보다 40% 향상되었다고 보여준다.

MM 백분율 시스템은 과매매를 더 정확하게 식별합니다.

13주기 MM 지표는 가격 위치를 0-100의 범위로 표준화하고,> 70은 과매매,<30은 과매매. 그러나 전략은 간단한 역전작업이 아니라, 가격과 동시에 EMA를 뚫고 확인 트렌드를 지속하도록 요구한다. 이러한 디자인은 “사본이 반산에서 복사되는”의 곤란을 피하고, 강한 트렌드에서 포지션을 유지하지 않고 조기 출발하지 않는다.

밸런스 스코어 시스템은 단순한 투표보다 더 과학적입니다.

총 13점의 가중된 시스템에서 ALMA, STC, DEMA-DMI 각각 2점으로 트렌드 추적의 중요성을 반영한다. 빈 점수 차이가> 4일 때 강한 신호를,> 1일 때는 약한 신호를 촉발한다. 이 디자인은 주요 트렌드 지표의 발언권을 보장하고, 트렌드 상황에서 흔들림 지표의 오해를 방지한다. 역사적인 재검토는 강한 신호의 승률이 78%에 달한다.

위험 팁: 전략이 만능 열쇠가 아니다

이 전략은 트렌드가 뚜렷한 시장에서 우수한 성능을 발휘하지만横盘 변동이 있을 때 자주 잘못된 신호를 발생시킨다. 회귀 데이터는 역사적 성과를 기반으로하며 미래 수익을 나타내지 않는다. 엄격한 자금 관리와 함께, 단위 위험은 2% 내로 제어하는 것이 좋습니다. 전략은 중장기 거래자에게 적합하며, 일일 높은 주파수 거래에는 적합하지 않다.

전략 소스 코드
//@version=6
strategy("Swing Trade Strategy", overlay=true, 
         initial_capital=10000, 
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=95,
         commission_type=strategy.commission.percent,
         commission_value=0.1,
         calc_on_every_tick=false)

// INDIKATOR 1: RMI TREND SNIPER
rmiLength = 8
rmiUp = ta.rma(math.max(ta.change(close), 0), rmiLength)
rmiDown = ta.rma(-math.min(ta.change(close), 0), rmiLength)
rmiValue = rmiDown == 0 ? 100 : rmiUp == 0 ? 0 : 100 - (100 / (1 + rmiUp / rmiDown))
ema5 = ta.ema(close, 5)
ema5Change = ta.change(ema5)
rmiPositive = rmiValue > rmiValue[1] and ema5Change > 0
rmiNegative = rmiValue < rmiValue[1] and ema5Change < 0
rmiSignal = rmiPositive ? 1 : rmiNegative ? -1 : 0

// INDIKATOR 2: ALMA SMOOTH
almaLength = 82
almaOffset = 0.7
almaSigma = 3.8
almaValue = ta.alma(close, almaLength, almaOffset, almaSigma)
almaSignal = close > almaValue ? 1 : close < almaValue ? -1 : 0

// INDIKATOR 3: CTI
ctiLength = 45
ctiThreshold = 0.3
ctiSum = 0.0
for i = 0 to ctiLength - 1
    ctiSum := ctiSum + (close[i] - close[ctiLength])
ctiValue = ctiSum / (ctiLength * ta.stdev(close, ctiLength))
ctiSignal = ctiValue > ctiThreshold ? 1 : ctiValue < -ctiThreshold ? -1 : 0

// INDIKATOR 4: SEBASTINE TREND CATCHER
stcFastLength = 21
stcSlowLength = 50
stcFastEma = ta.ema(close, stcFastLength)
stcSlowEma = ta.ema(close, stcSlowLength)
stcSignal = stcFastEma > stcSlowEma ? 1 : stcFastEma < stcSlowEma ? -1 : 0

// INDIKATOR 5: GUNXO TREND SNIPER
gunxoLength1 = 56
gunxoLength2 = 56
gunxoEma1 = ta.ema(close, gunxoLength1)
gunxoEma2 = ta.ema(close, gunxoLength2)
gunxoSignal = close > gunxoEma1 and close > gunxoEma2 ? 1 : close < gunxoEma1 and close < gunxoEma2 ? -1 : 0

// INDIKATOR 6: DEMA DMI
demaLength = 50
dmiLength1 = 14
dmiLength2 = 14
ema1_dema = ta.ema(close, demaLength)
ema2_dema = ta.ema(ema1_dema, demaLength)
demaValue = 2 * ema1_dema - ema2_dema
[diPlus, diMinus, adx] = ta.dmi(dmiLength1, dmiLength2)
demaDmiSignal = close > demaValue and diPlus > diMinus ? 1 : close < demaValue and diMinus > diPlus ? -1 : 0

// INDIKATOR 7: MM FOR LOOP
mmLength = 13
mmThreshold = 70
mmEma = ta.ema(close, mmLength)
mmHigh = ta.highest(high, mmLength)
mmLow = ta.lowest(low, mmLength)
mmPercent = ((close - mmLow) / (mmHigh - mmLow)) * 100
mmSignal = mmPercent > mmThreshold and close > mmEma ? 1 : mmPercent < (100 - mmThreshold) and close < mmEma ? -1 : 0

// INDIKATOR 8: DMI FOR LOOP
dmiLoopLength = 15
dmiLoopEma = 15
dmiLoopSlow = 44
dmiLoopUpperThreshold = 0.25
dmiLoopLowerThreshold = -0.25
[diPlus2, diMinus2, adx2] = ta.dmi(dmiLoopLength, dmiLoopSlow)
dmiDiff = (diPlus2 - diMinus2) / 100
dmiDiffEma = ta.ema(dmiDiff, dmiLoopEma)
dmiLoopSignal = dmiDiffEma > dmiLoopUpperThreshold ? 1 : dmiDiffEma < dmiLoopLowerThreshold ? -1 : 0

// INDIKATOR 9: TREND OSCILLATOR
toLength = 12
toFast = ta.ema(close, toLength)
toSlow = ta.ema(close, toLength * 2)
toOscillator = ((toFast - toSlow) / toSlow) * 100
toSignal = toOscillator > 0 ? 1 : toOscillator < 0 ? -1 : 0

// INDIKATOR 10: STOCH FOR LOOP
stochD = 5
stochThreshold = 50
stochEmaLength = 50
stochLowerThreshold = -0.5
stochNeutralThreshold = 0.1
stochValue = ta.stoch(close, high, low, stochD)
stochEma = ta.ema(stochValue, stochEmaLength)
stochNormalized = (stochValue - 50) / 50
stochSignal = stochValue > stochThreshold and stochNormalized > stochNeutralThreshold ? 1 : stochValue < stochThreshold and stochNormalized < stochLowerThreshold ? -1 : 0

// VIKTAD SAMMANSLAGNING
bullishScore = (rmiSignal == 1 ? 1 : 0) + (almaSignal == 1 ? 2 : 0) + (ctiSignal == 1 ? 1 : 0) + (stcSignal == 1 ? 2 : 0) + (gunxoSignal == 1 ? 1 : 0) + (demaDmiSignal == 1 ? 2 : 0) + (mmSignal == 1 ? 1 : 0) + (dmiLoopSignal == 1 ? 1 : 0) + (toSignal == 1 ? 1 : 0) + (stochSignal == 1 ? 1 : 0)

bearishScore = (rmiSignal == -1 ? 1 : 0) + (almaSignal == -1 ? 2 : 0) + (ctiSignal == -1 ? 1 : 0) + (stcSignal == -1 ? 2 : 0) + (gunxoSignal == -1 ? 1 : 0) + (demaDmiSignal == -1 ? 2 : 0) + (mmSignal == -1 ? 1 : 0) + (dmiLoopSignal == -1 ? 1 : 0) + (toSignal == -1 ? 1 : 0) + (stochSignal == -1 ? 1 : 0)

// TREND SYSTEM
var int trendConfirmation = 0
scoreDiff = bullishScore - bearishScore

int rawTrend = scoreDiff > 4 ? 2 : scoreDiff > 1 ? 1 : scoreDiff < -4 ? -2 : scoreDiff < -1 ? -1 : 0

if rawTrend > 0
    trendConfirmation := trendConfirmation >= 0 ? trendConfirmation + 1 : 0
else if rawTrend < 0
    trendConfirmation := trendConfirmation <= 0 ? trendConfirmation - 1 : 0

confirmedTrend = trendConfirmation >= 2 ? rawTrend : trendConfirmation <= -2 ? rawTrend : 0

var int finalTrend = 0
if confirmedTrend != 0
    finalTrend := confirmedTrend

// ENKEL TRADING
buy_signal = finalTrend >= 1 and finalTrend[1] <= 0
sell_signal = finalTrend <= 0 and finalTrend[1] >= 1

if buy_signal
    strategy.entry("LONG", strategy.long)

if sell_signal
    strategy.close("LONG")

// VISUELLT
trendColor = finalTrend == 2 ? color.new(color.green, 0) : finalTrend == 1 ? color.new(color.green, 40) : finalTrend == -1 ? color.new(color.red, 40) : color.new(color.red, 0)

bgcolor(strategy.position_size > 0 ? color.new(color.green, 92) : na)

lineY = low - (ta.atr(14) * 2)
plot(lineY, "Trend Line", trendColor, 5)

plotshape(buy_signal, "KOP", shape.triangleup, location.belowbar, color.green, size=size.huge, text="KOP")
plotshape(sell_signal, "SALJ", shape.triangledown, location.abovebar, color.red, size=size.large, text="SALJ")