
এই কৌশলটি ভিডাব্লুএপি এবং সুপারট্রেন্ডিং সূচককে একত্রিত করে। দাম এবং ভিডাব্লুএপি এবং সুপারট্রেন্ডিং সূচকের দিকনির্দেশের তুলনা করে এটি একটি কেনা-বেচা সংকেত নির্ধারণ করে। যখন দাম ভিডাব্লুএপি অতিক্রম করে এবং সুপারট্রেন্ডিং ইতিবাচক হয়, তখন এটি একটি কেনা-বেচা সংকেত উত্পন্ন করে। যখন দাম ভিডাব্লুএপি অতিক্রম করে এবং সুপারট্রেন্ডিং নেতিবাচক হয়, তখন এটি একটি বিক্রয় সংকেত উত্পন্ন করে।
ভিডাব্লুএপি এবং সুপারট্রেন্ডস ক্রয়-বিক্রয় কৌশলগুলি দুটি ভিন্ন ধরণের সূচকের সমন্বয় করে বাজারের প্রবণতা এবং সম্ভাব্য টার্নপয়েন্টগুলিকে পুরোপুরি ক্যাপচার করার চেষ্টা করে। কৌশলগত যুক্তি পরিষ্কার, বাস্তবায়ন এবং অপ্টিমাইজ করা সহজ। তবে, কৌশলটির কার্যকারিতা প্যারামিটার নির্বাচনের উপর নির্ভর করে এবং ঝুঁকি পরিচালনার অভাব রয়েছে। বাস্তবে প্রয়োগের ক্ষেত্রে, বিভিন্ন বাজারের পরিবেশ এবং লেনদেনের প্রয়োজনের সাথে খাপ খাইয়ে নেওয়ার জন্য আরও অপ্টিমাইজেশন এবং পরিমার্জনের প্রয়োজন রয়েছে।
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="VWAP and Super Trend Buy/Sell Strategy", shorttitle="VWAPST", overlay=true)
//===== VWAP =====
showVWAP = input.bool(title="Show VWAP", defval=true, group="VWAP")
VWAPSource = input.source(title="VWAP Source", defval=hl2, group="VWAP")
VWAPrice = ta.vwap(VWAPSource)
plot(showVWAP ? VWAPrice : na, color=color.teal, title="VWAP", linewidth=2)
//===== Super Trend =====
showST = input.bool(true, "Show SuperTrend Indicator", group="Super Trend")
Period = input.int(title="ATR Period", defval=10, group="Super Trend")
Multiplier = input.float(title="ATR Multiplier", defval=2.0, group="Super Trend")
// Super Trend ATR
Up = hl2 - (Multiplier * ta.atr(Period))
Dn = hl2 + (Multiplier * ta.atr(Period))
var float TUp = na
var float TDown = na
TUp := na(TUp[1]) ? Up : close[1] > TUp[1] ? math.max(Up, TUp[1]) : Up
TDown := na(TDown[1]) ? Dn : close[1] < TDown[1] ? math.min(Dn, TDown[1]) : Dn
var int Trend = na
Trend := na(Trend[1]) ? 1 : close > TDown[1] ? 1 : close < TUp[1] ? -1 : Trend[1]
Tsl = Trend == 1 ? TUp : TDown
linecolor = Trend == 1 ? color.green : color.red
plot(showST ? Tsl : na, color=linecolor, style=plot.style_line, linewidth=2, title="SuperTrend")
// Buy/Sell Conditions
var bool previousBuysignal = false
var bool previousSellsignal = false
buysignal = not previousBuysignal and Trend == 1 and close > VWAPrice
sellsignal = not previousSellsignal and Trend == -1 and close < VWAPrice
// Ensure the signals are not repetitive
if (buysignal)
previousBuysignal := true
previousSellsignal := false
else if (sellsignal)
previousBuysignal := false
previousSellsignal := true
// Execute buy and sell orders
if (buysignal)
strategy.entry("Buy", strategy.long)
if (sellsignal)
strategy.entry("Sell", strategy.short)
// Plot Buy/Sell Labels
//plotshape(buysignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", textcolor=color.white, size=size.normal)
//plotshape(sellsignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", textcolor=color.white, size=size.normal)