
এটি একটি পরিমাণগত ট্রেডিং কৌশল যা VWAP, MACD এবং RSI এর ত্রি-প্রযুক্তিগত সূচকগুলির উপর ভিত্তি করে তৈরি করা হয়েছে। এটি বাজারে কেনার সুযোগগুলি সনাক্ত করার জন্য ভলিউম-ওয়েটেড এভারেজ (VWAP), মুভিং এভারেজ সমান্তরাল স্প্রেড সূচক (MACD) এবং আপেক্ষিকভাবে দুর্বল সূচক (RSI) এর একাধিক সংকেতকে একত্রিত করে। কৌশলটি ঝুঁকি পরিচালনা করার জন্য শতাংশ স্টপ লস মেশিন ব্যবহার করে এবং কৌশলগত পজিশন ম্যানেজমেন্ট ব্যবহার করে তহবিলের ব্যবহার অনুকূল করতে।
কৌশলটির মূল যুক্তি তিনটি প্রধান সূচকের সমন্বিত বিশ্লেষণের উপর ভিত্তি করেঃ
ক্রয়ের শর্তাবলীঃ
বিক্রির শর্তাবলীঃ
এই কৌশলটি ভিডাব্লুএপি, এমএসিডি এবং আরএসআই এর তিনটি ক্লাসিক প্রযুক্তিগত সূচক ব্যবহার করে একটি তুলনামূলকভাবে সম্পূর্ণ ট্রেডিং সিস্টেম তৈরি করে। কৌশলটি সিগন্যালের নির্ভরযোগ্যতা এবং ঝুঁকি পরিচালনার দিকে মনোনিবেশ করে এবং একাধিক সূচক ক্রস যাচাইয়ের মাধ্যমে লেনদেনের গুণমানকে উন্নত করে। যদিও কিছু দিক রয়েছে যা অপ্টিমাইজ করার প্রয়োজন, তবে সামগ্রিক কাঠামোটি যুক্তিসঙ্গত এবং ভাল স্কেলযোগ্যতা রয়েছে। ব্যবসায়ীদের রিয়েল-টাইমে ব্যবহারের আগে, বিভিন্ন বাজার পরিবেশে যাচাই কৌশলটির কার্যকারিতা পরীক্ষা করে এবং নির্দিষ্ট প্রয়োজনের পরামিতিগুলি অপ্টিমাইজ করার পরামর্শ দেওয়া হয়।
/*backtest
start: 2024-10-27 00:00:00
end: 2024-11-26 00:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("pbs", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Input for take-profit and stop-loss
takeProfitPercent = input.float(0.5, title="Take Profit (%)", step=0.1) / 100
stopLossPercent = input.float(0.25, title="Stop Loss (%)", step=0.1) / 100
macdFastLength = input.int(12, title="MACD Fast Length")
macdSlowLength = input.int(26, title="MACD Slow Length")
macdSignalLength = input.int(9, title="MACD Signal Length")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level", step=1)
rsiOversold = input.int(30, title="RSI Oversold Level", step=1)
vwap = ta.vwap(close)
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength)
macdHistogram = macdLine - signalLine
rsi = ta.rsi(close, rsiLength)
plot(vwap, color=color.purple, linewidth=2, title="VWAP")
hline(rsiOverbought, "Overbought", color=color.red, linestyle=hline.style_dotted)
hline(rsiOversold, "Oversold", color=color.green, linestyle=hline.style_dotted)
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.orange, title="Signal Line")
// Buy Condition
longCondition = ta.crossover(close, vwap) and macdHistogram > 0 and rsi < rsiOverbought
// Sell Condition
shortCondition = ta.crossunder(close, vwap) and macdHistogram < 0 and rsi > rsiOversold
// Execute trades based on conditions
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit/Stop Loss", "Long", limit=close * (1 + takeProfitPercent), stop=close * (1 - stopLossPercent))
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit/Stop Loss", "Short", limit=close * (1 - takeProfitPercent), stop=close * (1 + stopLossPercent))
// Plot Buy/Sell Signals
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")