
이 전략은 여러 기술적 지표가 결합된 복잡한 거래 시스템으로, 시장의 추세를 포착하고 최적의 시점에 거래하기 위해 고안되었다. 그것은 주로 상대적으로 약한 지수 ((RSI), 간단한 이동 평균 ((SMA), 피보나치 회수 수준, 그리고 골드 크로스 및 죽음의 크로스 같은 개념을 이용한다. 이 전략은 15 분 시간 주기에서 작동하며, $ 1,000의 초기 자본과 고정 금액의 위치 규모를 사용합니다.
전략의 핵심 논리는 다음과 같은 핵심 구성 요소를 포함합니다.
이 다주기 피보나치 RSI 골드 크로스 트렌드를 추적하는 수량 거래 전략은 여러 클래식 기술 분석 도구를 결합하여 복잡하고 포괄적인 거래 시스템을 만드는 방법을 보여줍니다. RSI, 이동 평균 크로스 및 피보나치 회수와 같은 지표를 결합하여 강력한 시장 추세를 포착하는 동시에 과매매 수준을 사용하여 위험을 관리하는 것을 목표로합니다.
이 전략이 다각 분석 시장의 장점을 가지고 있음에도 불구하고, 가짜 돌파 신호와 과도한 거래의 가능성과 같은 몇 가지 잠재적인 위험이 있습니다. 전략의 성능과 안정성을 더 향상시키기 위해, 여러 시간 주기의 분석, 동적 파라미터 조정, 거래량 확인 등의 최적화 방향을 도입하는 것이 고려 될 수 있습니다.
전체적으로, 이 전략은 양적 거래자에게 좋은 출발점을 제공하며, 서로 다른 기술 지표를 일관된 거래 시스템으로 통합하는 방법을 보여줍니다. 지속적인 최적화와 재검토를 통해, 이 전략은 다양한 시장 조건에 적합한 강력한 트렌드 추적 도구가 될 잠재력을 가지고 있습니다.
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("15min Fibonacci RSI Golden Cross Scalping Strategy", overlay=true)
// Indicators
rsi_length = 14
rsi = ta.rsi(close, rsi_length)
short_ma_length = 50
long_ma_length = 200
short_ma = ta.sma(close, short_ma_length)
long_ma = ta.sma(close, long_ma_length)
// Fibonacci Retracement Levels
var float fibHigh = na
var float fibLow = na
var float fib38 = na
var float fib50 = na
var float fib61 = na
if (ta.change(ta.highest(close, 50)))
fibHigh := ta.highest(close, 50)
if (ta.change(ta.lowest(close, 50)))
fibLow := ta.lowest(close, 50)
if (not na(fibHigh) and not na(fibLow))
fib38 := fibHigh - (fibHigh - fibLow) * 0.382
fib50 := fibHigh - (fibHigh - fibLow) * 0.50
fib61 := fibHigh - (fibHigh - fibLow) * 0.618
// Plot indicators
plot(short_ma, title="50-Period SMA", color=color.blue)
plot(long_ma, title="200-Period SMA", color=color.red)
hline(70, "RSI Overbought", color=color.red)
hline(30, "RSI Oversold", color=color.green)
plot(rsi, title="RSI", color=color.blue)
// Fibonacci retracement lines
// var line fib38_line = na
// var line fib50_line = na
// var line fib61_line = na
// if (not na(fib38))
// line.delete(fib38_line)
// fib38_line := line.new(x1=bar_index[1], y1=fib38, x2=bar_index, y2=fib38, color=color.yellow, width=1)
// if (not na(fib50))
// line.delete(fib50_line)
// fib50_line := line.new(x1=bar_index[1], y1=fib50, x2=bar_index, y2=fib50, color=color.orange, width=1)
// if (not na(fib61))
// line.delete(fib61_line)
// fib61_line := line.new(x1=bar_index[1], y1=fib61, x2=bar_index, y2=fib61, color=color.green, width=1)
// Entry and Exit Conditions
goldenCross = ta.crossover(short_ma, long_ma)
deathCross = ta.crossunder(short_ma, long_ma)
longCondition = goldenCross and close > fib50 and rsi < 70
shortCondition = deathCross and close < fib50 and rsi > 30
if (longCondition)
strategy.entry("Buy", strategy.long)
if (shortCondition)
strategy.entry("Sell", strategy.short)
// Close position conditions
if (strategy.position_size > 0 and rsi > 70)
strategy.close("Buy")
if (strategy.position_size < 0 and rsi < 30)
strategy.close("Sell")