এই কৌশলটি মূলত পিন বার নামে একটি নির্দিষ্ট মোমবাতি প্যাটার্নকে স্বীকৃতি দিয়ে সম্ভাব্য বাজার বিপরীত পয়েন্টগুলি সনাক্ত করার লক্ষ্য রাখে। একটি পিন বার একটি দীর্ঘ ছায়া এবং একটি ছোট দেহ দ্বারা চিহ্নিত হয়, যা সেই মূল্য স্তরে উল্লেখযোগ্য বাজার অস্থিরতা নির্দেশ করে, তবে শেষ পর্যন্ত দামটি পুনরুদ্ধার করে, যা পরামর্শ দেয় যে স্তরটি সমর্থন বা প্রতিরোধের মতো কাজ করতে পারে। কৌশলটি বর্তমান প্রবণতার দিক নির্ধারণের জন্য একটি 50 পিরিয়ড সহজ চলমান গড় (এসএমএ) এবং ফিল্টার হিসাবে ভলিউমের 20 পিরিয়ড এসএমএ ব্যবহার করে, পিন বার সংকেতটি বৈধ বলে বিবেচিত হওয়ার জন্য ভলিউমটি এই গড়ের উপরে থাকা প্রয়োজন। অতিরিক্তভাবে, আপেক্ষিক শক্তি সূচক (আরএসআই) গণনা করা হয় তবে সরাসরি প্রবেশ / প্রস্থান শর্তে ব্যবহার করা হয় না, পরিবর্তে একটি ঐচ্ছিক আরও শর্ত ফিল্টারিং হিসাবে কাজ করে।
এই পিন বার বিপরীত কৌশলটি একটি সহজ এবং কার্যকর পদ্ধতির ব্যবহার করে, প্রবণতা ফিল্টারিং এবং ভলিউম ফিল্টারিং ব্যবহার করে সংকেত স্বীকৃতির নির্ভুলতা উন্নত করতে। যদিও উন্নতির জন্য জায়গা রয়েছে, সামগ্রিক ধারণাটি কার্যকর এবং আরও অপ্টিমাইজেশন এবং পরীক্ষার যোগ্য। একটি ক্লাসিক মূল্য প্যাটার্ন হিসাবে, পিন বারটি আরও শক্তিশালী ট্রেডিং সিস্টেম অর্জনের জন্য অন্যান্য সূচক বা সংকেতগুলির সাথেও একত্রিত করা যেতে পারে।
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Filtered Pin Bar Strategy with Relaxed Volume", overlay=true) // Define the size of the pin bar's wick and body wickSize = 0.6 bodySize = 0.3 // Calculate the size of the wicks and body upperWick = high - math.max(open, close) lowerWick = math.min(open, close) - low body = math.abs(close - open) // Define a simple moving average to determine the trend smaLength = 50 sma = ta.sma(close, smaLength) // Define a more relaxed volume threshold volumeThreshold = ta.sma(volume, 20) * 1.0 // Define RSI parameters rsiLength = 14 rsiOverbought = 70 rsiOversold = 30 rsi = ta.rsi(close, rsiLength) // Define the conditions for a bullish pin bar bullishPinBar = (lowerWick > (wickSize * (high - low))) and (body < (bodySize * (high - low))) and (close > open) and (close > sma) and (volume > volumeThreshold) // Define the conditions for a bearish pin bar bearishPinBar = (upperWick > (wickSize * (high - low))) and (body < (bodySize * (high - low))) and (close < open) and (close < sma) and (volume > volumeThreshold) // Plot the bullish and bearish pin bars on the chart plotshape(series=bullishPinBar, title="Bullish Pin Bar", location=location.belowbar, color=color.green, style=shape.labelup, text="PB") plotshape(series=bearishPinBar, title="Bearish Pin Bar", location=location.abovebar, color=color.red, style=shape.labeldown, text="PB") // Entry and exit rules if (bullishPinBar) strategy.entry("Bullish Pin Bar", strategy.long) if (bearishPinBar) strategy.entry("Bearish Pin Bar", strategy.short) // Optional: Set stop loss and take profit stopLoss = 2 * body takeProfit = 3 * body strategy.exit("Exit Long", from_entry="Bullish Pin Bar", stop=low - stopLoss, limit=high + takeProfit) strategy.exit("Exit Short", from_entry="Bearish Pin Bar", stop=high + stopLoss, limit=low - takeProfit)