동적 추진력 전략

저자:차오장, 날짜: 2023-12-07 15:26:38
태그:

img

전반적인 설명

이 전략은 14일 간 간편 이동 평균 (SMA) 과 28일 간편 이동 평균 (SMA) 을 계산하고 그래프화합니다. 두 선이 황금색 십자가를 가지고있을 때 길게 이동하고 죽음의 십자가가있을 때 짧게 이동하여 시장 동력의 변화를 포착합니다.

전략 논리

이 전략의 핵심 지표는 14일 SMA와 28일 SMA이다. 14일 SMA는 단기 트렌드를 반영하여 가격 변화에 빠르게 반응한다. 28일 SMA는 중기 트렌드를 반영하여 더 안정적이다. 짧은 SMA가 더 긴 SMA를 넘을 때, 단기 트렌드가 장기 트렌드보다 강하다는 것을 나타낸다. 길게 가면 상승 동력을 포착할 수 있다. 짧은 SMA가 더 긴 SMA를 넘을 때, 장기 트렌드가 약해지고 있음을 나타낸다. 짧게 가면 하락 동력을 포착할 수 있다.

장/단 포지션을 결정하기 위해 SMA 크로스를 사용하는 것은 일반적인 거래 신호입니다. 단일 SMA 지표와 비교하면 이중 SMA 크로스는 다른 시간 지평선에서 정보를 결합하고 잘못된 신호를 피합니다.

이점 분석

이 전략의 장점은 다음과 같습니다.

  1. 실행과 조작이 간단합니다.
  2. 가격 변화에 빠르게 반응하고 시장 전환을 잡습니다.
  3. 비교적 신뢰할 수 있는 신호를 위해 단기 및 중기 정보를 결합합니다.
  4. SMA 매개 변수는 다른 시장에 적응하도록 조정할 수 있습니다.

위험 분석

또한 몇 가지 위험이 있습니다.

  1. SMA 자체는 지연 효과를 가지고, 신호가 지연될 수 있습니다.
  2. 플래시 추락과 같은 극심한 시장 변동성을 처리할 수 없습니다.
  3. 더 많은 SMA 교차가 거래 빈도와 비용을 증가시킵니다.
  4. 간단한 출입/출입 규칙은 최적화 할 수 있습니다.

리스크 관리 조치는: 더 넓은 중지 허용, 리스크 통제를 강조; 시장에 따라 SMA 기간을 조정; 다른 필터를 결합.

최적화 방향

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

  1. 필터를 추가해서 가짜 크로스를 피합니다. 부피, 스토카스틱 등으로 확인하세요.
  2. 스톱 손실 메커니즘을 추가합니다.
  3. SMA 기간을 최적화합니다. 적응적인 SMA, ML 매개 변수 선택 등.
  4. 다른 전략 유형과 결합합니다. 마감 제어, 트렌드를 따라 콤보 전략을 만들 수 있습니다.

결론

모멘텀 SMA 크로스 전략은 이중 SMA 크로스 신호를 계산하여 변화하는 시장 추세를 동적으로 포착합니다. 구현이 쉽고 신속하게 반응하지만 지연 위험도 있습니다. 시그널 확인, 스톱 손실, 매개 변수 선택 등에 대한 미래 개선이 가능하며 더 나은 결과를 위해 다른 전략과 결합 할 수 있습니다.


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

//@version=5
strategy("Tu Estrategia", overlay=true)

// Variables de estrategia
var bool longCondition = na
var bool shortCondition = na

// Indicador
emaValue = ta.ema(close, 30)
plotColor = close > open ? color.green : color.red
plot(emaValue, color=plotColor, linewidth=2)
value = 10 * open / close
plotColor2 = close == open ? color.orange : color.blue
plot(value, color=plotColor2, linewidth=2)

// Lógica de la estrategia
longCondition := ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortCondition := ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))

// Entradas de estrategia
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

plotColor3 = strategy.position_size > 0 ? color.green :
     strategy.position_size < 0 ? color.red :
     color.yellow

plot(ta.sma(close, 10), color=plotColor3)


더 많은