로그 가중 이동 평균 교차 신호를 기반으로 한 양적 거래 전략

WMA MA LOG CROSS Trend
생성 날짜: 2025-02-08 14:53:53 마지막으로 수정됨: 2025-02-08 14:53:53
복사: 0 클릭수: 344
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

로그 가중 이동 평균 교차 신호를 기반으로 한 양적 거래 전략

개요

이 전략은 대진변화와 중도 이동 평균 (WMA) 의 교차에 기반한 정량 거래 시스템이다. 가격 데이터를 대진변화함으로써 시장의 소음을 줄이고, 단기 및 장기 WMA의 교차를 사용하여 거래 신호를 생성한다. 전략의 핵심 아이디어는 가격 변동을 대진 공간으로 변환하여 더 안정적인 추세 판단을 위해 부드럽게 처리하는 것이다.

전략 원칙

전략은 먼저 종전 가격에 대한 대진 변환을 수행하여 가격 변동의 극단적 인 영향을 줄인다. 그리고 단기 ((5주기) 와 장기 ((20주기) 의 중도 이동 평균을 각각 계산한다. 단기 WMA가 상향으로 긴 WMA를 통과하면, 시스템은 다중 신호를 발생시킨다. 단기 WMA가 아래로 긴 WMA를 통과하면, 시스템은 공백을 발생시킨다. 신호는 대진 변환 후 이동 평균을 횡단하여 트렌드의 전환점을 판단하여 트렌드 추적을 구현한다.

전략적 이점

  1. 수학적 변환은 가격 변동의 극한값 영향을 효과적으로 줄여주고, 추세 판단을 더욱 안정화시킵니다.
  2. 가중 이동 평균을 사용하여 간단한 이동 평균보다 가격 변화에 더 빠르게 반응합니다.
  3. 이중 이동 평균의 교차 신호를 명확하게 하고, 단일 지표가 가져올 수 있는 잘못된 신호를 피한다
  4. 시스템에는 자동 거래 실행 기능이 있으며, 인적 조작으로 인한 지연과 감정적 영향을 줄입니다.
  5. 실시간 경고 기능으로 중요한 거래 기회를 놓치지 않도록 합니다.

전략적 위험

  1. 불안정한 시장에서 더 많은 가짜 신호가 발생하여 거래 빈도가 증가하여 비용이 증가할 수 있습니다.
  2. 대수 변환은 극단적인 경우에 신호 생성에 지연을 줄 수 있다.
  3. 고정 이동 평균 주기는 모든 시장 환경에 적합하지 않을 수 있습니다. 스톱 로즈 조건과 포지션 컨트롤을 설정하여 리스크를 관리하는 것이 권장되며, 다른 기술 지표와 결합하여 신호 확인을 할 수 있습니다.

전략 최적화 방향

  1. 시장의 변동성에 따라 동적 변수를 조정하는 적응형 이동 평균 주기 도입
  2. 거래량을 증가시키는 것과 같은 보조 지표로 거래 신호를 확인합니다.
  3. 트렌드 강도 필터를 추가하여 약한 트렌드 환경에서 거래하는 것을 피하십시오.
  4. 손해 중지 및 중지 조건을 최적화하고 자금 사용 효율성을 높여라
  5. 큰 손실을 방지하기 위해 철수 제어 장치에 가입하는 것을 고려하십시오.

요약하다

이것은 대각선 변환과 중화 이동 평균을 결합한 트렌드 추적 전략이다. 대각선 변환을 통해 가격 변동의 영향을 줄이고, 이중 이동 평균을 교차하여 트렌드 전환점을 잡는다. 전략 논리는 명확하고, 좋은 조작성이 있지만, 흔들리는 시장에서 위험 통제에 주의를 기울여야 한다.

전략 소스 코드
/*backtest
start: 2022-02-09 00:00:00
end: 2025-02-06 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Logaritmik WMA Al-Sat Stratejisi", overlay=true)

// Parametreler
shortWMA_length = input.int(5, title="Kısa WMA (5)")
longWMA_length = input.int(20, title="Uzun WMA (20)")

// Logaritmik Fiyat Hesaplaması
log_close = math.log(close)  // Fiyatların logaritmasını alıyoruz

// Logaritmik WMA'ların Hesaplanması
log_shortWMA = ta.wma(log_close, shortWMA_length)  // Kısa WMA (Log)
log_longWMA = ta.wma(log_close, longWMA_length)    // Uzun WMA (Log)

// WMA'ları Normal Ölçeğe Geri Dönüştürme
shortWMA = math.exp(log_shortWMA)  // Logaritmadan geri dönüştürülmüş kısa WMA
longWMA = math.exp(log_longWMA)    // Logaritmadan geri dönüştürülmüş uzun WMA

// Al-Sat Koşulları
longCondition = ta.crossover(shortWMA, longWMA)  // Kısa WMA uzun WMA'yı yukarı keserse
shortCondition = ta.crossunder(shortWMA, longWMA)  // Kısa WMA uzun WMA'yı aşağı keserse

// WMA'ları Çizdirme
plot(shortWMA, color=color.green, title="Kısa WMA (Log)", linewidth=2, style=plot.style_line)
plot(longWMA, color=color.red, title="Uzun WMA (Log)", linewidth=2, style=plot.style_line)

// İşlem Girişleri
if (longCondition)
    strategy.entry("AL", strategy.long)

if (shortCondition)
    strategy.entry("SAT", strategy.short)

// Alarm Fonksiyonu
if (longCondition)
    alert("AL Sinyali: Kısa WMA (Log), Uzun WMA (Log)'yı yukarı kesti.", alert.freq_once_per_bar_close)

if (shortCondition)
    alert("SAT Sinyali: Kısa WMA (Log), Uzun WMA (Log)'yı aşağı kesti.", alert.freq_once_per_bar_close)