이 전략은 BTC/USDT 거래 쌍에서 3분 시간 프레임에서 테스트되었으며 훌륭한 결과를 얻었습니다. 거래 신호를 식별하기 위해 이동 평균과 스토카스틱 RSI 지표의 사용을 결합합니다.
이 전략은 각각 20개 기간과 50개 기간을 가진 두 가지 간단한 이동 평균을 사용합니다. 이 두 가지 평균은 가격 추세를 판단하는 데 사용됩니다. 단기 이동 평균이 장기 이동 평균을 넘으면 상승 신호이며, 그 아래에 넘으면 하향 신호입니다.
스토카스틱 RSI 지표의 계산 공식은: (RSI - 최저 RSI) / (최고 RSI - 최저 RSI) * 100. 이 지표는 최근 기간 동안 가장 높고 가장 낮은 RSI에 비해 현재 RSI 지표의 수준을 반영합니다. 스토카스틱 RSI가 20을 넘으면 과판 신호이며, 80을 넘으면 과입 신호입니다.
이 전략은 트렌드 방향을 판단하기 위해 이동 평균을 사용하는 것과 진입 기회로 잠재적 인 반전 지점을 찾기 위해 스토카스틱 RSI를 결합합니다.
이동 평균 또는 스토카스틱 RSI만을 사용하는 것과 비교하면 이 전략은 두 가지의 장점을 결합하여 잠재적인 반전 지점을 파악하면서 추세를 더 잘 파악하여 수익 가능성을 향상시킵니다.
단일 지표와 비교하면 이 전략은 여러 지표를 통합하고 엄격한 입시 규칙을 설정하여 잘못된 신호를 효과적으로 필터링하고 불필요한 거래를 피할 수 있습니다.
이 전략은 매번 자본의 2%만을 마진 거래에 사용함으로써 위험을 매우 잘 제어합니다. 이는 단일 손실의 영향을 효과적으로 제한할 수 있습니다.
이 전략은 주로 기술 지표에 의존하여 거래 신호를 결정합니다. 지표가 실패하면 잘못된 신호를 생성하고 손실을 일으킬 수 있습니다. 또한 잘못된 매개 변수 설정은 전략 성능에도 영향을 줄 수 있습니다.
급격한 시장 변동이 있을 때, 스톱 로스 설정이 깨질 수 있고 이로 인해 손실이 증가할 위험이 있습니다.
최적의 매개 변수 조합을 찾기 위해 더 많은 이동 평균 조합과 매개 변수를 테스트하십시오. KD 및 RSI와 같은 다른 잠재적 인 지표도 이동 평균과 결합 할 수 있습니다.
다른 암호화폐의 특성에 따라 최고의 스톱 로스 모드를 선택하여 위험을 더 제어합니다.
기계 학습 알고리즘을 도입하여 매개 변수 설정을 자동으로 최적화하고 전략이 더 견고하고 적응력을 갖도록 판단 규칙을 신호합니다.
이 전략은 거래 신호를 결정하기 위해 이동 평균과 스토카스틱 RSI 지표를 성공적으로 결합합니다. 단일 기술 지표와 비교하면이 전략은 더 신뢰할 수있는 거래 신호를 제공할 수 있습니다. 엄격한 위험 통제와 매개 변수 최적화로이 전략은 안정적인 이익을 얻을 수 있습니다.
/*backtest start: 2023-01-25 00:00:00 end: 2024-01-31 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)