이중 이동 평균 교차 손절매 및 손절매 적응형 전략

SMA MA TP SL
생성 날짜: 2024-11-27 15:05:02 마지막으로 수정됨: 2024-11-27 15:05:02
복사: 1 클릭수: 441
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

이중 이동 평균 교차 손절매 및 손절매 적응형 전략

개요

이것은 쌍평선 교차 신호에 기반한 자기 적응형 거래 전략이다. 이 전략은 14주기 및 28주기의 간단한 이동 평균 ((SMA) 을 활용하여 거래 신호를 생성하고, 조절 가능한 중지 및 중지 메커니즘을 결합하여 위험 수익의 균형 관리를 구현한다. 이 전략은 고정자금 관리 방식을 채택하고, 초기 자본은 2000이며, 거래 당 200을 투입한다.

전략 원칙

전략의 핵심 논리는 두 개의 다른 주기의 간단한 이동 평균 사이의 교차 관계를 기반으로 한다. 단기 ((14주기) 평균선이 상향으로 긴 ((28주기) 평균선을 통과할 때, 다중 신호를 생성한다. 단기 평균선이 하향으로 긴 평균선을 통과할 때, 공백 신호를 생성한다. 동시에, 전략은 퍼센트 기반의 중지 및 중지 메커니즘을 도입, 각각 2% 및 4%로 설정, 이 디자인은 시장 가격에 따라 자동으로 중지 및 중지 위치를 조정할 수 있다.

전략적 이점

  1. 신호 명확성: 평선 교차를 이용한 신호가 명확하고 직관적이며, 주관적인 판단을 피한다.
  2. 리스크 컨트롤이 완벽하다: 백분율 방식으로 설정된 스톱로스 스 위치, 시장 가격에 따라 자동으로 조정할 수 있고, 다양한 시장 환경에 더 잘 적응한다.
  3. 재원 관리가 합리적입니다. 고정된 재원 분배 방식을 채택하여 과도한 레버리지로 인한 위험을 피합니다.
  4. 시각화 효과: 전략은 거래 신호와 평균 선의 움직임을 차트에 표시하여 거래자가 이해하고 모니터링 할 수 있습니다.
  5. 파라미터가 조정 가능: 스톱로스 스톱 파라미터는 다른 시장 환경과 개인의 위험 선호도에 따라 조정할 수 있다.

전략적 위험

  1. 흔들림 시장의 위험: 수평판 흔들림 시장에서, 평균선이 자주 교차하면 가짜 신호가 증가할 수 있다.
  2. 슬라이드 포인트 위험: 시장의 변동이 큰 경우, 실제 거래 가격은 신호 가격과 오차가 있을 수 있다.
  3. 고정된 스톱 손실: 스톱 손실 위치는 가격에 따라 변하지만, 고정된 비율은 모든 시장 환경에 적합하지 않을 수 있습니다.
  4. 자금 사용 효율성: 고정 자금 분배 방식은 어떤 경우에 자금 사용 효율성이 높지 않을 수 있다.

전략 최적화 방향

  1. 트렌드 필터를 도입합니다. MACD 또는 RSI와 같은 트렌드 판단 지표를 추가하여 가짜 신호를 줄일 수 있습니다.
  2. 동적 스톱 메커니즘: 시장의 변동에 따라 동적으로 스톱 비율을 조정하여 전략의 적응성을 향상시킬 수 있습니다.
  3. 자금 관리를 최적화: 변동률에 기반한 포지션 관리 방법을 도입하여 자금 활용 효율성을 높일 수 있다.
  4. 시간 필터를 추가: 거래 시간 제한을 추가하여 큰 변동성을 피할 수 있습니다.
  5. 철수 제어: 최대 철수 제한을 설정할 수 있으며, 특정 철수가 달성되면 거래를 중지한다.

요약하다

이것은 명확한 구조와 논리적으로 엄격한 거래 전략이다. 쌍평선 교차를 통해 거래 신호를 제공하며, 자율적 인 중지 중지 장치와 함께 거래 기회의 캡처 및 위험의 통제를 실현한다. 전략에는 몇 가지 최적화 공간이 있지만, 전체적인 디자인은 양적 거래의 기본 원칙에 부합한다. 제안된 최적화 방향을 통해 전략의 안정성과 수익성이 더욱 향상될 전망이다.

전략 소스 코드
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('My Custom Strategy', overlay = true)

// Parámetros de las SMAs (Medias Móviles Simples)
sma14 = ta.sma(close, 14)
sma28 = ta.sma(close, 28)

// Stop Loss y Take Profit configurables
stop_loss_percent = input.float(2, title="Stop Loss %", minval=0.1, step=0.1)
take_profit_percent = input.float(4, title="Take Profit %", minval=0.1, step=0.1)

// Cálculo de stop loss y take profit
stop_loss = close * (1 - stop_loss_percent / 100)
take_profit = close * (1 + take_profit_percent / 100)

// Condiciones de entrada para compra (long)
longCondition = ta.crossover(sma14, sma28)
if (longCondition)
    strategy.entry('Long', strategy.long, stop=stop_loss, limit=take_profit)
plotshape(series=longCondition, color=color.new(color.blue, 0), style=shape.labelup, location=location.belowbar, text="BUY")

// Condiciones de entrada para venta (short)
shortCondition = ta.crossunder(sma14, sma28)
if (shortCondition)
    strategy.entry('Short', strategy.short, stop=stop_loss, limit=take_profit)
plotshape(series=shortCondition, color=color.new(color.red, 0), style=shape.labeldown, location=location.abovebar, text="SELL")

// Visualización de las SMAs en el gráfico
plot(sma14, color=color.blue, title="SMA 14")
plot(sma28, color=color.red, title="SMA 28")