동적 손절매 이익 및 손절매 손실과 결합된 3개 이동 평균 교차 이동 평균 추적 거래 전략

EMA MA
생성 날짜: 2024-11-28 15:54:18 마지막으로 수정됨: 2024-11-28 15:54:18
복사: 0 클릭수: 517
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

동적 손절매 이익 및 손절매 손실과 결합된 3개 이동 평균 교차 이동 평균 추적 거래 전략

개요

이 전략은 9주기, 15주기, 50주기 EMA 지표를 종합적으로 사용하여 단기평균과 중기평균의 교차 신호를 판단하고 장기평균을 트렌드 필터로 사용하여 거래 위험을 관리하는 동시에 동적 스톱 손실 장치와 함께 거래 위험을 관리합니다. 이 전략은 트렌드 추적 및 위험 관리의 요구를 충분히 고려하여 설계되었습니다.

전략 원칙

이 전략의 핵심 논리는 9주기 EMA와 15주기 EMA의 교차 신호를 모니터링하여 거래 시기를 결정하고 50주기 EMA를 트렌드 확인 지표로 사용합니다. 구체적으로:

  1. 가격이 50주기 EMA 위에 있고, 9주기 EMA가 15주기 EMA를 상향으로 가로지르면, 시스템은 다중 신호를 생성한다.
  2. 가격이 50주기 EMA 아래에 있고, 9주기 EMA가 15주기 EMA를 아래로 넘어가면, 시스템은 평정상태 신호를 발생시킨다.
  3. 각 거래에는 고정된 중지 지점과 수익 목표가 설정되어 있으며, 이는 자금을 보호하고 수익을 고정하기 위해 사용됩니다.
  4. 거래 신호가 발생했을 때 알람 기능을 통해 상기시켜서 거래자가 신속하게 처리 할 수 있도록합니다.

전략적 이점

  1. 복수확인 메커니즘: 3개의 일률선을 조합하여 가짜 침입의 위험을 효과적으로 감소시킵니다.
  2. 강력한 트렌드 추적 능력: 50주기 EMA의 필터링은 거래 방향이 주 트렌드와 일치하도록 보장합니다.
  3. 리스크 관리: 내장된 중지 손실과 수익 목표, 거래 당 위험을 효과적으로 제어할 수 있습니다.
  4. 신호 명확성: 교차 신호가 명확하고, 조작 실행이 용이하다
  5. 높은 수준의 자동화: 자동 거래 및 상기 기능을 지원하고 인간의 개입을 줄입니다.
  6. 매개 변수 조정 가능: 주요 매개 변수는 시장 특성에 따라 최적화 될 수 있습니다.

전략적 위험

  1. 위기 시장 위험: 수평 정리 단계에서 빈번한 잘못된 신호가 발생할 수 있습니다.
  2. 지연 위험: 이동평균선 자체에도 지연이 있으며, 최적의 진입 시점을 놓칠 수 있습니다.
  3. 고정 스톱 리스크: 고정 스톱은 시장의 변동성에 적응하지 못할 수 있습니다.
  4. 기술 지표에 과도한 의존: 근본적인 요소를 고려하지 않는 것은 중요한 전환점에 대한 잘못된 판단을 초래할 수 있습니다.
  5. 재원 관리 위험: stop loss 및 profit 목표 설정이 부합하지 않으면 전체 수익률에 영향을 미칠 수 있습니다.

전략 최적화 방향

  1. 동적 스톱 최적화: ATR 지표를 도입하여 스톱 위치를 동적으로 조정하여 시장의 변동 특성에 더 적합하게 만들 수 있습니다.
  2. 신호 필터링 강화: 트래픽량, RSI 등의 보조 지표를 추가하여 가짜 신호를 필터링할 수 있다.
  3. 매개 변수 자율 적응: 시장의 변동에 따라 평균 주기를 자동으로 조정하여 전략 적응력을 향상시킵니다.
  4. 분기 최적화: 다른 기간의 시장 특성에 맞게 전략 매개 변수를 조정합니다.
  5. 포지션 관리 개선: 시장의 위험도에 따라 포지션 개수를 자동으로 조정하는 동적 포지션 관리 메커니즘을 도입

요약하다

이것은 합리적이고 논리적으로 명확하게 설계된 트렌드 추적 전략이다. 다중 평균의 조합 사용으로 신호의 신뢰성이 보장되고, 트렌드에 대한 효과적인 추적이 이루어진다. 내장 된 위험 관리 메커니즘은 전략의 안정적인 운영을 보장한다. 제안된 최적화 방향에 의해, 전략에는 더 많은 개선의 여지가 있다. 안정적인 수익을 추구하는 거래 사용자에게 적합하지만, 사용하기 전에 충분한 테스트와 특정 시장 특성에 대한 변수 최적화가 필요합니다.

전략 소스 코드
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// Customizable Inputs
ema9Length = input(9, title="EMA 9 Length")
ema15Length = input(15, title="EMA 15 Length")
ema50Length = input(50, title="EMA 50 Length")
stopLossPoints = input(100, title="Stop Loss Points")
takeProfitPoints = input(200, title="Take Profit Points")

// Calculate EMAs
ema9 = ta.ema(close, ema9Length)
ema15 = ta.ema(close, ema15Length)
ema50 = ta.ema(close, ema50Length)

// Detect crossovers
crossover_above = ta.crossover(ema9, ema15)
crossover_below = ta.crossunder(ema9, ema15)

// Plot EMAs
plot(ema9, color=color.blue, title="EMA 9")
plot(ema15, color=color.red, title="EMA 15")
// Make the 50 EMA invisible
plot(ema50, color=color.new(color.white, 100), title="EMA 50", display=display.none)

// Plot buy and sell signals as shapes
plotshape(crossover_above and close > ema50, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(crossover_below and close < ema50, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

// Execute trades
if (crossover_above and close > ema50)
    strategy.entry("Buy", strategy.long)

if (crossover_below and close < ema50)
    strategy.close("Buy")

// Apply stop loss and take profit
if (crossover_above and close > ema50)
    strategy.exit("Exit", from_entry="Buy", loss=stopLossPoints, profit=takeProfitPoints)

// Alerts for notifications
if (crossover_above and close > ema50)
    alert("EMA 9 crossed above EMA 15 with price above EMA 50 - Buy Signal", alert.freq_once_per_bar_close)

if (crossover_below and close < ema50)
    alert("EMA 9 crossed below EMA 15 with price below EMA 50 - Sell Signal", alert.freq_once_per_bar_close)