
이 전략은 비트코인과 달러의 거래 쌍 ((BTC/USDT) 의 3분 시간 프레임에서 테스트되었으며 매우 좋은 결과를 낳았다. 이 전략은 이동 평균과 무작위적으로 상대적으로 약한 지표 ((Stochastic 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)