
এই কৌশলটি একটি প্রবণতা বিরতি ট্রেডিং সিস্টেম যা একাধিক প্রযুক্তিগত সূচক নেটওয়ার্ক ভিত্তিক। এটি একাধিক প্রযুক্তিগত সূচক যেমন সূচক মুভিং এভারেজ (EMA), ক্রয়-ব্যবহারের ওজনযুক্ত গড় মূল্য (VWAP), তুলনামূলকভাবে শক্তিশালী সূচক (RSI) এবং গড় প্রবণতা সূচক (ADX) ব্যবহার করে, একাধিক সংকেত সনাক্তকরণের মাধ্যমে জাল বিরতিগুলি ফিল্টার করে, ব্যবসায়ের নির্ভুলতা উন্নত করে। এই কৌশলটি উচ্চতর সময়কালীন সময়ের প্রবণতা বিচারকে সংযুক্ত করে এবং এটিআর-ভিত্তিক গতিশীল স্টপ লস স্টপিং স্কিম ব্যবহার করে, যা কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করে।
কৌশলটির মূল যুক্তি নিম্নলিখিত মূল উপাদানগুলির উপর ভিত্তি করে:
এই কৌশলটি একাধিক প্রযুক্তিগত সূচকগুলির সমন্বয়মূলক সহযোগিতার মাধ্যমে একটি অপেক্ষাকৃত সম্পূর্ণ লেনদেনের ব্যবস্থা তৈরি করে। এর মূল সুবিধা হ’ল মাল্টি-ডাইমেনশনাল সিগন্যাল নিশ্চিতকরণের মাধ্যমে লেনদেনের যথার্থতা বাড়ানো এবং তহবিল সুরক্ষার জন্য বৈজ্ঞানিক ঝুঁকি ব্যবস্থাপনার পদ্ধতি গ্রহণ করা। যদিও কিছু সীমাবদ্ধতা রয়েছে, তবে ক্রমাগত অপ্টিমাইজেশন এবং উন্নতির মাধ্যমে এই কৌশলটি প্রকৃত লেনদেনের ক্ষেত্রে স্থিতিশীল উপার্জনের প্রত্যাশা করে।
/*backtest
start: 2024-11-19 00:00:00
end: 2024-12-18 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Trend-Filtered Scalping Strategy", overlay=true, shorttitle="TFSS")
// Inputs
emaShort = input.int(9, title="EMA Short", minval=1)
emaLong = input.int(21, title="EMA Long", minval=1)
rsiLength = input.int(14, title="RSI Length", minval=1)
atrLength = input.int(14, title="ATR Length", minval=1)
adxLength = input.int(20, title="ADX Length", minval=1)
adxSmoothing = input.int(14, title="ADX Smoothing", minval=1)
volMultiplier = input.float(1.5, title="Volume Spike Multiplier", minval=1.0)
riskPercent = input.float(1, title="Risk % of Equity", minval=0.1, step=0.1)
// Higher Time Frame for Trend Filter
htfTimeframe = input.timeframe("15", title="Higher Time Frame")
ema50HTF = request.security(syminfo.tickerid, htfTimeframe, ta.ema(close, 50))
// Indicators
ema9 = ta.ema(close, emaShort)
ema21 = ta.ema(close, emaLong)
vwap = ta.vwap(close)
rsi = ta.rsi(close, rsiLength)
atr = ta.atr(atrLength)
volAvg = ta.sma(volume, 10)
// ADX Calculation with Smoothing
[_, _, adx] = ta.dmi(adxLength, adxSmoothing)
// Entry Conditions
longCondition = (ta.crossover(ema9, ema21) and close > vwap and rsi > 55 and adx > 25 and close > ema50HTF and volume > volAvg * volMultiplier)
shortCondition = (ta.crossunder(ema9, ema21) and close < vwap and rsi < 45 and adx > 25 and close < ema50HTF and volume > volAvg * volMultiplier)
// Position Sizing Based on Risk %
capitalPerTrade = (strategy.equity * (riskPercent / 100)) / atr
longStop = close - 1.5 * atr
longTarget = close + 3 * atr
shortStop = close + 1.5 * atr
shortTarget = close - 3 * atr
// Entry Logic
if longCondition and not strategy.opentrades
strategy.entry("Long", strategy.long, qty=capitalPerTrade)
strategy.exit("Exit Long", from_entry="Long", stop=longStop, limit=longTarget)
if shortCondition and not strategy.opentrades
strategy.entry("Short", strategy.short, qty=capitalPerTrade)
strategy.exit("Exit Short", from_entry="Short", stop=shortStop, limit=shortTarget)
// Alerts
alertcondition(longCondition, title="Long Entry Alert", message="Long Condition Triggered!")
alertcondition(shortCondition, title="Short Entry Alert", message="Short Condition Triggered!")
// Plot Indicators
plot(ema9, title="EMA 9", color=color.green)
plot(ema21, title="EMA 21", color=color.red)
plot(vwap, title="VWAP", color=color.blue)
plot(ema50HTF, title="HTF EMA 50", color=color.purple)
hline(55, "RSI Long Threshold", color=color.green)
hline(45, "RSI Short Threshold", color=color.red)