이 전략은 이중 이동 평균, 상대 강도 지수 (RSI), 볼린거 대역 및 다른 기술적 지표를 결합하여 잠재적 인 트렌드 반전 지점과 과잉 구매 / 과잉 판매 조건을 식별하기 위해 구매 및 판매 신호를 구축하여 거래의 가격 추세를 추적합니다.
이 전략의 주요 구매 신호는 RSI와 볼링거 밴드에서 온다. RSI가 30의 과잉 판매 라인 아래에있을 때, 그것은 과잉 판매로 간주됩니다. 이 시점에서 가격이 볼링거 밴드의 하부 레일에 접근하거나 접촉하면 구매 신호가 생성됩니다. 이것은 가격이 상향으로 역전될 수 있음을 나타냅니다.
주요 판매 신호는 또한 RSI와 볼링거 밴드에서 온다. RSI가 70의 과잉 구매 라인을 초과하면 과잉 구매로 간주됩니다. 이 시점에서 가격이 볼링거 밴드의 상단 레일에 접근하거나 초과하면 판매 신호가 생성됩니다. 이것은 가격이 하향으로 역전될 수 있음을 나타냅니다.
또한, 전략은 20 일 및 50 일 간단한 이동 평균을 계산합니다. 트렌드 방향을 판단하는 데 사용할 수 있습니다. 빠른 이동 평균이 느린 이동 평균보다 높을 때 상승 추세를 나타냅니다. 그렇지 않으면 하락 추세를 나타냅니다.
이 전략은 여러 지표를 결합하여 구매 및 판매 지점을 식별하여 가격 트렌드 반전을 효과적으로 파악하고 가격 변화를 추적 할 수 있습니다. 주요 장점은 다음과 같습니다.
과잉 구매/ 과잉 판매 구역을 식별하기 위해 볼링거 대역을 사용한다. 볼링거 대역은 표준편차를 통해 가격 변동 범위를 잘 정의하고 비정상적인 가격 상황을 식별할 수 있다.
RSI 지표는 과잉 구매/ 과잉 판매 상태를 효과적으로 식별 할 수 있습니다. RSI 70 이상은 과잉 구매 구역으로 간주되며 30 이하는 과잉 판매 구역으로 간주되며, 이는 가격 반전을 앞두고 신호를 보낼 수 있습니다.
이중 이동 평균은 트렌드가 없는 시장에서 거래를 피하기 위해 전체 트렌드 방향을 결정합니다.
여러 지표를 결합하면 잘못된 신호를 필터링하고 높은 확률의 구매/판매 지점을 식별할 수 있습니다.
이 전략의 주요 위험은 다음과 같습니다.
부적절한 볼링거 밴드 매개 변수 설정은 가격 변동 범위를 효과적으로 정의하지 못할 수 있습니다. 이것은 많은 잘못된 신호를 생성 할 수 있습니다.
다른 RSI 매개 변수들은 다른 과잉 구매/ 과잉 판매 기준과 신호 생성 효과로 이어집니다.
서로 다른 이중 이동 평균 매개 변수는 전체 추세를 판단하는 데 편향을 초래합니다.
전략 신호는 가격 반전 초기에는 지연되어 가이드하지 않을 수 있습니다. 이것은 일정 양의 미끄러짐 손실을 초래할 수 있습니다.
시장이 격렬하게 변동할 때 여러 지표가 실패하고 구매/판매 지점을 식별하는 데 효과적이지 않을 수 있습니다.
위의 위험을 해결하기 위해 매개 변수 조정, 더 많은 지표를 결합하는 방법과 같은 방법을 채택하여 더 강력한 전략을 최적화 할 수 있습니다.
이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
적응 가능한 볼린거 대역을 사용하여 시장 변동성에 따라 매개 변수를 동적으로 조정하여 상부 / 하부 레일을 더 정확하게 만듭니다.
거래 부피가 증가할 때만 신호를 생성하여 가짜 브레이크오웃을 피하기 위해 VOLUME 및 필터링을 위한 다른 지표를 추가합니다.
가격 스톱 로스 라인을 설정하고 가격이 불리한 방향으로 움직일 때 시간으로 스톱 로스를 설정합니다.
거래 제품, 거래 세션 등에 대한 테스트와 최적화를 수행하여 전략 매개 변수를 적절히 조정 할 수 있습니다.
기계 학습 알고리즘을 향상시키고, 역사적인 데이터에 대한 훈련을 통해 자동으로 매개 변수 설정을 최적화합니다.
이 전략은 볼링거 밴드, RSI, 이중 이동 평균 및 기타 지표를 통합하여 완전한 구매 및 판매 규칙을 설정하여 가격 트렌드를 효과적으로 식별하고 과잉 구매 / 과잉 판매 구역을 판단하고 가격 반전 이전에 거래 신호를 줄 수 있습니다. 매개 변수 최적화, 필터링 조건 추가, 스톱 로스 설정 등과 같은 방법을 통해 전략의 안정성을 더욱 향상시킬 수 있습니다. 일반적으로 트렌드 및 과잉 구매 / 과잉 판매 지표를 결합함으로써이 전략은 반전 기회를 포착 할 수 있으며 라이브 거래에서 추가 최적화 및 검증을 가치가 있습니다.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("RSA", overlay=true) // Bollinger Bands bb_length = input(20, title="BB Length") bb_mult = input(2.0, title="BB MultFactor") bb_basis = sma(close, bb_length) bb_upper = bb_basis + bb_mult * stdev(close, bb_length) bb_lower = bb_basis - bb_mult * stdev(close, bb_length) // RSI rsi_length = input(14, title="RSI Length") rsi_oversold = input(30, title="RSI Oversold") rsi_overbought = input(70, title="RSI Overbought") rsi_value = rsi(close, rsi_length) // Buy and Sell Conditions buy_condition = crossover(rsi_value, rsi_oversold) and (close < bb_lower) sell_condition = crossunder(rsi_value, rsi_overbought) and (close > bb_upper) // Add Buy and Sell Signals if (buy_condition) strategy.order("Buy", strategy.long) if (sell_condition) strategy.order("Sell", strategy.short) // Plot Bollinger Bands plot(bb_upper, color=color.blue, title="Upper Bollinger Band") plot(bb_lower, color=color.blue, title="Lower Bollinger Band") // Plot RSI plot(rsi_value, color=color.orange, title="RSI") // Plot Moving Averages fast_ma = sma(close, 20) slow_ma = sma(close, 50) plot(fast_ma, color=color.green, title="Fast MA") plot(slow_ma, color=color.red, title="Slow MA") // Plot Trend Lines trend_line = linreg(close, 50, 0) plot(trend_line, color=color.purple, title="Trend Line")