트렌드 서핑 - 이중 이동 평균 크로스 오버 트렌드 전략

저자:차오장, 날짜: 2024-01-04 17:28:14
태그:

전반적인 설명

트렌드 서핑 전략은 주로 이중 이동 평균 크로스오버 신호에 기반한 트렌드 추적 전략이다. 또한 트리앵글 시각 지표, 200일 EMA, ROC 지표 및 RSI 지표를 통합하여 잡음을 필터링하고 트렌드 반전을 정확하게 포착합니다. 이 전략은 중장기 보유에 적합하며 황금 시장에서 꾸준한 성장을 달성 할 수 있습니다.

전략 논리

트렌드 서핑 전략은 주로 빠른 이동 평균과 느린 이동 평균에 의해 형성된 황금 십자가와 죽음의 십자가에 의존하여 구매 및 판매 신호를 생성합니다. 빠른 MA가 느린 MA보다 높을 때 구매 신호가 생성됩니다. 빠른 MA가 느린 MA보다 낮을 때 판매 신호가 생성됩니다.

또한 전략에는 여러 보조 지표가 포함되어 잘못된 신호를 필터링하거나 트렌드 품질을 결정합니다.

  1. 가격 추세와 동력을 결정하기 위한 ROC 지표
  2. RSI 오시레이터: 과잉 구매/ 과잉 판매 수준을 감지합니다.
  3. 전체 트렌드 방향을 결정하기 위한 200일 EMA
  4. 그래프에 입력 지점을 표시하는 삼각형 시각 지표

다양한 지표를 종합적으로 판단함으로써 트렌드 서핑 전략은 시장 소음이나 단기적 보정으로 오도받지 않고 트렌드 전환점을 정확하게 파악하고 중장기적 트렌드를 추적할 수 있습니다.

이점 분석

1. 중장기적 추세 를 파악
이 전략은 기본적으로 MA 교차를 기반으로 트렌드 반전을 판단하고 중장기 트렌드 포착에 중점을 두고 200일 EMA와 같은 지표를 사용하여 단기 소음을 필터링합니다.

2. 다중 지표가 높은 품질의 입학을 보장합니다
MA 크로스오버 자체 외에도 ROC, RSI 및 기타 지표가 통합 구역을 회전 지점에서 피하고 품질 입력을 보장합니다.

3. 직관적인 삼각형 시각 지표
녹색 아래쪽 삼각형은 긴 항목을 나타내고 빨간색 위쪽 삼각형은 짧은 항목을 나타냅니다. 깨끗하고 간단합니다.

4. 각기 다른 필요에 맞게 조정 가능한 매개 변수
사용자들은 자신의 거래 스타일에 따라 MA 기간, ROC 길이, RSI 길이와 같은 매개 변수를 자유롭게 조정할 수 있습니다.

5. 손실 을 멈추고 이윤 을 통제 하라
이 전략은 ATR 값과 위험 비율을 곱한 기준으로 스톱 로스를 설정하고 수익을 취하여 거래별 리스크 통제를 가능하게 합니다.

위험 분석

1. 거래 를 놓칠 위험
모든 MA 크로스오버에 기반한 전략은 MA가 변동할 때 트레이드를 놓칠 수도 있고 중단될 수도 있습니다.

2. 부적절한 매개 변수 설정에서 과잉 최적화사용자들은 가상의 이상적인 매개 변수 값을 추구하는 것을 피해야 합니다. 매개 변수는 다른 시장 조건과 제품에 따라 테스트되고 조정되어야 합니다.

3. 블랙 스완 사건 을 완전히 필터링 할 수 없는 것
극단적인 시장 조건에서 전략은 여전히 시장 시스템 위험으로 인해 큰 손실을 겪을 수 있습니다.

최적화 방향

1. 매개 변수 값을 테스트하고 최적화
MA의 기간, ROC의 길, RSI의 값 등은 다양한 거래 제품의 특성에 맞게 엄격한 백테스팅과 최적화를 거쳐야합니다.

2. 다른 보조 지표를 테스트하고 포함
BOLL, KDJ 등과 같은 다른 지표의 조합을 더 나은 성능을 위해 MA 교차와 함께 계속 테스트하십시오.

3. 더 나은 위험 통제를 위해 알고리즘 거래와 조정기계 학습 알고리즘을 도입하여 더 지능적인 스톱 로스 및 수익을 창출하여 역동적인 시장 환경에 적응합니다.

4. 다른 전략 또는 모델과의 조합을 탐구
근본적인 주식 선택 전략, 통계적 중재 전략, 포트폴리오 최적화 모델 등과 결합하면 위험 통제와 수익률을 더욱 향상시킬 수 있습니다.

결론

트렌드 서핑 전략은 통제 가능한 위험과 함께 간단하고 직접적인 트렌드 추적 전략입니다. 거래 신호는 MA 교차에서 생성되고 여러 보조 지표에 의해 필터링됩니다. 우리는 다양한 시장에서 더 신뢰할 수있는 성능을 달성하기 위해 매개 변수 테스트, 지표 확장, 위험 통제 등을 통해 이 전략을 최적화 할 것입니다.

[/trans]


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Moving Average Crossover with Triangles, 200 EMA, ROC, and RSI", overlay=true)

// Define input parameters
fast_length = input(9, title="Fast MA Length")
slow_length = input(21, title="Slow MA Length")
roc_length = input(14, title="ROC Length")
rsi_length = input(14, title="RSI Length")

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)

// Plot moving averages
plot(fast_ma, color=color.green, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")

// Plot 200 EMA
ema_200 = ema(close, 200)
plot(ema_200, color=color.white, title="200 EMA", linewidth=2)

// Calculate Rate of Change (ROC)
roc = roc(close, roc_length)

// Calculate RSI
rsi = rsi(close, rsi_length)

// Define strategy entry and exit conditions
long_condition = crossover(fast_ma, slow_ma) and roc > 0 and close > ema_200 and rsi > 55
short_condition = crossunder(fast_ma, slow_ma) and roc < 0 and close < ema_200 and rsi < 45

// Execute strategy
strategy.entry("Long", strategy.long, when=long_condition)
strategy.entry("Short", strategy.short, when=short_condition)

// Define stop loss and take profit levels
risk_percent = input(1, title="Risk Percentage", minval=0.1, maxval=5, step=0.1) / 100
atr_value = atr(14)
stop_loss = close - atr_value * risk_percent
take_profit = close + atr_value * risk_percent

strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stop_loss, profit=take_profit)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=stop_loss, profit=take_profit)

// Plot larger triangles on crossover and crossunder
plotshape(series=long_condition, title="Long Entry", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(series=short_condition, title="Short Entry", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small)


더 많은