리소스 로딩... 로딩...

다중 시간 프레임 EMA 크로스 높은 수익률 트렌드 전략 (첨단)

저자:차오장, 날짜: 2024-11-28 17:27:46
태그:EMASMARSIMAMACD

img

전반적인 설명

이것은 여러 시간 프레임 EMA 크로스오버에 기반한 트렌드 다음 전략이다. 이 전략은 주로 입점 지점을 결정하기 위해 20, 50, 200 주기의 기하급수적 이동 평균 (EMA) 과 가격-EMA 관계 사이의 크로스오버 관계에 의존하며, 위험 관리에 대한 비율 기반의 영업 및 스톱-러스 수준을 통합합니다. 이 전략은 1 시간, 일일 및 주간 차트와 같은 더 큰 시간 프레임에 특히 효과적입니다.

전략 원칙

핵심 논리는 여러 이동 평균 시스템과 가격 행동 분석에 기반합니다.

  1. 트렌드 식별 시스템을 구축하기 위해 세 가지 다른 기간 EMA (20, 50, 200) 를 사용합니다.
  2. 입국 조건은 다음의 모든 것을 요구합니다.
    • 20주기 EMA 이상의 가격 파업 및 폐쇄
    • 20주기 EMA는 50주기 EMA보다 높습니다.
    • 50주기 EMA는 200주기 EMA보다 높습니다.
  3. 리스크 관리에는 고정 비율의 방법이 사용됩니다.
    • 영업이익은 입시 가격보다 10% 높습니다.
    • 스톱 로스는 입시 가격보다 5% 낮게 설정됩니다.

전략적 장점

  1. 다중 확인 메커니즘은 신뢰성을 향상시킵니다.
    • 트리플 EMA와 가격 브레이크에 의한 복수 검증
    • 거짓 신호 간섭을 줄여줍니다.
  2. 포괄적 인 위험 관리 시스템
    • 미리 설정된 영업이익 및 스톱 로스 수준
    • 합리적인 위험/이익 비율 (1:2)
  3. 높은 적응력
    • 여러 시간 프레임에 적용
    • 중장기 트렌드 거래에 특히 적합합니다.

전략 위험

  1. 다양한 시장에서 낮은 성과
    • 마이너스 시장에서 빈번한 스톱 손실을 유발할 수 있습니다
    • 명확한 트렌드 조건에서 사용하는 것이 좋습니다.
  2. 지연 위험
    • 이동 평균 시스템은 내재적인 지연을 가지고 있습니다.
    • 트렌드 시작 지점을 놓칠 수 있습니다.
  3. 적립된 영업이익 및 스톱 로스 제한
    • 고정 비율은 모든 시장 조건에 맞지 않을 수 있습니다.
    • 변동성에 기초한 동적 조정

전략 최적화 방향

  1. 변동성 지표를 포함합니다.
    • ATR을 사용해서 동적 취득 및 스톱 로스 조정
    • 전략 시장 적응력 향상
  2. 트렌드 강도 필터링 추가
    • ADX 또는 다른 트렌드 강도 지표
    • 입력 신호 품질을 향상
  3. EMA 기간 최적화
    • 다른 시장 특성에 따라 EMA 매개 변수를 조정합니다.
    • 매개 변수 최적화 범위 제안을 제공

요약

이것은 명확한 논리를 가진 전략을 따르는 잘 설계된 트렌드입니다. 여러 기술적 지표의 조합을 통해 전략 신뢰성과 명확한 위험 관리 솔루션 모두를 보장합니다. 전략은 특히 더 큰 시간 프레임 차트에 적합하며 중장기 트렌드를 포착하는 데 독특한 이점을 가지고 있습니다. 제안된 최적화 방향을 통해 추가 개선의 여지가 있습니다. 거래자는 라이브 거래 전에 백테스팅 시스템에서 전략을 철저하게 테스트하고 특정 거래 도구 특성에 따라 매개 변수를 조정하는 것이 좋습니다.


/*backtest
start: 2024-10-28 00:00:00
end: 2024-11-27 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Cross Strategy with Targets and Fill", overlay=true)

// Define EMAs
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)

// Plot EMAs (hidden)
plot(ema20, color=color.blue, title="EMA 20", display=display.none)
plot(ema50, color=color.red, title="EMA 50", display=display.none)
plot(ema200, color=color.green, title="EMA 200", display=display.none)

// Define the conditions
priceCrossAboveEMA20 = ta.crossover(close, ema20)
priceCloseAboveEMA20 = close > ema20
ema20AboveEMA50 = ema20 > ema50
ema50AboveEMA200 = ema50 > ema200

// Buy condition
buyCondition = priceCrossAboveEMA20 and priceCloseAboveEMA20 and ema20AboveEMA50 and ema50AboveEMA200

// Plot buy signals
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")

// Declare and initialize variables for take profit and stop loss levels
var float longTakeProfit = na
var float longStopLoss = na
var float buyPrice = na

// Update levels and variables on buy condition
if (buyCondition)
    // Enter a new buy position
    strategy.entry("Buy", strategy.long)

    // Set new take profit and stop loss levels
    longTakeProfit := strategy.position_avg_price * 1.10  // Target is 10% above the buy price
    longStopLoss := strategy.position_avg_price * 0.95    // Stop loss is 5% below the buy price
    buyPrice := strategy.position_avg_price

// Plot levels for the new trade
plotTakeProfit = plot(longTakeProfit, color=color.green, title="Take Profit", linewidth=1, offset=-1)
plotStopLoss = plot(longStopLoss, color=color.red, title="Stop Loss", linewidth=1, offset=-1)
plotBuyPrice = plot(buyPrice, color=color.blue, title="Buy Price", linewidth=1, offset=-1)

// Fill areas between buy price and take profit/stop loss levels
fill(plotBuyPrice, plotTakeProfit, color=color.new(color.green, 90), title="Fill to Take Profit")  // Light green fill to target
fill(plotBuyPrice, plotStopLoss, color=color.new(color.red, 90), title="Fill to Stop Loss")    // Light red fill to stop loss

// Exit conditions
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", limit=longTakeProfit, stop=longStopLoss)


관련

더 많은