RSI 이동평균선 더블 골든크로스 진동 전략


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

RSI 이동평균선 더블 골든크로스 진동 전략

개요

RSI 평행선 쌍금포크 흔들림 전략은 RSI 지표와 평행선의 금포크 시그널을 동시에 사용하여 구매와 판매를 결정하는 양적 거래 전략이다. 이 전략은 RSI 지표를 사용하여 시장이 과대평가되거나 과소평가되었는지 판단하고, 평행선의 추세 판단과 결합하여 RSI 지표가 과매매 현상을 보여주는 동시에 거래를 발송한다. 이것은 가짜 신호를 효과적으로 필터링하여 전략의 안정성을 높일 수 있다.

전략 원칙

이 전략은 주로 RSI 지표와 평균 선의 조합을 기반으로 한다. 첫째, 일정 주기 동안의 RSI 값을 계산하고 오버 바이 오버 세일 라인을 설정한다. 둘째, 빠른 평균 선과 느린 평균 선을 계산한다.

우위 분석

이 전략의 가장 큰 장점은 RSI 지표를 사용하여 오버 바이 오버 셀 현상을 판단하고, 평균선을 사용하여 트렌드 방향을 판단하여 가짜 브레이크를 효과적으로 방지할 수 있다는 것입니다. 또한, RSI와 BOLL 채널의 조합 사용은 더 많은 소음을 필터링하여 거래 신호를 더 정확하게 할 수 있습니다.

위험 분석

이 전략의 위험은 주로 다음과 같습니다: 작동 주파수가 너무 높고, 포장하기 쉽다; 매개 변수 설정이 적절하지 않으면 신호 정확도가 떨어질 수 있습니다. 또한, 흔들림 상황에서 손실이 발생할 수 있습니다.

최적화 방향

RSI 변수 또는 평균 주기 변수를 다른 주기에 맞게 조정하는 것을 고려할 수 있습니다. 다른 지표와 결합하여 신호를 필터링하십시오. 위험을 제어하기 위해 스톱 손실 스톱 포인트를 설정하십시오. 매 거래의 위치 관리를 최적화하십시오.

요약하다

RSI 평균선 쌍금叉 흔들림 전략은 전체적으로 안정적이고 신뢰할 수 있는 단선 거래 전략이다. 변수 조정과 위험 제어의 조합을 통해 더 나은 수익 수익률을 얻을 수 있다. 이 전략은 이해하기 쉽고 구현하기 쉽고, 양자 거래 초보자 학습 및 적용에 적합하다.

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

//@version=5
strategy("RSI slowma Ismael", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Definir la longitud del RSI
rsi_length = input(title='RSI Length', defval=14)

//media 
Fast = input(title='Fast', defval=7)
slow = input(title='Slow', defval=2)

// Definir los niveles de sobrecompra y sobreventa del RSI
rsi_overbought = input(title='RSI Overbought Level', defval=72)
rsi_oversold = input(title='RSI Oversold Level', defval=29)

// Definir la longitud y la desviación estándar de las Bandas de Bollinger
bb_length = input(title="Bollinger Bands Length", defval=14)
bb_stddev = input(title="Bollinger Bands StdDev", defval=2)

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

// Calcular Bandas de Bollinger
bb_upper = ta.sma(rsi_value, bb_length) + bb_stddev* ta.stdev(rsi_value, bb_length)
bb_lower = ta.sma(rsi_value, bb_length) - bb_stddev * ta.stdev(rsi_value, bb_length)

//media movil adelantada
fastMA = ta.sma(rsi_value, Fast)
slowMA = ta.sma(rsi_value, slow)

// Definir la señal de compra y venta
buy_signal = (ta.crossover(rsi_value, slowMA) and rsi_value < bb_lower and rsi_value < rsi_oversold) or (rsi_value < bb_lower and rsi_value < rsi_oversold)
sell_signal = (ta.crossunder(rsi_value, slowMA) and rsi_value > bb_upper and rsi_value > rsi_overbought) or (rsi_value > bb_upper and rsi_value > rsi_overbought)

// Configurar las condiciones de entrada y salida del mercado
if buy_signal
    strategy.entry("Buy", strategy.long)

if sell_signal
    strategy.close("Buy")

// Configurar el stop loss y el take profit
stop_loss = input.float(title='Stop Loss (%)', step=0.01, defval=3)
take_profit = input.float(title='Take Profit (%)', step=0.01, defval=8)

strategy.exit("Exit Long", "Buy", stop=close - close * stop_loss / 100, limit=close + close * take_profit / 100)

// Configurar la visualización del gráfico
plot(slowMA, title='RSISMA', color=color.rgb(75, 243, 33), linewidth=1)
plot(fastMA, title='RSIFMA', color=color.rgb(75, 243, 33), linewidth=1)
plot(rsi_value, title='RSI', color=color.purple, linewidth=1)

// Marcar las zonas de sobrecompra y sobreventa en el grafico del RSI
hl= hline(rsi_overbought, title='Overbought', color=color.purple, linestyle=hline.style_dotted, linewidth=1)
hll= hline(rsi_oversold, title='Oversold', color=color.purple, linestyle=hline.style_dotted, linewidth=1)
fill(hl,hll, color= color.new(color.purple, 91))

bbfill = plot(bb_upper, title='Bollinger Bands up', color=color.blue, linewidth=1)
bbfill1= plot(bb_lower, title='Bollinger Bands down', color=color.blue, linewidth=1)
fill(bbfill,bbfill1, color= color.new(#2bb5ec, 91))