지수 이동 평균 및 적응형 변동성 임계값을 활용한 동적 추세 식별 전략

EMA ADX ATR P&L ROI
생성 날짜: 2025-04-03 13:08:04 마지막으로 수정됨: 2025-04-03 13:08:04
복사: 0 클릭수: 342
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

지수 이동 평균 및 적응형 변동성 임계값을 활용한 동적 추세 식별 전략 지수 이동 평균 및 적응형 변동성 임계값을 활용한 동적 추세 식별 전략

개요

OneTrend Lite EMA 전략은 인덱스 이동 평균 (EMA), 평균 트렌드 인덱스 (ADX) 및 평균 실제 변동 범위 (ATR) 를 결합하여 시장 추세를 식별하고 포착하는 혁신적인 트렌드 추적 거래 방법입니다. 이 전략은 명확하고 규칙적인 거래 신호를 제공하면서 시장의 변동성에 대한 민감성을 동적으로 조정합니다.

전략 원칙

이 전략의 핵심은 세 가지 핵심 기술 지표를 중심으로 이루어져 있습니다.

  1. 빠른 EMA와 느린 EMA: 다른 주기의 길이를 계산하여 지수 이동 평균을 계산하여 가격 변화의 추세를 포착합니다.
  2. 사용자 정의 ADX 계산: 트렌드 강도 및 시장 동력을 평가
  3. 동적 ATR 마이너스: ADX 값에 따라 트렌드 조정 판단에 대한 민감성

전략은 30주기 빠른 EMA와 60주기 느린 EMA를 사용하여, 그들의 차이는 적응된 ATR 곱셈과 결합하여 거래 신호를 생성한다. 빠른 EMA는 동적 경계를 초과할 때 파란색 트렌드 영역에 들어가며 (승부), 경계를 넘어설 때 파란색 영역에 들어가며 (승부).

전략적 이점

  1. 자기 적응성: 동적인 ADX 마이너스를 통해 전략은 다양한 시장 조건에 따라 민감도를 조정할 수 있습니다.
  2. 다차원 지표 조합: EMA, ADX 및 ATR을 통합하여 신호 정확도를 향상시킵니다.
  3. 명확한 시각화 거래 구역: 파란색과 분홍색 영역이 트렌드 변화를 직관적으로 보여줍니다.
  4. 리스크 관리 유연성: 조정 가능한 EMA 주기, ATR 배수 및 ADX 마이너스

전략적 위험

  1. 지연성: EMA는 본질적으로 지연성이 있으며 빠르게 변화하는 시장에서 응답을 지연시킬 수 있습니다.
  2. 불안정한 시장: 명확한 추세가 없는 시장에서 빈번하고 무효적인 거래 신호가 발생할 수 있습니다.
  3. 매개 변수 민감성: 전략 성능은 선택된 매개 변수에 크게 의존하며, 지속적인 재검토와 최적화가 필요합니다.

전략 최적화 방향

  1. 기계 학습 알고리즘 도입: AI 기술을 사용하여 동적으로 최적화 된 파라미터 선택
  2. 다중 시간 프레임 검증: 다양한 시간 스케일에서 전략 안정성을 검증
  3. 조합 다른 지표: RSI, MACD와 같은 동력 지표와 결합하여 신호 정확도를 향상시킵니다.
  4. 적응형 손해 차단 메커니즘: ATR의 동적에 따라 손해 차단 전략을 조정

요약하다

원 트렌드 라이트 EMA 전략은 혁신적인 지표 조합과 자기 적응 하락을 통해 거래자에게 유연하고 직관적인 경향 추적 방법을 제공합니다. 일부 고유한 위험이 있음에도 불구하고, 다차원 분석과 동적 조정 능력은 깊이있는 연구를 할 가치가있는 양적 거래 전략입니다.

전략 소스 코드
/*backtest
start: 2024-04-03 00:00:00
end: 2025-04-02 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
*/

//============================== OneTrend Lite Historical Performance ==============================/
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| Ticker | Total P&L | Drawdown  | # Trades  | Profitable Trades  | Profit Factor | Best Method   |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| BTC    | 557x      | 55.29%    | 11        | 72.73%             | 13.579        | OneTrend Pro  |
//| ETH    | 207x      | 55.11%    | 13        | 46.15%             | 1.696         | OneTrend Pro  |
//| XRP    | 29x       | 99.85%    | 23        | 30.43%             | 1.261         | OneTrend Gaus |
//| SOL    | 152x      | 40.20%    | 8         | 62.50%             | 4.341         | OneTrend Gaus |
//| BNB    | 519x      | 64.29%    | 12        | 50.00%             | 3.351         | OneTrend Lite |
//| DOGE   | 21x       | 89.63%    | 22        | 27.27%             | 1.521         | OneTrend Gaus |
//| ADA    | 9x        | 76.18%    | 9         | 55.56%             | 9.039         | OneTrend Pro  |
//| SUI    | 6.6x      | 11.44%    | 2         | 100.00%            | ∞             | OneTrend Pro  |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+

