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

저자:차오장, 날짜: 2024-02-27 13:51:51
태그:

img

전반적인 설명

이 전략은 20 기간 간단한 이동 평균 (SMA) 과 21 기간 기하급수적 이동 평균 (EMA) 을 계산하고 그래프화하며, 가격 변동 구역을 시각화하기 위해 그 사이의 색상을 채우고 있습니다. 가격이 20 기간 SMA 이상으로 넘어가면 구매 신호를 생성하고 가격이 21 기간 EMA 이하로 넘어가면 판매 신호를 생성합니다. 이 전략에는 또한 후속 스톱 손실 및 수익 취업 기능이 있습니다.

전략 논리

이중 이동 평균 크로스오버 전략의 핵심 아이디어는 빠른 이동 평균과 느린 이동 평균 사이의 크로스오버를 거래 신호로 사용하는 것입니다. 20 기간 SMA는 가격 변화에 더 빠르게 반응하는 반면 21 기간 EMA는 약간 뒤떨어져 있지만 더 부드럽습니다. 단기 및 장기 트렌드가 일관성있는 경우, 즉 두 이동 평균이 상향 또는 하향으로 교차하면 트렌드가 강화되고 거래 결정이 더 수익성이있을 가능성이 있음을 나타냅니다.

특히, 종료 가격이 20주기 SMA를 넘을 때, 단기 및 장기 모두 상승 추세에 있음을 나타냅니다. 따라서 장거리로 이동합니다. 종료 가격이 21주기 EMA를 넘을 때, 단기 및 장기 모두 하락 추세에 있음을 나타냅니다. 출구 신호는 입구 신호의 반대입니다. 예를 들어, 가격이 20주기 SMA 아래로 떨어지면 긴 포지션을 닫습니다. 가격이 21주기 EMA를 넘을 때, 짧은 포지션을 닫습니다.

채식 기술은 또한 두 이동 평균 사이의 색을 채우기 위해 사용되며 시장 트렌드를 판단하는 데 도움이되는 시각적 지표를 형성합니다.

장점

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

  1. 간단한 논리, 이해하기 쉽고 실행하기 쉬운
  2. 두 이동 평균의 크로스오버는 트렌드 방향의 변화를 신뢰성 있게 나타냅니다.
  3. 시각 지표는 직관적으로 가격 변동 수준을 표시합니다.
  4. 스톱 로스를 추적하고 이윤을 취하는 것은 이윤을 차단하고 위험을 줄입니다.
  5. 이 전략을 기반으로 다양한 최적화를 위한 높은 확장성.

위험성

이 전략에는 몇 가지 위험도 있습니다.

  1. 윙사 (whipsaws) 에 유연하고 범위 제한 기간 동안 잘못된 신호를 생성합니다.
  2. 부적절한 스톱 로스 및 수익 취득 설정은 손실 또는 수익 감소로 이어질 수 있습니다.
  3. 부적절한 매개 변수 조정 (예: 기간 길이가) 은 전략 성과에 부정적인 영향을 줄 수 있습니다.
  4. 자동 거래는 연속 손실을 유발할 수 있습니다.

위의 위험을 해결하기 위해 다음과 같은 조치를 취할 수 있습니다.

  1. 필터를 추가해서 은 시간에 들어가지 않도록 합니다.
  2. 스톱 로스 및 수익 매개 변수를 최적화하여 위험과 수익을 균형 잡습니다.
  3. 매개 변수 안정성을 테스트하고 시장에 적합한 매개 변수를 선택합니다.
  4. 예외적인 상황에서는 손해를 막기 위해 수동으로 개입해야 합니다.

더 나은 기회

이 전략은 다음과 같은 측면에서 개선될 수 있습니다.

  1. 다른 기술 지표 필터, 예를 들어 볼륨과 변동성, 거짓 파장을 피하기 위해 추가합니다.
  2. 기계 학습을 기반으로 움직이는 평균 매개 변수를 동적으로 최적화합니다.
  3. 의사결정을 개선하기 위해 감정 분석과 뉴스 분석을 통합합니다.
  4. 시장 조건에 따라 스톱 로스 스케일을 조정할 수 있는 적응식 스톱 로스 메커니즘을 구축합니다.

요약

이 전략은 빠르고 느린 이동 평균 사이의 교차점을 사용하여 트렌드 변화를 식별하고 그에 따른 긴 및 짧은 결정을 내립니다. 단순성, 직관성 및 구현 용이성과 같은 장점이 있지만, 또한 몇 가지 위험을 안고 있습니다. 위험은 파라미터 최적화, 필터 추가, 수동 감독 등을 통해 감소하고 성능을 향상시킬 수 있습니다. 전략은 큰 확장성을 가지고 있으며 심도있는 연구와 응용 가치가 있습니다.


/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("BMSB Breakout Strategy", shorttitle="BMSB Breakout", overlay=true)

source = close
smaLength = 20
emaLength = 21

sma = ta.sma(source, smaLength)
ema = ta.ema(source, emaLength)

outSma = request.security(syminfo.tickerid, timeframe.period, sma)
outEma = request.security(syminfo.tickerid, timeframe.period, ema)

smaPlot = plot(outSma, color=color.new(color.red, 0), title='20w SMA')
emaPlot = plot(outEma, color=color.new(color.green, 0), title='21w EMA')

fill(smaPlot, emaPlot, color=color.new(color.orange, 75), fillgaps=true)

// Definir condiciones para la estrategia de compra y venta
buyCondition = ta.crossover(close, outSma)
sellCondition = ta.crossunder(close, outEma)

// Entrada larga (compra) y salida corta
strategy.entry("Long", strategy.long, when=buyCondition and not na(sellCondition))
strategy.close("Short", when=buyCondition)

// Entrada corta (venta) y salida larga
strategy.entry("Short", strategy.short, when=sellCondition and not na(buyCondition))
strategy.close("Long", when=sellCondition)

// Puedes ajustar la configuración de la estrategia y los valores predeterminados según tus preferencias

plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")


더 많은