이중 이동 평균 크로스오버 거래 전략

저자:차오장, 날짜: 2023-12-07 10:36:46
태그:

img

전반적인 설명

이중 이동 평균 크로스오버 거래 전략은 서로 다른 시간 프레임에 걸쳐 기하급수적인 이동 평균 (EMA) 을 계산하고 그 크로스오버 포인트를 감지하여 거래 신호를 생성합니다. 트렌드를 따르는 전략의 범주에 속합니다. 이 전략은 50 기간, 144 기간 및 200 기간의 3 EMA를 사용하여 크로스오버 포인트에 따라 시장 트렌드를 결정하고 거래 신호를 생성합니다. 더 빠른 EMA가 느린 EMA를 넘을 때 구매 신호가 유발됩니다. 더 빠른 EMA가 느린 EMA를 넘을 때 판매 신호가 유발됩니다. 이 전략은 간단하고 실용적이며 자동화하기가 쉽습니다.

전략 논리

  1. 50주기, 144주기 및 200주기 EMA를 계산하기 위해 각각 EMA50, EMA144 및 EMA200로 표시된 종료 가격을 사용한다.

  2. 만약 EMA50가 EMA144와 EMA200를 동시에 넘어서면, 긴 포지션을 개설하기 위해 구매 신호를 트리거합니다.

  3. EMA50가 EMA144와 EMA200를 동시에 넘으면, 긴 포지션을 닫기 위해 판매 신호를 발사합니다.

이점 분석

이중 이동 평균 크로스오버 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 간단하고 이해하기 쉽죠. 매개 변수는 직관적이고 자동화를 위해 쉽게 구현됩니다.

  2. 트렌드 변화와 동력 변화에 빠르게 반응합니다.

  3. 사용자 정의 가능한 매개 변수들은 다른 시장 조건에 맞게 EMA 기간을 조정할 수 있습니다.

  4. 소음 필터링 기능이 있어 단기 변동으로 인해 오해를 피할 수 있습니다.

  5. 다른 지표와 결합하여 체계적인 거래 규칙을 만들 수 있습니다.

위험 분석

이 전략과 관련된 위험도 있습니다.

  1. 잘못된 신호를 생성하고 높은 변동성으로 인해 휘파람을 맞습니다.

  2. 확립된 트렌드의 기간을 결정할 수 없습니다. 신호는 조기에 올 수 있습니다.

  3. 부적절한 매개 변수 조정으로 인해 거래 비용이 증가하고 미끄러짐이 발생할 수 있습니다.

  4. 범위와 관련된, 불안정한 시장에서 거래할 때 연속적인 손실을 초래할 수 있습니다.

  5. 스톱 로스 같은 리스크 관리 메커니즘이 없습니다.

최적화 방향

이중 이동 평균 크로스오버 전략을 최적화하는 몇 가지 방법은 다음과 같습니다.

  1. 잘못된 신호를 줄이기 위해 부피와 변동성 같은 다른 지표에 기반한 필터를 추가합니다.

  2. 단일 거래 위험을 통제하기 위해 스톱 로스 전략을 포함합니다.

  3. 다른 시장 시간 프레임에 적응하기 위해 EMA 기간을 최적화합니다.

  4. 고정 분수 할당, 피라미드 등과 같은 위치 사이즈링 규칙을 추가합니다.

  5. 매개 변수를 동적으로 최적화하기 위해 기계 학습 모델을 이용합니다.

결론

이중 이동 평균 크로스오버 (Dual Moving Average Crossover) 는 단순하고 실용적인 트렌드 추후 전략이다. EMA 교차를 통해 트렌드 방향성을 식별하고 중장기 트렌드 따라 기회를 포착하는 것을 목표로 한다. 이해하기 쉽고 구현하기 쉽지만 잘못된 신호와 위험 통제 부족과 같은 단점이 있다. 추가 필터, 스톱 손실 및 매개 변수 최적화를 도입함으로써 견고하고 효율적인 거래 시스템으로 형성될 수 있다. 전반적으로, 전략은 자동 트렌드 트레이딩에 잘 적합하며 알고리즘 트레이딩 전략의 가장 기본적인 구성 요소 중 하나로 남아있다.


/*backtest
start: 2023-11-29 00:00:00
end: 2023-12-06 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SDTA

//@version=5
strategy("EMA Crossover Strategy", overlay=true)

// Hareketli Ortalamaları Hesapla
ema50 = ta.ema(close, 50)
ema144 = ta.ema(close, 144)
ema200 = ta.ema(close, 200)

// Al sinyali koşulu: Fiyat EMA 50, EMA 144 ve EMA 200 üzerine çıktığında
longCondition = close > ema50 and close > ema144 and close > ema200

// Sat sinyali koşulu: Fiyat EMA 200, EMA 144 ve EMA 50 altına indiğinde
shortCondition = close < ema200 and close < ema144 and close < ema50

// Al ve Sat sinyallerinin gerçekleştiği çubuğu ok ile belirt
plotarrow(series=longCondition ? 1 : shortCondition ? -1 : na, colorup=color.green, colordown=color.red, offset=-1, title="Trade Arrow")

// Hareketli Ortalamaları Çiz
plot(ema50, color=color.blue, title="EMA 50")
plot(ema144, color=color.orange, title="EMA 144")
plot(ema200, color=color.red, title="EMA 200")

// Strateji testi ekleyin
strategy.entry("AL", strategy.long, when=longCondition)
strategy.entry("SAT", strategy.short, when=shortCondition)


더 많은