یہ حکمت عملی قیمت کی کارروائی اور متحرک سپورٹ / مزاحمت کی سطح پر مبنی تجارتی نظام ہے ، جب مخصوص موم بتی کے نمونوں کا ظہور ہوتا ہے تو کلیدی قیمت کی سطح کے قریب تجارت انجام دیتا ہے۔ یہ نظام 16 مدت کی متحرک سپورٹ / مزاحمت کے حساب کتاب کے طریقہ کار کا استعمال کرتا ہے ، جس میں مارکیٹ میں ممکنہ الٹ پھیر کو پکڑنے کے لئے چار کلاسیکی الٹ پھیر موم بتی کے نمونوں - ہیمر ، شوٹنگ اسٹار ، ڈوجی ، اور پن بار کے ساتھ مل کر استعمال ہوتا ہے۔ یہ حکمت عملی رسک مینجمنٹ کے لئے مقررہ فیصد منافع اور اسٹاپ نقصان کی سطحوں کا استعمال کرتی ہے اور انٹری سگنل کی سختی کو کنٹرول کرنے کے لئے حساسیت کے پیرامیٹر کا استعمال کرتی ہے۔
اسٹریٹجی کا مرکز قیمت کی نقل و حرکت کی حدود کو قائم کرنے کے لئے متحرک طور پر معاونت اور مزاحمت کی سطحوں کا حساب لگانے میں ہے۔ جب قیمت ان اہم سطحوں کے قریب آتی ہے تو ، سسٹم الٹ سگنل کے طور پر مخصوص موم بتی کے نمونوں کی تلاش کرتا ہے۔ داخلے کی شرائط کے لئے معاونت / مزاحمت کی سطح کے 1.8٪ (ڈیفالٹ حساسیت) کے اندر نمونہ تشکیل کی ضرورت ہوتی ہے۔ سسٹم 16٪ اسٹاپ نقصان اور 9.5٪ منافع کے ساتھ 35 equity ایکویٹی مینجمنٹ اصول کو نافذ کرتا ہے ، جس سے ہر تجارت میں کل ایکویٹی کے تقریبا 5.6٪ پر خطرہ کو مؤثر طریقے سے کنٹرول کیا جاسکتا ہے۔ حکمت عملی مکمل تجارت کے انتظام کی فعالیت اور تصور کے ساتھ پائن اسکرپٹ میں نافذ ہے۔
یہ قیمت کی کارروائی پر مبنی تجارتی حکمت عملی تاجروں کو متحرک سپورٹ / مزاحمت کی سطحوں کو کلاسیکی الٹ پیٹرن کے ساتھ مل کر منظم تجارتی نقطہ نظر فراہم کرتی ہے۔ اس حکمت عملی کی طاقت اس کی واضح منطق اور قابو پانے والے خطرے میں ہے ، حالانکہ اصل تجارتی نتائج کی بنیاد پر مسلسل اصلاح ضروری ہے۔ تاجروں کو مشورہ دیا جاتا ہے کہ وہ براہ راست تجارت سے پہلے مکمل بیک ٹیسٹنگ اور پیرامیٹر کی اصلاح کریں ، اور مارکیٹ کے تجربے کی بنیاد پر حکمت عملی کو اپنی مرضی کے مطابق بنائیں۔
/*backtest start: 2024-11-26 00:00:00 end: 2024-12-03 00:00:00 period: 1h basePeriod: 1h 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=5 strategy("Price Action Strategy", overlay=true) // Settings length = input.int(16, title="Support and Resistance Length") sensitivity = input.float(0.018, title="Sensitivity") // Stop Loss and Take Profit stop_loss_pct = input.float(16, title="Stop Loss percentage", minval=0.1) / 100 take_profit_pct = input.float(9.5, title="Take Profit percentage", minval=0.1) / 100 // Function to identify a Hammer isHammer() => body = close - open price_range = high - low lower_shadow = open - low upper_shadow = high - close body > 0 and lower_shadow > body * 2 and upper_shadow < body * 0.5 and price_range > 0 // Function to identify a Shooting Star isShootingStar() => body = open - close price_range = high - low lower_shadow = close - low upper_shadow = high - open body > 0 and upper_shadow > body * 2 and lower_shadow < body * 0.5 and price_range > 0 // Function to identify a Doji isDoji() => body = close - open price_range = high - low math.abs(body) < (price_range * 0.1) // Doji has a small body // Function to identify a Pin Bar isPinBar() => body = close - open price_range = high - low lower_shadow = open - low upper_shadow = high - close (upper_shadow > body * 2 and lower_shadow < body * 0.5) or (lower_shadow > body * 2 and upper_shadow < body * 0.5) // Support and resistance levels support = ta.lowest(low, length) resistance = ta.highest(high, length) // Entry criteria long_condition = (isHammer() or isDoji() or isPinBar()) and close <= support * (1 + sensitivity) short_condition = (isShootingStar() or isDoji() or isPinBar()) and close >= resistance * (1 - sensitivity) // Function to calculate stop loss and take profit (long) calculate_levels(position_size, avg_price, stop_loss_pct, take_profit_pct) => stop_loss_level = avg_price * (1 - stop_loss_pct) take_profit_level = avg_price * (1 + take_profit_pct) [stop_loss_level, take_profit_level] // Function to calculate stop loss and take profit (short) calculate_levels_short(position_size, avg_price, stop_loss_pct, take_profit_pct) => stop_loss_level = avg_price * (1 + stop_loss_pct) take_profit_level = avg_price * (1 - take_profit_pct) [stop_loss_level, take_profit_level] // Buy entry order with label if (long_condition and strategy.opentrades == 0) strategy.entry("Buy", strategy.long) pattern = isHammer() ? "Hammer" : isDoji() ? "Doji" : isPinBar() ? "Pin Bar" : "" label.new(x=bar_index, y=low, text=pattern, color=color.green, textcolor=color.black, size=size.small) // Sell entry order with label if (short_condition and strategy.opentrades == 0) strategy.entry("Sell", strategy.short) pattern = isShootingStar() ? "Shooting Star" : isDoji() ? "Doji" : isPinBar() ? "Pin Bar" : "" label.new(x=bar_index, y=high, text=pattern, color=color.red, textcolor=color.black, size=size.small) // Stop Loss and Take Profit management for open positions if (strategy.opentrades > 0) if (strategy.position_size > 0) // Long position avg_price_long = strategy.position_avg_price // Average price of long position [long_stop_level, long_take_profit_level] = calculate_levels(strategy.position_size, avg_price_long, stop_loss_pct, take_profit_pct) strategy.exit("Exit Long", from_entry="Buy", stop=long_stop_level, limit=long_take_profit_level) if (strategy.position_size < 0) // Short position avg_price_short = strategy.position_avg_price // Average price of short position [short_stop_level, short_take_profit_level] = calculate_levels_short(strategy.position_size, avg_price_short, stop_loss_pct, take_profit_pct) strategy.exit("Exit Short", from_entry="Sell", stop=short_stop_level, limit=short_take_profit_level) // Visualization of Support and Resistance Levels plot(support, title="Support", color=color.green, linewidth=2) plot(resistance, title="Resistance", color=color.red, linewidth=2)