এই কৌশলটি একাধিক প্রযুক্তিগত সূচক সিঙ্ক্রোনাইজেশনের উপর ভিত্তি করে একটি প্রবণতা বিপরীত ট্রেডিং সিস্টেম, মূলত 5 মিনিটের সময়সীমার উপর স্বল্পমেয়াদী ট্রেডিংয়ের জন্য ডিজাইন করা হয়েছে। এটি কঠোর প্রবেশের শর্তগুলির মাধ্যমে উচ্চ-সম্ভাব্যতা বিপরীত ট্রেডিং সুযোগগুলি স্ক্রিন করার জন্য চলমান গড় প্রবণতা অনুসরণ, ভলিউম নিশ্চিতকরণ, এটিআর অস্থিরতা ফিল্টারিং এবং অন্যান্য বহু-মাত্রিক বিশ্লেষণ পদ্ধতিগুলিকে একীভূত করে। কৌশলটি উচ্চ তরলতার সেশনের সময় ট্রেডিংয়ের জন্য বিশেষভাবে উপযুক্ত এবং কার্যকরভাবে স্বল্পমেয়াদী বাজারের বিপরীত সুযোগগুলি ক্যাপচার করতে পারে।
কৌশলটির মূল যুক্তি নিম্নলিখিত মূল উপাদানগুলির উপর ভিত্তি করেঃ 1. বিপরীত সংকেত সনাক্তকরণঃ ঐতিহাসিক উচ্চ এবং নিম্ন সঙ্গে মূল্য সম্পর্ক বিশ্লেষণ করে সম্ভাব্য বিপরীত প্যাটার্ন সনাক্ত করার জন্য একটি lookback সময়কাল (ডিফল্ট 12 সময়কাল) ব্যবহার করে। ২. প্রবণতা নিশ্চিতকরণঃ এসএমএ, ইএমএ, ডাব্লুএমএ এবং ভিডাব্লুএমএ সহ বিভিন্ন চলমান গড় সূচক একীভূত করে, ব্যবহারকারীদের বিভিন্ন বাজারের অবস্থার জন্য সবচেয়ে উপযুক্ত গড় প্রকার নির্বাচন করতে দেয়। ৩. ভলিউম যাচাইকরণঃ বর্তমান ভলিউমকে ২০ পেরিওড ভলিউম গড়ের সাথে তুলনা করে বিপরীত সংকেতগুলি নিশ্চিত করে। ৪. ঝুঁকি ব্যবস্থাপনাঃ এটিআর সূচকের উপর ভিত্তি করে স্টপ লস এবং লাভের লক্ষ্যমাত্রা গতিশীলভাবে সামঞ্জস্য করে, ডিফল্ট স্টপ লস পরিসীমা হিসাবে ১.৫x এটিআর এবং লাভের লক্ষ্য হিসাবে ২x স্টপ লস ব্যবহার করে।
এই কৌশলটি একটি সু-ডিজাইন করা স্বল্পমেয়াদী ট্রেডিং সিস্টেম যা মাল্টি-ইন্ডিক্টর সহযোগিতার মাধ্যমে নির্ভরযোগ্য বিপরীত সংকেত সনাক্তকরণ এবং ঝুঁকি নিয়ন্ত্রণ অর্জন করে। এর শক্তি নমনীয় কনফিগারেশন বিকল্প এবং বিস্তৃত ঝুঁকি ব্যবস্থাপনা প্রক্রিয়াতে রয়েছে, তবে ব্যবসায়ীদের পরামিতি সেটিংস পুরোপুরি অনুকূল করতে হবে এবং এটি উপযুক্ত বাজারের পরিবেশে ব্যবহার করতে হবে। ক্রমাগত অপ্টিমাইজেশন এবং উন্নতির মাধ্যমে, এই কৌশলটির একটি স্থিতিশীল স্বল্পমেয়াদী ট্রেডিং সরঞ্জাম হওয়ার সম্ভাবনা রয়েছে।
/*backtest start: 2024-01-17 00:00:00 end: 2025-01-15 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("Reversal Signals Strategy [AlgoAlpha]", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Inputs group_strategy = "Strategy Settings" riskRewardRatio = input.float(2.0, "Risk-Reward Ratio", tooltip="Take Profit is Risk-Reward times Stop Loss", group=group_strategy) stopLossATRMultiplier = input.float(1.5, "Stop Loss ATR Multiplier", tooltip="Multiplier for ATR-based stop loss", group=group_strategy) // Reversal Signal Detection (from previous script) group_reversal = "Reversal Detection Settings" lookbackPeriod = input.int(12, "Candle Lookback", group=group_reversal) confirmationPeriod = input.int(3, "Confirm Within", group=group_reversal) enableVolumeConfirmation = input.bool(true, "Use Volume Confirmation", group=group_reversal) group_trend = "Trend Settings" trendMAPeriod = input.int(50, "Trend MA Period", group=group_trend) trendMAType = input.string("EMA", "MA Type", options=["SMA", "EMA", "WMA", "VWMA"], group=group_trend) group_appearance = "Appearance" bullColor = input.color(#00ffbb, "Bullish Color", group=group_appearance) bearColor = input.color(#ff1100, "Bearish Color", group=group_appearance) // Moving Average Selection ma_current = switch trendMAType "SMA" => ta.sma(close, trendMAPeriod) "EMA" => ta.ema(close, trendMAPeriod) "WMA" => ta.wma(close, trendMAPeriod) "VWMA" => ta.vwma(close, trendMAPeriod) // Volume Confirmation volumeIsHigh = volume > ta.sma(volume, 20) // Calculate Reversal Scores bullCandleScore = 0 bearCandleScore = 0 for i = 0 to (lookbackPeriod - 1) bullCandleScore += close < low[i] ? 1 : 0 bearCandleScore += close > high[i] ? 1 : 0 // Reversal Signals bullSignal = bullCandleScore == (lookbackPeriod - 1) and (not enableVolumeConfirmation or volumeIsHigh) bearSignal = bearCandleScore == (lookbackPeriod - 1) and (not enableVolumeConfirmation or volumeIsHigh) // ATR-based Stop Loss and Take Profit atrValue = ta.atr(14) stopLossLevel = stopLossATRMultiplier * atrValue takeProfitLevel = stopLossLevel * riskRewardRatio // Strategy Orders if bullSignal strategy.entry("Long", strategy.long) strategy.exit("Long TP/SL", from_entry="Long", stop=close - stopLossLevel, limit=close + takeProfitLevel) if bearSignal strategy.entry("Short", strategy.short) strategy.exit("Short TP/SL", from_entry="Short", stop=close + stopLossLevel, limit=close - takeProfitLevel) // Plot Reversal Signals plotshape(bullSignal, title="Buy Signal", style=shape.labelup, location=location.belowbar, color=bullColor, size=size.small, text="B") plotshape(bearSignal, title="Sell Signal", style=shape.labeldown, location=location.abovebar, color=bearColor, size=size.small, text="S") // Alerts for trade signals alertcondition(bullSignal, "Bullish Reversal", "Bullish Reversal Signal Detected") alertcondition(bearSignal, "Bearish Reversal", "Bearish Reversal Signal Detected")