이동 평균 및 확률적 RSI 조합 거래 전략


생성 날짜: 2024-01-16 15:46:11 마지막으로 수정됨: 2024-01-16 15:46:11
복사: 0 클릭수: 560
1
집중하다
1166
수행원

이동 평균 및 확률적 RSI 조합 거래 전략

개요

이 전략은 이동 평균과 무작위적으로 상대적으로 약한 지수 (Stochastic RSI) 를 조합하여 거래 기회를 찾습니다. 구체적으로, 그것은 상향 경향의 중장기 이동 평균과 오버 바이 오버 바이의 무작위 RSI 지표를 동시에 보며, 둘 다 구매 및 판매 신호를 발산 할 때 작동합니다. 이러한 조합을 사용하면 몇 가지 가짜 신호를 필터링하여 전략의 안정성을 향상시킬 수 있습니다.

전략 원칙

이 전략은 다음과 같은 부분들로 구성됩니다.

  1. 두 개의 다른 주기의 이동 평균 MA1와 MA2를 계산한다.

  2. 무작위적인 상대적으로 강한 지수인 Stochastic RSI를 계산한다. 이 지표는 RSI와 무작위적인 지표의 원리를 결합하여 RSI 지표가 과매매 또는 과매매 상태에 있는지 표시할 수 있다.

  3. 무작위 RSI 지표가 초매구역에서 경계를 통과할 때 구매 신호를 생성하고; 초매구역에서 아래로 통과할 때 판매 신호를 생성한다.

  4. 무작위 RSI 지표가 신호를 내리고, 단기 이동 평균이 장기 이동 평균 위에 있을 때 구매한다. 이것은 대부분의 가짜 신호를 필터링 할 수 있다.

  5. 리스크 금액과 포지션을 계산하십시오. 고정된 리스크 금액은 단일 손실을 효과적으로 제어합니다.

  6. 스톱로스 및 스톱 가격을 설정하십시오. 스톱을 추적하여 수익을 극대화하십시오.

우위 분석

이 조합은 이동 평균과 무작위 RSI 지표를 사용하는 전략으로 다음과 같은 장점이 있습니다.

  1. 트렌드 상황에서 더 좋은 수익을 얻을 수 있다. 중장선 평균선 조합은 주요 트렌드 방향을 판단할 수 있다.

  2. 무작위 RSI 지표는 과매매 현상을 효과적으로 판단하여 역전 기회를 잡는 데 유용합니다.

  3. 가짜 신호를 필터링하는 가능성을 조합하여 안정성을 높일 수 있다.

  4. 리스크 금액법을 적용하여 자금을 관리하면 단독 손실을 제한하고 견딜 수 있는 범위를 초과하는 것을 피할 수 있다.

  5. 스톱로스 (Stop Loss Stop) 을 설정하여 수익을 고정하고 위험을 피하십시오.

위험 분석

이 전략에는 다음과 같은 몇 가지 측면에 초점을 맞춘 몇 가지 위험도 있습니다.

  1. 흔들림 트렌드에서 중장선 평행선은 잘못된 신호를 보낼 수 있다. 위험을 제어하기 위해 스톱로스를 설정해야 한다.

  2. 무작위 RSI 지표는 급격한 가격 변화의 영향을 받기 쉽고 잘못된 신호를 보낼 수 있습니다.

  3. 위험 금액법은 큰 손실을 완전히 피할 수 없습니다. 합리적인 위치 설정이 필요합니다.

  4. 시장이 급격하게 변할 때, 합리적인 가격에 스톱 스톱 손실을 설정할 수 없습니다.

최적화 방향

이 전략은 다음과 같은 방향으로 더 개선될 수 있습니다.

  1. 더 많은 변수 조합을 테스트하여 최적의 변수 주기를 찾습니다. 현재 사용하는 주기는 반드시 최적의 것이 아닙니다.

  2. KDJ, MACD 등등. 가장 잘 어울리는 지표를 선택하십시오.

  3. 거래 품종에 대한 테스트 최적화. 이제 외환에 대한 테스트를 수행하여 다른 시장에서 응용을 시도 할 수 있습니다.

  4. 기계 학습과 같은 방법을 사용하여 동적으로 최적화 파라미터를 . 현재 파라미터는 정적 설정으로 시장의 변화에 적응할 수 없습니다.

요약하다

이동 평균과 무작위 RSI의 조합 전략은 평균을 통해 큰 추세를 판단하고, 무작위 RSI는 역점을 판단하며, 둘은 거래 신호를 형성하고, 중지 중지 및 위험 제어를 설정하여 안정적인 전략 논리를 얻습니다. 이러한 조합 전략 구조는 간단하고 실용적이며, 추가 테스트 및 최적화를 할 가치가 있으며, 더 많은 품종 및 변수 설정으로 확장 할 수 있습니다.

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

//@version=5
strategy("Moving Average and Stochastic RSI Strategy", shorttitle="MA+Stoch RSI", overlay=true)

// Input variables
ma1_length = input.int(20, title="MA1 Length")
ma2_length = input.int(50, title="MA2 Length")
stoch_length = input.int(14, title="Stochastic RSI Length")
overbought = input.int(80, title="Overbought Level")
oversold = input.int(20, title="Oversold Level")
risk_percentage = input.float(2.0, title="Risk Percentage")

// Calculate moving averages
ma1 = ta.sma(close, ma1_length)
ma2 = ta.sma(close, ma2_length)

// Calculate Stochastic RSI
rsi1 = ta.rsi(close, stoch_length)
rsiH = ta.highest(rsi1, stoch_length)
rsiL = ta.lowest(rsi1, stoch_length)
stoch = (rsi1 - rsiL) / (rsiH - rsiL) * 100

// Determine buy and sell signals based on Stochastic RSI
buySignal = ta.crossover(stoch, oversold)
sellSignal = ta.crossunder(stoch, overbought)

// Plot signals on the chart
plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

// Calculate position size based on equity and risk percentage
equity = strategy.equity
riskAmount = equity * risk_percentage / 100
positionSize = riskAmount / ta.atr(14)

// Entry and exit conditions
var float stopLoss = na
var float takeProfit = na

if buySignal
    stopLoss := low
    takeProfit := high
    strategy.entry("Buy", strategy.long)
else if sellSignal
    strategy.exit("Sell", from_entry="Buy", stop=stopLoss, limit=takeProfit)