Cette stratégie est une approche de trading quantitative basée sur plusieurs indicateurs techniques. Elle combine l'analyse des modèles de bougies, le suivi des tendances et les indicateurs de dynamique pour améliorer la précision des transactions grâce à la confirmation de signaux multidimensionnels.
La logique de base est basée sur l'effet synergique de trois principaux indicateurs techniques. Premièrement, les bougies Heiken Ashi sont utilisées pour filtrer le bruit du marché et fournir une direction de tendance plus claire. Deuxièmement, les bandes de Bollinger identifient les zones de surachat et de survente tout en fournissant des niveaux de support et de résistance dynamiques. Troisièmement, le RSI stochastique confirme la dynamique des prix et aide à juger de la continuité de la tendance. La stratégie intègre également l'ATR pour des objectifs de stop-loss et de profit dynamiques, ce qui rend la gestion des risques plus flexible.
Cette stratégie combine des méthodes d'analyse technique classiques avec des concepts de trading quantitatif modernes. Grâce à l'utilisation coordonnée de multiples indicateurs, elle poursuit une rentabilité élevée tout en assurant la robustesse.
/*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)