200일 이동평균선과 확률적 오실레이터를 기반으로 한 추세 추종 전략

EMA
생성 날짜: 2024-06-14 15:32:24 마지막으로 수정됨: 2024-06-14 15:32:24
복사: 3 클릭수: 606
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

200일 이동평균선과 확률적 오실레이터를 기반으로 한 추세 추종 전략

개요

이 전략은 200 일 이동 평균과 무작위 진동 지표에 기반한 트렌드 추적 전략이다. 전략의 주요 아이디어는 200 일 이동 평균을 사용하여 현재 시장의 장기적인 추세를 판단하고, 무작위 진동 지표를 사용하여 시장의 단기적인 변동과 오버 바이 오버 판매 신호를 포착하는 것이다. 가격이 200 일 이동 평균 아래에 있고, 무작위 진동이 오버 바이 지역에서 위쪽으로 20을 통과하면, 전략은 다중 포지션을 개시한다. 가격이 200 일 이동 평균선 위에 있고, 무작위 진동이 오버 바이 지역에서 아래쪽으로 80을 통과하면, 전략은 공백 포지션을 개시한다.

전략 원칙

  1. 200일 지수 이동 평균 ((EMA)) 을 계산하여 현재 시장의 장기 추세를 판단한다.
  2. 무작위 진동 지표는 시장의 단기 변동과 오버 바이 오버 셀 신호를 잡기 위해 사용된다. 무작위 진동 지표는 두 개의 선으로 구성된다. K선과 D선이다. K선은 현재 종결 가격의 가장 최근의 N일 최고 가격과 최저 가격 사이의 위치를 나타내고, D선은 K선의 M일 이동 평균이다.
  3. K 선의 값을 기록하여, 임의의 진동자가 20과 80의 수평선을 통과했는지 판단한다.
  4. 마감 가격이 200일 EMA 아래에 있고, 임의의 진동의 K선 아래에서 위로 20을 통과할 때, 전략은 다중 헤드 포지션을 열립니다.
  5. 마감 가격이 200일 EMA 위에 있고, 무작위 진동의 K선이 위아래로 80을 통과할 때, 전략은 공백점 포지션을 니다.
  6. 리스크를 제어하고 수익을 잠금하기 위해 스톱로스 및 스톱 가격을 설정합니다.

전략적 이점

  1. 장기 추세와 단기 변동의 결합: 이 전략은 200일 EMA의 시장의 장기 추세를 포착하는 동시에 임의의 진동 지표를 사용하여 단기 변동을 포착하여 추세와 변동에서 이익을 얻을 수 있습니다.
  2. 명확한 입출장 신호: 전략은 명확한 입출장 조건을 사용하여 주관적 판단의 영향을 줄이고 운영의 일관성을 향상시킵니다.
  3. 위험 제어: 전략은 중지 손실과 중지 가격대를 설정하여 단일 거래의 위험 지점을 효과적으로 제어하고 수익의 일부를 잠금합니다.

전략적 위험

  1. 가짜 신호 위험: 시장의 변동이 커지거나 추세가 불명확할 때, 무작위 진동 지표는 가짜 신호를 더 많이 생성할 수 있으며, 이로 인해 거래와 손실이 자주 발생합니다.
  2. 트렌드 회전 위험: 시장 트렌드가 회전할 때, 전략은 판단을 지연시킬 수 있으며, 이로 인해 최고의 진입 기회를 놓치거나 더 큰 회전을 견뎌낼 수 있다.
  3. 매개 변수 최적화 위험: 전략의 성능은 매개 변수 선택에 민감할 수 있으며, 다른 매개 변수 조합은 전략 성능에 큰 차이를 초래할 수 있다.

전략 최적화 방향

  1. 동적으로 조정하는 매개 변수: 시장 상황의 변화에 따라, 다양한 시장 환경에 적응하기 위해 무작위 진동자 지표의 매개 변수를 동적으로 조정합니다. 이것은 적응 메커니즘이나 기계 학습 알고리즘을 도입하여 수행 할 수 있습니다.
  2. 다른 지표를 도입: 기존의 전략에 기반하여 신호의 신뢰성과 안정성을 높이기 위해 다른 기술 지표 또는 트래픽, 변동률과 같은 기본 요소를 도입하십시오.
  3. 최적화 위험 관리: 다이내믹 스톱 또는 변동률 기반 스톱을 사용하여 위험을 더 잘 제어하고 수익을 잠금하는 것과 같은 스톱 및 스톱을 최적화하는 설정 방법.
  4. 거래 비용 고려: 실제 응용에서 거래 비용이 전략의 성능에 미치는 영향을 고려하고 거래 빈도와 비용을 줄이기 위해 전략을 타겟으로 최적화하십시오.

요약하다

이 전략은 200 일 이동 평균과 무작위 진동 지표를 결합하여 시장의 장기적인 추세를 포착하는 동시에 단기간의 변동성을 활용하여 추가 수익을 얻습니다. 전략은 명확한 출입 신호와 위험 제어 조치를 가지고 있지만 가짜 신호, 추세 전환 및 변수 최적화와 같은 위험에 직면합니다.

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

//@version=5
strategy("WWCD Bot", overlay=true)

// Calculate the 200-day moving average
ema200 = ta.ema(close, 200)

// Calculate Stochastic Oscillator
length = input(2, title="Stochastic Length")
smoothK = input(3, title="Stochastic Smoothing")
smoothD = input(3, title="Stochastic D Smoothing")
k = ta.stoch(close, high, low, length)
d = ta.ema(k, smoothD)

// Variable to store previous value of k
var float prev_k = na

// Check if current k is above 20 and previous k was below 20
crossed_above_20 = k >= 20 and prev_k < 20
crossed_above_80 = k <= 80 and prev_k > 80

// Condition for buy and sell signals
buy_signal_condition = close < ema200 and crossed_above_20
sell_signal_condition = close > ema200 and crossed_above_80

// Store current k for the next bar
prev_k := k

// Strategy
lot_size = 1 // Position size

if (buy_signal_condition)
    strategy.entry("Buy", strategy.long, qty=lot_size)
    strategy.exit("Take Profit/Stop Loss", "Buy", stop=close - 1.00, limit=close + 16)

if (sell_signal_condition)
    strategy.entry("Sell", strategy.short, qty=lot_size)
    strategy.exit("Take Profit/Stop Loss", "Sell", stop=close + 1.00, limit=close - 16)