스톱 로스 전략과 간단한 이동 평균 크로스 오버

저자:차오장, 날짜: 2023-09-19 21:42:30
태그:

전반적인 설명

이 전략은 간단한 이동 평균과 볼륨 가중화 평균 가격 사이의 교차를 통해 거래 신호를 생성하고, 거래 전략을 따르는 단기 트렌드에 속하는 스톱 로스로 기하급수 이동 평균을 사용합니다.

전략 논리

  1. 5일 간 간편한 이동평균 (SMA) 및 부피중량 평균 가격 (VWAP) 을 계산합니다.

  2. SMA가 VWAP 위를 아래로부터 통과하면 긴 신호를 생성하고 위로부터 아래로 통과하면 짧은 신호를 생성합니다.

  3. SMA는 가격 변화에 민감하며 단기 트렌드를 파악할 수 있다. VWAP는 최신 가격 동력을 반영한다. 그들의 크로스오버는 단기 트렌드 변화를 식별한다.

  4. 9일 지수 이동 평균 (EMA) 을 스톱 로스로 설정합니다. EMA는 SMA보다 느리게 반응하여 스톱 로스 버퍼를 제공합니다.

  5. 긴/단기 신호에 거래를 실행합니다. 가격이 손실을 멈추기 전에 위험을 통제하기 위해 종료합니다.

이 전략은 주로 빠르게 반응하는 SMA와 실시간 VWAP의 교차를 사용하여 단기 가격 변동을 포착하고, EMA 후속 정지로 위험을 관리합니다. 간단하고 직관적입니다.

이점 분석

  1. SMA와 VWAP의 교차는 단기 트렌드 변화를 위해 간단하고 효과적입니다.

  2. EMA 스톱 로즈는 조기 스톱 아웃을 피하는 버퍼를 제공합니다.

  3. 명확한 신호와 간단한 규칙, 실행하기 쉬운

  4. 다양한 시장 환경에 적응할 수 있는 최적화 공간

  5. 단일 거래 손실 금액을 제어하기 위해 손해 중지 메커니즘을 수정할 수 있습니다.

  6. 확장하기 쉬우며 다른 기술 지표나 위험 관리 기술을 도입할 수 있습니다.

위험 분석

  1. SMA와 VWAP 교차는 지연 또는 잘못된 신호가 있을 수 있습니다.

  2. 스톱 로스 범위가 너무 좁은 위험 과잉 최적화 실제 거래는 스톱 로스 위반을 지켜야합니다.

  3. 단기 범위에만 적용되며 장기 트렌드를 추적할 수 없습니다.

  4. 부적절한 백테스트 기간은 곡선 적응을 위험합니다.

  5. 수익성에 대한 거래 비용의 영향을 고려해야 합니다.

최적화 방향

  1. SMA와 VWAP에 대한 다른 매개 변수 조합을 테스트합니다.

  2. EMA 스톱 로스 기간 매개 변수를 최적화합니다.

  3. 다른 MA 타입이나 Stop Loss 표시기를 시도해보세요.

  4. 포지션 크기와 리스크 관리 전략을 추가합니다.

  5. 매개 변수 최적화를 위한 기계 학습 알고리즘을 도입합니다.

  6. 시장 변화에 적응하기 위해 주기적으로 매개 변수를 조정하는 것을 평가합니다.

요약

이 SMA 및 VWAP 크로스오버 전략은 EMA 트레일링 스톱을 통해 매개 변수를 통해 단기 변동에 조정할 수 있으며, 조작이 간단하며, 전형적인 단기 추적 전략 아이디어입니다. 더 많은 지표 또는 알고리즘을 추가하면 안정성을 향상시킬 수 있으며, 더 복잡한 멀티 전략 시스템에 통합된 모듈로도 사용할 수 있습니다. 전반적으로 실용적인 거래에 큰 영감을 주는 가치로 사용하기 쉬운 전략입니다.


/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © realisticDove62527

//@version=5
strategy("ROoT", overlay=true, margin_long=1, margin_short=1)

longCondition = ta.crossover(ta.sma(close, 5), ta.vwap(hlc3))
if (longCondition)
    strategy.entry("BUY", strategy.long)

shortCondition = ta.crossunder(ta.sma(close, 5), ta.vwap(hlc3))
if (shortCondition)
    strategy.entry("SELL", strategy.short)
    

stoploss = ta.ema(close, 9)



더 많은