
এই কৌশলটি 15 মিনিটের সময় ফ্রেমের উপর ভিত্তি করে একটি উচ্চ-ফ্রিকোয়েন্সি ট্রেডিং কৌশল। এই কৌশলটি একাধিক প্রযুক্তিগত সূচককে একত্রিত করে, যার মধ্যে রয়েছে এক্সপোনেনশিয়াল মুভিং এভারেজ (EMA), আপেক্ষিক শক্তি সূচক (RSI), গড় প্রবণতা সূচক (ADX), এবং গড় ট্রু রেঞ্জ (ATR), এর সমন্বয়ের মাধ্যমে ট্রেডিং সিগন্যাল অর্জন করতে। সূচকগুলি সঠিক ক্যাপচার এবং ঝুঁকির গতিশীল ব্যবস্থাপনা। কৌশলটি রিয়েল টাইমে বাজারের অবস্থা এবং ট্রেডিং সিগন্যাল নিরীক্ষণ করতে ব্যবসায়ীদের সুবিধার্থে একটি স্পষ্ট ভিজ্যুয়াল ডিজাইন গ্রহণ করে।
কৌশলটির মূল যুক্তিটি ট্রেডিং সংকেত তৈরি করার জন্য দ্রুত EMA (9 পিরিয়ড) এবং ধীর EMA (21 পিরিয়ড) এর সংযোগের উপর ভিত্তি করে। RSI (14 পিরিয়ড) বেশি বিক্রি হওয়া এলাকাগুলিকে ফিল্টার করতে ব্যবহৃত হয়, ADX (14 পিরিয়ড) ট্রেন্ড শক্তি নিশ্চিত করতে ব্যবহৃত হয় এবং ATR (14 পিরিয়ড) ব্যবহার করা হয় গতিশীলভাবে স্টপ লস এবং লাভের লক্ষ্য নির্ধারণ করতে। একাধিক প্রযুক্তিগত সূচকের সমন্বয় ট্রেডিং সিগন্যালের নির্ভরযোগ্যতা নিশ্চিত করে। প্রবেশের শর্তগুলির মধ্যে রয়েছে: দীর্ঘ - দ্রুত EMA ধীর EMA অতিক্রম করে এবং RSI 70 এর নিচে, এবং ADX সংক্ষিপ্ত - দ্রুত EMA নীচে ধীর EMA অতিক্রম করে এবং RSI 30 এর উপরে এবং ADX 20 এর উপরে হয়; . প্রস্থান ATR উপর ভিত্তি করে গতিশীল স্টপ লস এবং লাভ লক্ষ্য সেটিংস ব্যবহার করে।
এই কৌশলটি একাধিক প্রযুক্তিগত সূচকের সমন্বয়ের মাধ্যমে উচ্চ-ফ্রিকোয়েন্সি ট্রেডিংয়ে সিগন্যাল ক্যাপচার এবং ঝুঁকি নিয়ন্ত্রণের মধ্যে ভারসাম্য অর্জন করে। স্পষ্ট ভিজ্যুয়াল ডিজাইন এবং সম্পূর্ণ অটোমেশন সহায়তা এটিকে আরও ব্যবহারিক করে তোলে। ঝুঁকি ব্যবস্থাপনার ক্রমাগত অপ্টিমাইজেশন এবং উন্নতির মাধ্যমে, কৌশলটি বিভিন্ন বাজার পরিবেশে স্থিতিশীল কর্মক্ষমতা বজায় রাখবে বলে আশা করা হচ্ছে। যদিও কিছু ঝুঁকি আছে, যুক্তিসঙ্গত প্যারামিটার সেটিংস এবং ঝুঁকি নিয়ন্ত্রণ ব্যবস্থার মাধ্যমে এই ঝুঁকিগুলি নিয়ন্ত্রণযোগ্য। কৌশলটির সফল প্রয়োগের জন্য ব্যবসায়ীদের বাজার সম্পর্কে গভীর ধারণা থাকা এবং ঝুঁকির উপর অবিরাম মনোযোগ বজায় রাখা প্রয়োজন।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Scalping BTC Ottimizzato - Grafica Chiara", shorttitle="Scalp BTC Opt", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === 📊 INPUTS ===
// 📈 Medie Mobili
emaFastLength = input.int(9, title="EMA Veloce", minval=1)
emaSlowLength = input.int(21, title="EMA Lenta", minval=1)
// 💡 RSI
rsiLength = input.int(14, title="RSI Length", minval=1)
rsiOverbought = input.int(70, title="RSI Overbought")
rsiOversold = input.int(30, title="RSI Oversold")
// 📊 ATR (Stop Loss e Take Profit)
atrLength = input.int(14, title="ATR Length", minval=1)
stopATR = input.float(1.5, title="Stop Loss (ATR Multiplo)", step=0.1)
takeProfitATR = input.float(2.0, title="Take Profit (ATR Multiplo)", step=0.1)
// 🔀 ADX
adxLength = input.int(14, title="ADX Length", minval=1)
adxSmoothing = input.int(14, title="ADX Smoothing", minval=1)
adxThreshold = input.int(20, title="Soglia ADX per Trend Forte", minval=1)
// === 📊 CALCOLI PRINCIPALI ===
// 📈 Medie Mobili
emaFast = ta.ema(close, emaFastLength)
emaSlow = ta.ema(close, emaSlowLength)
// 💡 RSI
rsi = ta.rsi(close, rsiLength)
// 📊 ATR
atr = ta.atr(atrLength)
// 🔀 ADX tramite DMI con Smoothing
[adx, diPlus, diMinus] = ta.dmi(adxLength, adxSmoothing)
// === 📊 CONDIZIONI LONG E SHORT ===
// ✅ Long: EMA Veloce incrocia EMA Lenta al rialzo, RSI sotto 70, ADX > 20
longCondition = (ta.crossover(emaFast, emaSlow)) and (rsi < rsiOverbought) and (adx > adxThreshold)
// 🔻 Short: EMA Veloce incrocia EMA Lenta al ribasso, RSI sopra 30, ADX > 20
shortCondition = (ta.crossunder(emaFast, emaSlow)) and (rsi > rsiOversold) and (adx > adxThreshold)
// 📉 Stop Loss e Take Profit Dinamici
longStop = strategy.position_avg_price - (atr * stopATR)
longTarget = strategy.position_avg_price + (atr * takeProfitATR)
shortStop = strategy.position_avg_price + (atr * stopATR)
shortTarget = strategy.position_avg_price - (atr * takeProfitATR)
// === 🚀 INGRESSO E USCITA ===
// 🚦 Ingresso LONG
if (longCondition and strategy.position_size == 0)
strategy.entry("Long", strategy.long)
strategy.exit("TakeProfit/StopLoss Long", stop=longStop, limit=longTarget)
// 🚦 Ingresso SHORT
if (shortCondition and strategy.position_size == 0)
strategy.entry("Short", strategy.short)
strategy.exit("TakeProfit/StopLoss Short", stop=shortStop, limit=shortTarget)
// 🛑 USCITA MANUALE BASATA SU RSI
if (rsi > rsiOverbought and strategy.position_size > 0)
strategy.close("Long", comment="RSI Overbought Exit")
if (rsi < rsiOversold and strategy.position_size < 0)
strategy.close("Short", comment="RSI Oversold Exit")
// === 📊 VISUALIZZAZIONE GRAFICA OTTIMIZZATA ===
// 📈 MEDIE MOBILI ANCORATE ALLE CANDELE
plot(emaFast, title="EMA Veloce", color=color.blue, linewidth=2)
plot(emaSlow, title="EMA Lenta", color=color.red, linewidth=2)
// 📊 SEGNALI VISIVI ANCORATI ALLE CANDELE
plotshape(longCondition, title="Segnale Long", style=shape.triangleup, location=location.belowbar, color=color.green, text="Long", size=size.small)
plotshape(shortCondition, title="Segnale Short", style=shape.triangledown, location=location.abovebar, color=color.red, text="Short", size=size.small)
// 📊 RSI (Pannello Separato)
var float rsiPanel = na
rsiPanel := rsi
plot(rsiPanel, title="RSI", color=color.orange, linewidth=2)
hline(rsiOverbought, "RSI Overbought", color=color.red, linestyle=hline.style_dotted)
hline(rsiOversold, "RSI Oversold", color=color.green, linestyle=hline.style_dotted)
// 📊 ADX (Pannello Separato)
var float adxPanel = na
adxPanel := adx
plot(adxPanel, title="ADX", color=color.blue, linewidth=2)
hline(adxThreshold, "ADX Soglia", color=color.gray, linestyle=hline.style_dotted)
// 📊 ATR (Pannello Separato)
var float atrPanel = na
atrPanel := atr
plot(atrPanel, title="ATR", color=color.purple, linewidth=2)
// 🔔 ALERT
alertcondition(longCondition, title="Segnale Long", message="Entra Long Manualmente!")
alertcondition(shortCondition, title="Segnale Short", message="Entra Short Manualmente!")