
এই কৌশলটি একটি সমন্বিত পরিমাণগত ট্রেডিং পদ্ধতি যা একাধিক প্রযুক্তিগত সূচক (ম্যাকড, সুপারট্রেন্ড এবং প্যারাবলিক এসএআর) এর সমন্বয় দ্বারা বাজার প্রবণতা এবং ট্রেডিং সংকেত সনাক্ত করে। এই কৌশলটি একটি নমনীয় এবং কঠোর ট্রেডিং সিদ্ধান্তের কাঠামো সরবরাহ করার উদ্দেশ্যে তৈরি করা হয়েছে যা বিভিন্ন বাজার পরিবেশের সাথে খাপ খায়।
এই কৌশলটি তিনটি গুরুত্বপূর্ণ প্রযুক্তিগত সূচকের একটি গতিশীল সমন্বয় ভিত্তিকঃ
কৌশলটি নিম্নলিখিত লজিকের মাধ্যমে লেনদেনের সিদ্ধান্ত নেয়ঃ
Vishal’s Adaptive Multi Indicator Trading Strategy হল একটি উদ্ভাবনী পরিমাণগত ট্রেডিং পদ্ধতি যা MACD, Supertrend এবং Parabolic SAR এর সমন্বয়মূলক কার্যকারিতার মাধ্যমে একটি বিস্তৃত এবং নমনীয় ট্রেডিং সিদ্ধান্ত গ্রহণের কাঠামো সরবরাহ করে। যদিও কিছু ঝুঁকি রয়েছে, তবে এর বহু-ইনডিকেটর যাচাইকরণ এবং সিম্যাট্রিক ট্রেডিং লজিক বিনিয়োগকারীদের জন্য একটি গভীরভাবে অধ্যয়নরত ট্রেডিং মডেল সরবরাহ করে।
/*backtest
start: 2025-01-01 00:00:00
end: 2025-03-27 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Vishal Strategy", overlay=true, margin_long=100, margin_short=100, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// **MACD Inputs & Calculation**
fast_length = input.int(13, title="MACD Fast Length")
slow_length = input.int(27, title="MACD Slow Length")
signal_length = input.int(9, title="MACD Signal Smoothing")
fast_ma = ta.ema(close, fast_length)
slow_ma = ta.ema(close, slow_length)
macd = fast_ma - slow_ma
signal = ta.ema(macd, signal_length)
hist = macd - signal
// **Supertrend Inputs & Calculation**
atrPeriod = input.int(11, "ATR Length", minval = 1)
factor = input.float(3.0, "Factor", minval = 0.01, step = 0.01)
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
bullTrend = direction < 0 // Uptrend Condition
bearTrend = direction > 0 // Downtrend Condition
// **Parabolic SAR Inputs & Calculation**
sarStep = input.float(0.02, "Parabolic SAR Step")
sarMax = input.float(0.2, "Parabolic SAR Max")
sar = ta.sar(sarStep, sarStep, sarMax)
// **Trade Entry Conditions**
macdBullish = macd > signal // MACD in Bullish Mode
macdBearish = macd < signal // MACD in Bearish Mode
priceAboveSAR = close > sar // Price above SAR (Bullish)
priceBelowSAR = close < sar // Price below SAR (Bearish)
// **Boolean Flags to Track Conditions Being Met**
var bool macdConditionMet = false
var bool sarConditionMet = false
var bool trendConditionMet = false
// **Track if Each Condition is Met in Any Order**
if (macdBullish)
macdConditionMet := true
if (macdBearish)
macdConditionMet := false
if (priceAboveSAR)
sarConditionMet := true
if (priceBelowSAR)
sarConditionMet := false
if (bullTrend)
trendConditionMet := true
if (bearTrend)
trendConditionMet := false
// **Final Long Entry Signal (Triggers When All Three Flags Are True)**
longSignal = macdConditionMet and sarConditionMet and trendConditionMet
// **Final Short Entry Signal (Triggers When All Three Flags Are False)**
shortSignal = not macdConditionMet and not sarConditionMet and not trendConditionMet
// **Execute Full Equity Trades**
if (longSignal)
strategy.entry("Long", strategy.long)
if (shortSignal)
strategy.entry("Short", strategy.short)
// **Exit Logic - Requires 2 Consecutive Candle Closes Below/Above SAR**
var int belowSARCount = 0
var int aboveSARCount = 0
if (strategy.position_size > 0) // Long position is active
belowSARCount := close < sar ? belowSARCount + 1 : 0
if (belowSARCount >= 1)
strategy.close("Long")
if (strategy.position_size < 0) // Short position is active
aboveSARCount := close > sar ? aboveSARCount + 1 : 0
if (aboveSARCount >= 1)
strategy.close("Short")
// **Plot Indicators**
plot(supertrend, title="Supertrend", color=bullTrend ? color.green : color.red, linewidth=2, style=plot.style_linebr)
plot(sar, title="Parabolic SAR", color=color.blue, style=plot.style_cross, linewidth=2)
plot(macd, title="MACD Line", color=color.blue, linewidth=2)
plot(signal, title="MACD Signal", color=color.orange, linewidth=2)
plot(hist, title="MACD Histogram", style=plot.style_columns, color=hist >= 0 ? color.green : color.red)