
This strategy is a sophisticated quantitative trading system that combines multiple technical indicators, integrating trend following and momentum analysis. The strategy incorporates various indicators including Volume Weighted Average Price (VWAP), Exponential Moving Average (EMA), Relative Strength Index (RSI), and others to create a comprehensive trading decision framework. It focuses on trend confirmation and momentum persistence while implementing strict risk control measures.
The strategy employs a multi-layer filtering mechanism to confirm trading signals. Buy signals are generated when price is above both VWAP and EMA20, and SuperTrend indicates an uptrend. It uses RSI for momentum confirmation and Bollinger Bands to identify volatility expansion. The strategy also integrates MACD for trend continuation confirmation and ADX to measure trend strength. Stop-loss is set at 1.5 times ATR, with profit targets at 1.5 times the stop-loss distance.
The strategy constructs a comprehensive trading system through the integrated use of multiple technical indicators. While it has certain inherent lag and parameter optimization risks, the strategy demonstrates good stability and adaptability through strict risk control and multiple signal confirmations. Through continuous optimization and improvement, the strategy shows promise in maintaining stable performance across various market environments.
/*backtest
start: 2024-02-10 00:00:00
end: 2025-02-09 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Nifty 1-Min Advanced Scalping", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200)
// Indicators
vwap = ta.vwap(close)
ema20 = ta.ema(close, 20)
supertrendFactor = 2
supertrendLength = 10
[superTrend, superTrendDirection] = ta.supertrend(supertrendFactor, supertrendLength)
atr = ta.atr(14)
psar = ta.sar(0.02, 0.2, 0.2)
rsi = ta.rsi(close, 14)
[bbMid, bbUpper, bbLower] = ta.bb(close, 20, 2)
[macdLine, macdSignal, _] = ta.macd(close, 12, 26, 9)
[adx, _, _] = ta.dmi(14, 14)
stochRsi = ta.stoch(close, 14, 3, 3)
// Buy Condition
buyCondition = close > vwap and close > ema20 and superTrendDirection == 1 and rsi > 50 and close > bbMid and close > psar and macdLine > macdSignal and adx > 25 and stochRsi > 20
// Sell Condition
sellCondition = close < vwap and close < ema20 and superTrendDirection == -1 and rsi < 50 and close < bbMid and close < psar and macdLine < macdSignal and adx > 25 and stochRsi < 80
// Stop Loss & Take Profit
sl = atr * 1.5
long_sl = close - sl
short_sl = close + sl
tp = sl * 1.5
long_tp = close + tp
short_tp = close - tp
// Execute Trades
if buyCondition
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", from_entry="Long", stop=long_sl, limit=long_tp)
if sellCondition
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", from_entry="Short", stop=short_sl, limit=short_tp)
// Plot indicators
plot(vwap, title="VWAP", color=color.blue)
plot(ema20, title="EMA 20", color=color.orange)
plot(superTrend, title="SuperTrend", color=color.green)
plot(psar, title="Parabolic SAR", color=color.red, style=plot.style_cross)
plot(bbMid, title="Bollinger Mid", color=color.purple)
plot(macdLine, title="MACD Line", color=color.blue)
plot(macdSignal, title="MACD Signal", color=color.red)
plot(adx, title="ADX", color=color.green)
plot(stochRsi, title="Stochastic RSI", color=color.orange)
// Alerts
alertcondition(buyCondition, title="Buy Signal", message="Buy Signal Triggered")
alertcondition(sellCondition, title="Sell Signal", message="Sell Signal Triggered")