//============================== OneTrend Pro Historical Performance ===============================/
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| Ticker | Total P&L | Drawdown  | # Trades  | Profitable Trades  | Profit Factor | Best Method   |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| BTC    | 723x      | 50.99%    | 41        | 53.66%             | 2.625         | OneTrend Pro  |
//| ETH    | 1925x     | 40.07%    | 31        | 58.06%             | 3.472         | OneTrend Pro  |
//| XRP    | 298x      | 99.97%    | 53        | 37.74%             | 1.87          | OneTrend Gaus |
//| SOL    | 917x      | 73.31%    | 18        | 44.44%             | 2.71          | OneTrend Gaus |
//| BNB    | 353x      | 49.44%    | 31        | 45.16%             | 2.849         | OneTrend Lite |
//| DOGE   | 238x      | 92.38%    | 40        | 40.00%             | 2.389         | OneTrend Gaus |
//| ADA    | 39x       | 71.96%    | 31        | 35.48%             | 1.684         | OneTrend Pro  |
//| SUI    | 8.7x      | 31.53%    | 4         | 50.00%             | 13.457        | OneTrend Pro  |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+

//=========================== OneTrend Gaussian Historical Performance =============================/
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| Ticker | Total P&L | Drawdown  | # Trades  | Profitable Trades  | Profit Factor | Best Method   |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| BTC    | 107x      | 72.45%    | 26        | 57.69%             | 5.5           | OneTrend Pro  |
//| ETH    | 10x       | 40.07%    | 31        | 58.06%             | 3.472         | OneTrend Pro  |
//| XRP    | 1125x     | 99.94%    | 29        | 48.28%             | 1.509         | OneTrend Gaus |
//| SOL    | 925x      | 52.10%    | 11        | 63.64%             | 11.338        | OneTrend Gaus |
//| BNB    | 434x      | 58.10%    | 22        | 59.09%             | 4.845         | OneTrend Lite |
//| DOGE   | 487x      | 90.48%    | 40        | 32.50%             | 2.263         | OneTrend Gaus |
//| ADA    | 20x       | 71.96%    | 31        | 35.48%             | 1.684         | OneTrend Pro  |
//| SUI    | 3.3x      | 31.53%    | 4         | 50.00%             | 13.457        | OneTrend Pro  |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+

//@version=6
strategy("OneTrend Lite EMA", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital = 10000)

// ——— USER INPUTS ———
// EMA settings
emaFastLen = 30
emaSlowLen = 60
atrLen     = 60

// ADX settings
adxLen       = 14
adxThreshold = 20

// ATR multipliers for trend conditions
atrMultStrong = 0.3
atrMultWeak   = 0.1

// ——— CALCULATIONS ———
// Calculate EMAs and their difference
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
emaDiff = emaFast - emaSlow

// --- Custom ADX Calculation ---
up      = ta.change(high)
down    = -ta.change(low)
plusDM  = (up > down and up > 0) ? up : 0.0
minusDM = (down > up and down > 0) ? down : 0.0
trur    = ta.rma(ta.tr, adxLen)
plusDI  = 100 * ta.rma(plusDM, adxLen) / trur
minusDI = 100 * ta.rma(minusDM, adxLen) / trur
dx      = 100 * math.abs(plusDI - minusDI) / (plusDI + minusDI)
adxVal  = ta.rma(dx, adxLen)

// Determine the dynamic ATR multiplier based solely on ADX
dynamicAtrMult = adxVal > adxThreshold ? atrMultStrong : atrMultWeak

// Define bull (blue) and bear (pink) zones using the dynamic multiplier
emaBull = emaDiff > dynamicAtrMult * ta.atr(atrLen)
emaBear = emaDiff < -dynamicAtrMult * ta.atr(atrLen)

// ——— PLOTTING ———
clrBull    = color.rgb(70, 163, 255)   // Blue for bull
clrBear    = color.rgb(255, 102, 170)   // Pink for bear
clrNeutral = color.rgb(128, 128, 128)   // Gray for neutral

fastPlot = plot(emaFast, linewidth=2, color=emaBull ? clrBull : emaBear ? clrBear : clrNeutral, title="Fast EMA")
slowPlot = plot(emaSlow, linewidth=2, color=emaBull ? clrBull : emaBear ? clrBear : clrNeutral, title="Slow EMA")
fill(fastPlot, slowPlot, color=emaBull ? color.new(clrBull, 70) : emaBear ? color.new(clrBear, 70) : color.new(clrNeutral, 70))

// ——— STRATEGY LOGIC ———
// Enter long immediately when the zone turns blue, and exit when it turns pink.
if emaBull
    strategy.entry("Long", strategy.long, comment="Long Entry")
if emaBear
    strategy.close("Long", comment="Close Long")