
This strategy is a high-frequency quantitative trading approach based on multiple technical indicators. It combines candlestick pattern analysis, trend following, and momentum indicators to enhance trading accuracy through multi-dimensional signal confirmation. The strategy employs a 1:3 risk-reward ratio, which helps maintain stable returns in volatile markets through conservative money management.
The core logic is built on the synergistic effect of three main technical indicators. First, Heiken Ashi candles are used to filter market noise and provide clearer trend direction. Second, Bollinger Bands identify overbought and oversold areas while providing dynamic support and resistance levels. Third, the stochastic RSI confirms price momentum and helps judge trend continuity. The strategy also incorporates ATR for dynamic stop-loss and profit targets, making risk management more flexible.
This strategy combines classical technical analysis methods with modern quantitative trading concepts. Through the coordinated use of multiple indicators, it pursues high profitability while ensuring robustness. The strategy’s scalability and flexibility make it suitable for various market environments, but traders need to carefully control risks and regularly optimize parameters.
/*backtest
start: 2024-11-26 00:00:00
end: 2024-12-03 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("BTC Scalping Strategy with Risk-Reward 1:3", overlay=true)
// Heiken Ashi Candle Calculation
var float haOpen = na
haClose = (open + high + low + close) / 4
haOpen := na(haOpen[1]) ? (open + close) / 2 : (haOpen[1] + haClose[1]) / 2
haHigh = math.max(high, math.max(haOpen, haClose))
haLow = math.min(low, math.min(haOpen, haClose))
// Plot Heiken Ashi Candles
plotcandle(haOpen, haHigh, haLow, haClose, color=haClose >= haOpen ? color.green : color.red)
// Bollinger Bands Calculation
lengthBB = 20
src = close
mult = 2.0
basis = ta.sma(src, lengthBB)
dev = mult * ta.stdev(src, lengthBB)
upperBB = basis + dev
lowerBB = basis - dev
// Stochastic RSI Calculation (fixed parameters)
kLength = 14
dSmoothing = 3
stochRSI = ta.stoch(close, high, low, kLength)
// Average True Range (ATR) for stop loss and take profit
atrLength = 14
atrValue = ta.atr(atrLength)
// Entry conditions
longCondition = ta.crossover(close, lowerBB) and stochRSI < 20
shortCondition = ta.crossunder(close, upperBB) and stochRSI > 80
// Alerts and trade signals
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit", "Long", profit=atrValue*3, loss=atrValue)
alert("Buy Signal Triggered", alert.freq_once_per_bar_close)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit", "Short", profit=atrValue*3, loss=atrValue)
alert("Sell Signal Triggered", alert.freq_once_per_bar_close)