
이 전략은 대진변화와 중도 이동 평균 (WMA) 의 교차에 기반한 정량 거래 시스템이다. 가격 데이터를 대진변화함으로써 시장의 소음을 줄이고, 단기 및 장기 WMA의 교차를 사용하여 거래 신호를 생성한다. 전략의 핵심 아이디어는 가격 변동을 대진 공간으로 변환하여 더 안정적인 추세 판단을 위해 부드럽게 처리하는 것이다.
전략은 먼저 종전 가격에 대한 대진 변환을 수행하여 가격 변동의 극단적 인 영향을 줄인다. 그리고 단기 ((5주기) 와 장기 ((20주기) 의 중도 이동 평균을 각각 계산한다. 단기 WMA가 상향으로 긴 WMA를 통과하면, 시스템은 다중 신호를 발생시킨다. 단기 WMA가 아래로 긴 WMA를 통과하면, 시스템은 공백을 발생시킨다. 신호는 대진 변환 후 이동 평균을 횡단하여 트렌드의 전환점을 판단하여 트렌드 추적을 구현한다.
이것은 대각선 변환과 중화 이동 평균을 결합한 트렌드 추적 전략이다. 대각선 변환을 통해 가격 변동의 영향을 줄이고, 이중 이동 평균을 교차하여 트렌드 전환점을 잡는다. 전략 논리는 명확하고, 좋은 조작성이 있지만, 흔들리는 시장에서 위험 통제에 주의를 기울여야 한다.
/*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)