یہ حکمت عملی دو کلاسیکی موم بتی کے نمونوں: ہیمر اور ہینگنگ مین پر مبنی ایک مقداری تجارتی نظام ہے۔ یہ ان الٹ پیٹرن کی نشاندہی کرکے ممکنہ مارکیٹ کے موڑ کے مقامات کی پیش گوئی کرتا ہے۔ یہ نظام سگنل کی صداقت کی تصدیق کے لئے متعدد تکنیکی اشارے کو جوڑتا ہے ، بشمول موم بتی کے جسم اور سائے ، رجحان کی سمت اور دیگر عناصر کے مابین تعلق ، مارکیٹ کے الٹ پوائنٹس کی عین مطابق گرفتاری کو حاصل کرتا ہے۔
حکمت عملی کا بنیادی منطق پروگرام کے ذریعے دو اہم موم بتی کے نمونوں کی نشاندہی کرنا ہے: 1. ہتھوڑا: نیچے کے رجحانات میں ظاہر ہوتا ہے ، جو ممکنہ طور پر اوپر کی طرف الٹ جانے کا اشارہ کرتا ہے۔ اس کی خصوصیت ایک چھوٹا جسم ، لمبا نیچے کا سایہ (جسم کی لمبائی سے کم از کم دو گنا) ، اور کم سے کم یا کوئی اوپری سایہ نہیں ہے۔ ہینگنگ مین: اپ ٹرینڈز میں ظاہر ہوتا ہے ، جس سے ممکنہ نیچے کی تبدیلی کا اشارہ ہوتا ہے۔ ہیمر کی طرح کی خصوصیات لیکن مخالف مضمرات کے ساتھ مختلف مقامات پر ظاہر ہوتا ہے۔
حکمت عملی سخت پیرامیٹرز کے ذریعے ان نمونوں کو شمار کرتی ہے ، بشمول: - کم از کم موم بتی جسم کی لمبائی ضارب - کم سایہ شمع کی اونچائی تناسب - ذخیرہ کی مدت
یہ حکمت عملی کلاسیکی تکنیکی تجزیہ نظریہ کو کوانٹیفیکیشن کے ذریعے منظم طریقے سے نافذ کرتی ہے ، جس سے عملی قیمت کا مظاہرہ ہوتا ہے۔ پیرامیٹر کی اصلاح اور رسک کنٹرول میکانزم کی اصلاح کے ذریعے ، حکمت عملی مختلف مارکیٹ کے ماحول میں مستحکم کارکردگی کو برقرار رکھ سکتی ہے۔ ماڈیولر ڈیزائن بعد میں اصلاح کے لئے بھی ٹھوس بنیاد فراہم کرتا ہے۔
/*backtest start: 2024-12-10 00:00:00 end: 2025-01-08 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=6 strategy("Hammer and Hanging Man Strategy", overlay=true) // Input parameters length = input.int(5, title="Minimum Candle Body Length (Multiplier)", minval=1) shadowRatio = input.float(1, title="Lower Shadow to Candle Height Ratio", minval=1.0) holdPeriods = input.int(26, title="Hold Periods (Bars)", minval=1) // Holding period in bars // Function to calculate the absolute value absValue(x) => x >= 0 ? x : -x // Function to check if it is a Hammer isHammer() => bodyLength = absValue(close - open) candleHeight = high - low lowerShadow = math.min(open, close) - low upperShadow = high - math.max(open, close) smallBody = bodyLength <= candleHeight / length longLowerShadow = lowerShadow >= bodyLength * shadowRatio shortUpperShadow = upperShadow <= bodyLength smallBody and longLowerShadow and shortUpperShadow and close > open // Function to check if it is a Hanging Man isHangingMan() => bodyLength = absValue(close - open) candleHeight = high - low lowerShadow = math.min(open, close) - low upperShadow = high - math.max(open, close) smallBody = bodyLength <= candleHeight / length longLowerShadow = lowerShadow >= bodyLength * shadowRatio shortUpperShadow = upperShadow <= bodyLength smallBody and longLowerShadow and shortUpperShadow and close < open // Detect the candles hammer = isHammer() hangingMan = isHangingMan() // Trading logic: Long on Hammer, Short on Hanging Man if hammer strategy.entry("Long", strategy.long) // Long entry on Hammer if hangingMan strategy.entry("Short", strategy.short) // Short entry on Hanging Man // Exit after X bars if strategy.position_size > 0 and bar_index - strategy.opentrades.entry_bar_index(0) >= holdPeriods strategy.close("Long") if strategy.position_size < 0 and bar_index - strategy.opentrades.entry_bar_index(0) >= holdPeriods strategy.close("Short") // Visualization of signals plotshape(hammer, title="Hammer", location=location.belowbar, color=color.green, style=shape.labelup, text="Hammer") plotshape(hangingMan, title="Hanging Man", location=location.abovebar, color=color.red, style=shape.labeldown, text="Hanging Man")