
이 전략은 두 개의 이동 평균, 상대적으로 약한 지표 ((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")