এটি তিনটি প্রযুক্তিগত সূচক: ভিডাব্লুএপি, এমএসিডি এবং আরএসআই-এর উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং কৌশল। কৌশলটি ভলিউম ওয়েটেড মিডিয়ার প্রাইস (ভিডাব্লুএপি), মুভিং মিডিয়ার কনভার্জেন্স ডিভার্জেন্স (এমএসিডি) এবং আপেক্ষিক শক্তি সূচক (আরএসআই) থেকে সংকেতগুলি একত্রিত করে ট্রেডিং সুযোগগুলি সনাক্ত করে। এটি ঝুঁকি পরিচালনার জন্য শতাংশ-ভিত্তিক লাভ এবং স্টপ-লস প্রক্রিয়াগুলি অন্তর্ভুক্ত করে এবং মূলধন ব্যবহারের অনুকূল করার জন্য কৌশল অবস্থান আকার ব্যবহার করে।
মূল যুক্তিটি তিনটি প্রধান সূচকের একটি বিস্তৃত বিশ্লেষণের উপর ভিত্তি করেঃ
ক্রয়ের শর্তাবলী নিম্নরূপঃ
বিক্রয় শর্তাবলী নিম্নলিখিত প্রয়োজনঃ
এই কৌশলটি তিনটি ক্লাসিকাল প্রযুক্তিগত সূচকঃ ভিডাব্লুএপি, এমএসিডি এবং আরএসআই একত্রিত করে একটি অপেক্ষাকৃত সম্পূর্ণ ট্রেডিং সিস্টেম তৈরি করে। ট্রেডিংয়ের গুণমান উন্নত করার জন্য একাধিক সূচক ক্রস-বৈধকরণের মাধ্যমে ডিজাইনে সংকেত নির্ভরযোগ্যতা এবং ঝুঁকি ব্যবস্থাপনার উপর জোর দেওয়া হয়। যদিও অপ্টিমাইজেশনের প্রয়োজন এমন দিক রয়েছে, সামগ্রিক কাঠামোটি ভাল এবং ভাল স্কেলাবিলিটি সরবরাহ করে। ব্যবসায়ীরা বিভিন্ন বাজারের অবস্থার মধ্যে ব্যাকটেস্টিংয়ের মাধ্যমে কৌশলটি বৈধকরণ এবং লাইভ বাস্তবায়নের আগে নির্দিষ্ট প্রয়োজনীয়তা অনুসারে পরামিতিগুলি অনুকূল করার পরামর্শ দেওয়া হয়।
/*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")