RSI, Bollinger Bands, 지지 및 저항 전략 기반


생성 날짜: 2024-02-19 14:43:34 마지막으로 수정됨: 2024-02-19 14:43:34
복사: 0 클릭수: 642
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

RSI, Bollinger Bands, 지지 및 저항 전략 기반

개요

이 거래 전략은 세 가지 강력한 기술 지표와 비교적 강한 지수 ((RSI), 브린 밴드 및 지지 저항 지점을 결합하여 자동화 된 거래 결정을 구현합니다. 이 로봇은 시장 조건에 따라 잠재적인 입시 및 출구 지점을 지능적으로 식별하여 수동 개입없이 자동으로 주문할 수 있습니다.

전략 원칙

이 거래 로봇의 핵심 논리는 RSI, 브린 대역 및 지지 저항 지점의 세 가지 지표에 기반하여 구현된다.

첫째, RSI는 시장의 동향의 강점을 판단하는 데 사용됩니다. RSI가 70보다 크면 시장이 과매매 상태에 있음을 나타냅니다. RSI가 30보다 작으면 시장이 과매매 상태에 있음을 나타냅니다.

둘째, 부린 띠는 시장의 변동 범위를 나타냅니다. 부린 띠는 경로와 경로 사이의 시장의 정상적인 변동 범위를 나타냅니다. 부린 띠가 경로에 닿을 때, 시장이 상대적으로 높은 지역으로 들어가는 것을 나타냅니다.

마지막으로, 부린 대역이 하향하는 지점에 따라 중요한 지원 저항 지점을 유도 할 수 있습니다. 부린 대역이 하향하는 근처의 지원 지점과 부린 대역이 하향하는 근처의 저항 지점. 이것은 가격이 상승하여 저항 지점으로 갈 때 판매 시점에 부딪힐 가능성이 높다는 것을 나타냅니다.

이 세 가지 지표를 종합하여, 이 로봇의 입시 논리는: 가격이 부린 대역이하 경로를 건드렸을 때 (오버셀 지역) 및 지원 위치에있을 때, 구매 신호를 발산합니다. 가격이 부린 대역이하 경로를 건드렸을 때 (오버셀 지역) 및 고점이 저항 위치에있을 때, 판매 신호를 발산합니다. 출시 논리는 이동 평행선의 방향을 전환하는 것입니다.

전략적 이점

  1. 이 전략은 여러 지표들을 통합하여 시장의 상태를 종합적으로 판단할 수 있으며, 신호는 신뢰성이 높습니다.

  2. 모든 거래가 완전히 자동화되고, 인적 개입이 필요없고, 거래 기회를 놓치지 않도록 한다.

  3. 실시간 신호를 통해 언제 어디서나 거래 상황을 파악할 수 있습니다.

  4. 명확한 그래프 표시가 거래 지점을 직관적으로 표시합니다.

  5. 파라미터는 조정 가능하며, 다른 품종과 시간 주기에 대해 최적화 할 수 있습니다.

위험과 해결책

  1. 시장의 비정상적인 변동은 중단 손실 위험을 초래할 수 있습니다. 최대 손실을 제어하기 위해 중지 손실을 설정할 수 있습니다.

  2. 로봇 파라미터를 잘못 설정하면 거래 빈도가 너무 높거나 신호 품질이 좋지 않을 수 있다. 피드백 결과에 따라 파라미터를 조정하여 최적의 설정을 찾아야합니다.

  3. 시스템 고장은 신호 전송 중단이나 주문 지연을 초래할 수 있다. 안정적이고 신뢰할 수 있는 호스트와 네트워크를 구축해야 한다.

최적화 방향

  1. 추가된 Stop Loss 논리. 특정 규모의 손실 이후의 적극적인 Stop Loss은 위험을 더 제어하는 데 도움이 된다.

  2. 재무관리 모듈을 추가한다. 계좌 재무상태에 따라 각 주문의 재무 비율을 동적으로 조정한다. 더욱 지능적이다.

  3. 기계 학습 기술과 결합 역사 데이터를 수집하고, 신경 네트워크와 같은 매개 변수를 훈련 및 최적화하여 전략의 지속적인 진화를 실현

  4. 전체 품종의 파라미터 최적화를 수행한다. 기존의 파라미터는 특정 품종에 더 적합할 수 있으며, 최적화를 통해 각 품종에 대응하는 최적의 파라미터 조합을 찾을 수 있다.

요약하다

이 거래 전략은 강력한 적응력과 보편성을 가지고 있다. 그것은 시장 상태를 판단하는 여러 지표와 결합하여 트렌드 반전점을 효과적으로 파악하고 자동화 거래를 구현한다. 지속적인 최적화를 통해 더 안정적인 초과 수익을 얻을 수 있다. 그것은 신뢰할 수 있는 양적 거래 솔루션이다.

전략 소스 코드
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("RSI, Bollinger Bands, and Support/Resistance Trading Bot", overlay=true)

// Define RSI parameters
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="Overbought Level")
rsiOversold = input(30, title="Oversold Level")

// Define Bollinger Bands parameters
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2, title="Bollinger Bands Multiplier")

// Calculate RSI
rsiValue = rsi(close, rsiLength)

// Calculate Bollinger Bands
basis = sma(close, bbLength)
upperBand = basis + bbMultiplier * stdev(close, bbLength)
lowerBand = basis - bbMultiplier * stdev(close, bbLength)

// Calculate Support and Resistance based on Bollinger Bands
support = basis - bbMultiplier * stdev(close, bbLength)
resistance = basis + bbMultiplier * stdev(close, bbLength)

// Strategy logic
rsiCondition = rsiValue > rsiOverbought or rsiValue < rsiOversold
touchingUpperBand = close >= upperBand
touchingLowerBand = close <= lowerBand

// Entry conditions
longCondition = touchingLowerBand and low <= support
shortCondition = touchingUpperBand and high >= resistance

// Exit conditions
longExitCondition = crossover(close, basis)
shortExitCondition = crossunder(close, basis)

// Automatic close if moving in opposite direction
if (strategy.position_size > 0 and shortCondition)
    strategy.close("Long")

if (strategy.position_size < 0 and longCondition)
    strategy.close("Short")

// Strategy orders
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Plot entry and exit arrows
plotarrow(series=longCondition ? 1 : na, colorup=color.new(color.green, 0), offset=-1, minheight=5)
plotarrow(series=shortCondition ? 1 : na, colordown=color.new(color.red, 0), offset=-1, minheight=5)
plotarrow(series=longExitCondition ? -1 : na, colorup=color.new(color.red, 0), offset=-1, minheight=5)
plotarrow(series=shortExitCondition ? -1 : na, colordown=color.new(color.green, 0), offset=-1, minheight=5)

// Plot Bollinger Bands on chart
plot(upperBand, title="Upper Band", color=color.red)
plot(lowerBand, title="Lower Band", color=color.green)

// Highlight areas where price touches Bollinger Bands
bgcolor(touchingUpperBand ? color.new(color.red, 90) : na)
bgcolor(touchingLowerBand ? color.new(color.green, 90) : na)

// Plot Support and Resistance
plot(support, title="Support", color=color.blue)
plot(resistance, title="Resistance", color=color.purple)

// Plot RSI on chart
hline(rsiOverbought, "Overbought Level", color=color.red)
hline(rsiOversold, "Oversold Level", color=color.green)
plot(rsiValue, title="RSI", color=color.blue)