이중 이동 평균 골든 크로스 트렌드 거래 전략

저자:차오장, 날짜: 2024-02-18 15:07:30
태그:

img

전반적인 설명

이중 이동 평균 골든 크로스 트렌드 트레이딩 전략은 이중 이동 평균 (DEMA 및 TEMA) 을 사용하여 가격을 계산하고 전체 시장 추세를 파악하고 거래 신호를 생성하기 위해 크로스오버를 감지합니다. 이 전략은 중장기 트렌드를 추적하고 초기 트렌드 단계에서 신호를 캡처하기 위해 트렌드 지표와 브레이크아웃 신호를 결합합니다.

전략 논리

이 전략의 핵심 지표는 200주기 DEMA와 9주기와 50주기를 가진 두 개의 TEMAS입니다. DEMA는 전체 추세를 판단하고 TEMA 크로스오버는 거래 신호를 생성합니다.

단기 9주기 TEMA가 중기 50주기 TEMA를 넘을 때, 구매 신호가 생성되어 단기 움직임을위한 상승 추세 시작을 나타냅니다. 거래자는 길게 갈 수 있습니다. 9주기 TEMA가 50주기 TEMA를 넘을 때 판매 신호가 유발되며, 단기 하락 추세 시작을 나타냅니다. 거래자는 짧게 갈 수 있습니다.

가짜 브레이크오프를 필터링하기 위해, 전략은 DEMA 필터를 추가하여 TEMA 크로스오버 신호는 가격이 DEMA보다 높을 때만 유효합니다. 이것은 트렌드가 시작될 때 신호를 캡처합니다.

이점 분석

이 전략은 트렌드 분석을 위한 이동 평균과 단기 및 중장기 시그널 생성을 위한 크로스오버의 장점을 결합합니다. 강력한 신호와 소음 감소를 위한 두 가지 유형의 지표를 고려합니다.

DEMA 필터를 추가하면 신호가 저조한 통합과 같은 불리한 시장 조건을 피함으로써 신호 신뢰성을 향상시킵니다. 이것은 손실을 크게 줄입니다.

위험 분석

이 전략의 안정적인 매개 변수 설정은 탄탄한 역사 성과를 허용하지만, 특정 시장 환경에서 몇 가지 위험이 존재할 수 있습니다:

  1. 치열한 가격 변동으로 인해 적시에 가격을 반영할 수 없는 뒤떨어진 크로스오버 신호가 발생할 수 있습니다. 이는 입력 시기를 놓치고 스톱 로스 수준을 유발할 수 있습니다.

  2. 긴 DEMA 기간은 트렌드가 역전될 때 신호를 충분히 빠르게 변환하지 못할 수 있습니다. 이것은 손실을 증폭시킬 수 있습니다.

  3. 이 전략은 중장기 거래에 더 적합합니다. 단기 거래에서 적당한 이익이 발생할 수 있습니다.

최적화 방향

전략의 추가 개선 사항은 다음을 포함합니다.

  1. 제품 및 시장 체제에서 더 나은 적응을 위해 DEMA 및 TEMA 매개 변수를 최적화합니다. 최적의 설정을 찾기 위해 더 많은 조합을 테스트 할 수 있습니다.

  2. 신호 품질을 강화하기 위해 부피와 변동성 같은 지표가 있는 더 많은 필터를 추가합니다.

  3. 손실을 통제하기 위해 가격이 DEMA를 위반할 때 손해를 멈추는 것을 추가합니다.

  4. 일반적인 가격 변동 범위를 기반으로 스톱 로스를 최적화하고 수익 포인트를 취합니다.

결론

이중 이동 평균 골든 크로스 트렌드 트레이딩 전략은 여러 시간 프레임 트렌드와 크로스오버 신호를 포괄적으로 고려합니다. 추가 필터는 적시에 기회를 포착하고 저효율 트레이드를 피하기 위해 중장기 트렌드를 추적하는 신호 효과를 향상시킵니다.이 안정적인 전략은 다양한 시장 체제에 적합하며 장기적으로 배포 가치가있는 강력한 알고리즘을 제공합니다. 파라미터 및 모듈에 대한 미래 최적화는 안정성과 수익성을 더욱 높일 수 있습니다.


/*backtest
start: 2023-02-11 00:00:00
end: 2024-02-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia de Trading", shorttitle="DEMA+TEMA", overlay=true)

// Parámetros de la estrategia
risk_percentage = input(1, title="Porcentaje de Riesgo (%)") / 100
stop_loss_pips = input(30, title="Stop Loss (pips)")
take_profit_pips = input(90, title="Take Profit (pips)")
length_DEMA = input(200, title="Longitud DEMA")
length_TEMA_9 = input(9, title="Longitud TEMA 9")
length_TEMA_50 = input(50, title="Longitud TEMA 50")

// Indicadores
dema = ta.ema(close, length_DEMA)
tema_9 = ta.ema(close, length_TEMA_9)
tema_50 = ta.ema(close, length_TEMA_50)
tema_9_50_cross_up = ta.crossover(tema_9, tema_50)
tema_9_50_cross_down = ta.crossunder(tema_9, tema_50)

// Riesgo y gestión de operaciones
risk_per_trade = strategy.equity * risk_percentage
stop_loss = close - stop_loss_pips * syminfo.mintick
take_profit = close + take_profit_pips * syminfo.mintick

// Condiciones de entrada
long_condition = close > dema and tema_9_50_cross_up
short_condition = close > dema and tema_9_50_cross_down

// Estrategia de Trading
if (long_condition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", from_entry="Buy", loss=stop_loss, profit=take_profit)

if (short_condition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", from_entry="Sell", loss=stop_loss, profit=take_profit)

// Líneas de visualización
hline(0, "Zero Line", color=color.gray)
plot(dema, color=color.blue, title="DEMA")
plot(tema_9, color=color.green, title="TEMA 9")
plot(tema_50, color=color.red, title="TEMA 50")

// Triángulos
plotshape(tema_9_50_cross_up, color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(tema_9_50_cross_down, color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small)



더 많은