
This is an intraday quantitative trading strategy that organically combines multiple technical indicators, integrating Volume Weighted Average Price (VWAP), Fibonacci retracement levels, Relative Strength Index (RSI), and Simple Moving Average (SMA) to construct a multi-dimensional trading signal system. The strategy seeks high-probability trading opportunities in market fluctuations through the synergistic combination of different indicators.
The strategy employs a multi-layer filtering mechanism to confirm trading signals: 1. Uses RSI to identify overbought and oversold areas, generating buy signals when RSI crosses above 30 (oversold) and sell signals when crossing above 70 (overbought) 2. Establishes price movement reference ranges through Fibonacci retracement levels (0.382 and 0.618), only allowing trades when price is within this range 3. Uses VWAP as a trend confirmation indicator, supporting long positions above VWAP and short positions below 4. Incorporates SMA as an auxiliary indicator, generating additional trading signals when price crosses the SMA Final trading signals must satisfy either RSI or SMA conditions while complying with Fibonacci range and VWAP position requirements.
This is a comprehensive and logically rigorous intraday trading strategy. Through the synergistic effect of multiple technical indicators, it pursues stable returns while controlling risks. The strategy possesses strong practicality and scalability, capable of adapting to different market environments through proper parameter optimization and risk control. However, users need to deeply understand the characteristics of each indicator, set parameters reasonably, and maintain constant attention to risk control.
/*backtest
start: 2025-01-25 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
// Pine Script v5 kodu
//@version=5
strategy("Intraday Strategy with VWAP, Fibonacci, RSI, and SMA", shorttitle="Intraday Strategy", overlay=true)
// Input settings
lengthRSI = input.int(14, title="RSI Length")
lengthFib = input.int(5, title="Fibonacci Lookback Period")
timeframeVWAP = input.timeframe("", title="VWAP Timeframe")
smaLength = input.int(9, title="SMA Length")
rsi = ta.rsi(close, lengthRSI)
sma = ta.sma(close, smaLength)
[fibHigh, fibLow] = request.security(syminfo.tickerid, timeframe.period, [high, low])
upper = fibHigh - (fibHigh - fibLow) * 0.382
lower = fibHigh - (fibHigh - fibLow) * 0.618
vwav = request.security(syminfo.tickerid, timeframeVWAP, ta.vwap(close))
price_above_vwap = close > vwav
// Trading conditions
buySignalRSI = ta.crossover(rsi, 30) and close > lower and close < upper and price_above_vwap
sellSignalRSI = ta.crossunder(rsi, 70) and close < upper and close > lower and not price_above_vwap
buySignalSMA = ta.crossover(close, sma)
sellSignalSMA = ta.crossunder(close, sma)
finalBuySignal = buySignalRSI or buySignalSMA
finalSellSignal = sellSignalRSI or sellSignalSMA
// Execute trades
if finalBuySignal
strategy.entry("Buy", strategy.long)
if finalSellSignal
strategy.entry("Sell", strategy.short)
// Plot signals
plotshape(finalBuySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(finalSellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Plot VWAP, SMA, and levels
plot(vwav, color=color.blue, title="VWAP")
plot(sma, color=color.yellow, title="SMA 9")
lineUpper = plot(upper, color=color.orange, title="Fibonacci Upper")
lineLower = plot(lower, color=color.purple, title="Fibonacci Lower")