동력 역전 트렌드 추적 전략

저자:차오장, 날짜: 2023-12-11 13:45:55
태그:

img

전반적인 설명

이 전략은 이동 평균, 상대 강도 지수 (RSI), 볼링거 밴드 및 MACD 지표를 결합하여 시장 트렌드를 추적 할 수있는 모멘텀 역전 전략을 구현합니다. 구매 및 판매 신호를 자동으로 식별 할 수 있습니다.

원칙

이 전략은 두 개의 이동 평균을 사용합니다. 단기 트렌드에 대해 50 기간과 장기 트렌드에 대해 200 기간. 50 기간 MA가 200 기간 MA보다 높을 때 상승 추세를 보이는 황소 시장을 나타냅니다. 아래로 떨어지면 곰 시장을 나타냅니다.

상대적 강도 지수 (RSI) 는 과잉 구매/ 과잉 판매 조건을 식별한다. 30 이하는 과잉 판매이며 70 이상은 과잉 구매이다. 이 전략은 30/70을 임계로 사용합니다.

볼링거 대역은 가격이 상위/하위 대역 근처에 있는지 여부를 판단하여 과도한 변동성을 나타냅니다. 상위 대역 근처의 가격은 단기 반전을 볼 수 있으며 하위 대역은 반등을 볼 수 있습니다.

MACD는 동력 변화를 나타냅니다. 신호선 위의 MACD 라인의 교차는 상승 추세를 나타내고 아래의 교차는 하락 추세를 나타냅니다.

구매 신호는 50일 MA가 200일 MA를 넘어서고, RSI가 30 oversold 수준 이하이고, 가격이 낮은 볼링거 밴드 근처이며 MACD가 상승세를 나타낸 크로스오버가 필요하며, 이는 곰 시장에서 황소 시장으로 전환되는 것을 나타냅니다.

판매 신호는 반대입니다. 하락 추세, 과잉 매수 수준, 상위 대역에 접근하고 MACD 죽음의 교차선, 짧은 포지션을 촉구합니다.

장점

이 전략은 트렌드 추적과 역전 신호를 결합하여 트렌드를 추적하고 역전을 포착 할 수 있습니다. 여러 지표를 사용하여 신뢰성을 향상시키고 잘못된 신호를 피합니다. 모멘텀 변화를 판단하면 적시에 역전을 발견 할 수 있습니다.

순수한 트렌드 추종 전략과 비교하면 과잉 구매/ 과잉 판매 조치는 높은 가격에 구매하거나 낮은 가격에 판매하는 것을 피합니다. 따라서 위험은 억제됩니다.

위험 분석

주요 위험은 시그널 시간 지연으로 인해 부적절한 출구 타이밍과 증폭 손실이 발생합니다. 역전 신호는 성공 또는 충분성의 보장이없는 확률만을 제안합니다.

동기 표시기에 대한 정밀 조정 매개 변수는이 문제를 완화 할 수 있습니다. 중지 손실은 최대 손실을 제어합니다. 역전 패턴 평가 후 유효성 또한 보장합니다.

더 나은 기회

몇 가지 개선 아이디어:

  1. 더 나은 신호 동기화를 위해 매개 변수를 조정

  2. 손실 한계를 넘은 출구 포지션에 스톱 로스 로직을 포함합니다.

  3. 볼링거 밴드 (Bollinger Bands) 의 효과를 평가하고 KD와 WR와 같은 다른 오시레이터를 테스트하십시오.

  4. 입력/출출 시기를 결정하기 위해 역사 데이터에 훈련된 기계 학습 모델을 추가

  5. 더 많은 참조를 위해 감정 지표를 포함

결론

이 전략은 시장 추세와 역전을 결정하기 위해 여러 가지 기술 분석 도구를 활용합니다. 추세와 역전 거래를 결합하면 단기 변동을 포착하는 동안 장기적인 움직임을 할 수 있습니다. 합리적인 매개 변수와 위험이있는 경우 좋은 이익을 약속합니다. 추가 최적화는 라이브 성능을 향상시킬 수 있습니다.


//@version=5
strategy("Forex and Crypto Trading Strategy", overlay=true)

// Parameters
short_ema_length = 50
long_ema_length = 200
rsi_length = 14
rsi_overbought = 70
rsi_oversold = 30
bb_length = 20
macd_fast_length = 12
macd_slow_length = 26
macd_signal_smoothing = 9

// Moving Averages
short_ema = ta.ema(close, short_ema_length)
long_ema = ta.ema(close, long_ema_length)
plot(short_ema, color=color.blue, title="Short EMA")
plot(long_ema, color=color.red, title="Long EMA")

// RSI
rsi = ta.rsi(close, rsi_length)

// Bollinger Bands
[bb_upper, bb_middle, bb_lower] = ta.bb(close, bb_length, 2)

// MACD
[macd_line, signal_line, _] = ta.macd(close, macd_fast_length, macd_slow_length, macd_signal_smoothing)

// Buy and Sell Conditions
buy_condition = short_ema > long_ema and rsi < rsi_oversold and close < bb_lower and macd_line > signal_line
sell_condition = short_ema < long_ema and rsi > rsi_overbought and close > bb_upper and macd_line < signal_line

// Plotting Buy and Sell Signals
plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Strategy Execution
strategy.entry("Buy", strategy.long, when=buy_condition)
strategy.close("Buy", when=sell_condition)
strategy.entry("Sell", strategy.short, when=sell_condition)
strategy.close("Sell", when=buy_condition)




더 많은