یہ حکمت عملی ایک انکولی تجارتی نظام ہے جو قیمت کے محور پوائنٹس کا استعمال کرتے ہوئے معاونت اور مزاحمت کی سطح کی متحرک شناخت پر مبنی ہے۔ یہ حقیقی وقت میں مقامی اونچائیوں اور نچلی سطحوں کا حساب کتاب کرکے اہم قیمت کی سطح کا تعین کرتا ہے اور اس کے مطابق تجارت انجام دیتا ہے۔ بنیادی طاقت اس کی متحرک نوعیت میں پڑی ہے ، جس کی وجہ سے یہ مارکیٹ کی بدلتی ہوئی حالتوں کی بنیاد پر تجارتی پیرامیٹرز کو ایڈجسٹ کرنے کی اجازت دیتا ہے ، جس سے یہ رجحان سازی اور رینجنگ مارکیٹوں دونوں کے لئے موزوں ہے۔
بنیادی منطق کئی اہم عناصر پر مبنی ہے: 1. متحرک محور حساب: مقامی اونچائیوں اور نچلی سطحوں کی نشاندہی کرنے کے لئے سایڈست محور لمبائی پیرامیٹر (ڈیفالٹ 2) کا استعمال کرتا ہے معاونت / مزاحمت کے زون: درست تجارتی علاقوں کی وضاحت کے لئے محور پوائنٹس کے ارد گرد فیصد پر مبنی حدود (ڈیفالٹ 0.4٪) قائم کرتا ہے سگنل جنریشن: جب قیمت سپورٹ سے اوپر ٹوٹ جاتی ہے تو طویل سگنل ، جب قیمت مزاحمت سے نیچے ٹوٹ جاتی ہے تو مختصر سگنل 4۔ رسک مینجمنٹ: اکاؤنٹ کے ایکویٹی پر مبنی پوزیشن سائزنگ کے ساتھ متحرک اسٹاپ نقصان (10٪) اور منافع لینے (27٪) کی سطحوں کو نافذ کرتا ہے
یہ حکمت عملی سخت رسک کنٹرول کے ساتھ مل کر کلیدی قیمتوں کی سطح کی متحرک شناخت کے ذریعے رجحان کی پیروی اور الٹ ٹریڈنگ کے لئے ایک قابل اعتماد فریم ورک فراہم کرتی ہے۔ اگرچہ اس میں کچھ پیرامیٹر حساسیت اور مارکیٹ کے ماحول پر انحصار ظاہر ہوتا ہے ، لیکن مسلسل اصلاح اور اصلاح سے مارکیٹ کے مختلف حالات میں مستقل کارکردگی کا مظاہرہ ممکن ہوتا ہے۔ کامیاب نفاذ کے لئے تاجروں کو اس کے اصولوں کو گہرائی سے سمجھنے اور مخصوص مارکیٹ کی صورتحال کے مطابق پیرامیٹرز کو ایڈجسٹ کرنے کی ضرورت ہوتی ہے۔
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-08 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © felipemiransan //@version=6 strategy("Dynamic Support and Resistance Pivot Strategy ", overlay=true) // Strategy parameters pivot_length = input.int(2, title="Pivot Length", tooltip="Pivot size to identify peaks and troughs") support_resistance_distance = input.float(0.4, title="Support/Resistance Distance %", tooltip="Distance to consider a support or resistance level in %") // Stop Loss and Take Profit parameters stop_loss_pct = input.float(10.0, title="Stop Loss %", tooltip="Stop loss percentage", minval=0.1) / 100 take_profit_pct = input.float(26.0, title="Take Profit %", tooltip="Take profit percentage", minval=0.1) / 100 // Functions to identify high and low pivots pivot_high = ta.pivothigh(high, pivot_length, pivot_length) pivot_low = ta.pivotlow(low, pivot_length, pivot_length) // Storing support and resistance levels var float resistance_level = na var float support_level = na var float last_pivot_high = na var float last_pivot_low = na // Updating support and resistance based on pivots if (not na(pivot_high)) resistance_level := high[pivot_length] last_pivot_high := high[pivot_length] if (not na(pivot_low)) support_level := low[pivot_length] last_pivot_low := low[pivot_length] // Function to check if the current price is near a support or resistance level is_near_resistance = (not na(resistance_level)) and (close >= resistance_level * (1 - support_resistance_distance / 100)) and (close <= resistance_level * (1 + support_resistance_distance / 100)) is_near_support = (not na(support_level)) and (close >= support_level * (1 - support_resistance_distance / 100)) and (close <= support_level * (1 + support_resistance_distance / 100)) // Cross conditions variables long_cross = ta.crossover(close, support_level) and not na(support_level) short_cross = ta.crossunder(close, resistance_level) and not na(resistance_level) // Entry conditions long_condition = is_near_support and long_cross // Buy when crossing support from below short_condition = is_near_resistance and short_cross // Sell when crossing resistance from above // Order execution if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) // Stop Loss and Take Profit if (strategy.opentrades > 0) if (strategy.position_size > 0) // For long position avg_price_long = strategy.position_avg_price long_stop_level = avg_price_long * (1 - stop_loss_pct) long_take_profit_level = avg_price_long * (1 + take_profit_pct) strategy.exit("Exit Long", from_entry="Long", stop=long_stop_level, limit=long_take_profit_level) if (strategy.position_size < 0) // For short position avg_price_short = strategy.position_avg_price short_stop_level = avg_price_short * (1 + stop_loss_pct) short_take_profit_level = avg_price_short * (1 - take_profit_pct) strategy.exit("Exit Short", from_entry="Short", stop=short_stop_level, limit=short_take_profit_level) // Plotting support and resistance levels on the chart plot(support_level, title="Support", color=color.green, linewidth=2, style=plot.style_line) plot(resistance_level, title="Resistance", color=color.red, linewidth=2, style=plot.style_line) // Adding labels to show pivot values if (long_condition and not na(support_level)) label.new(bar_index, low[pivot_length], str.tostring(low[pivot_length]), style=label.style_label_up, color=color.green, textcolor=color.white, size=size.small) if (short_condition and not na(resistance_level)) label.new(bar_index, high[pivot_length], str.tostring(high[pivot_length]), style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small)