یہ حکمت عملی متعدد کلیدی قیمتوں کی سطحوں پر مبنی ایک بریک آؤٹ ٹریڈنگ سسٹم ہے۔ یہ بنیادی طور پر چھ اہم قیمتوں کی سطحوں پر نظر رکھتا ہے: دن کی اونچائی (HOD) ، دن کی کم (LOD) ، پری مارکیٹ ہائی (PMH) ، پری مارکیٹ لو (PML) ، پچھلے دن کی اونچائی (PDH) ، اور پچھلے دن کی کم (PDL) ۔ یہ نظام ان سطحوں کی قیمتوں کے بریک آؤٹ کے ذریعے تجارتی سگنل تیار کرتا ہے اور قیمتوں کے کراس اوورز کی بنیاد پر خود بخود تجارت انجام دیتا ہے۔
بنیادی منطق میں کئی اہم اجزاء شامل ہیں:
اس حکمت عملی میں مارکیٹ کے مواقع کی نگرانی اور متعدد کلیدی قیمتوں کی سطحوں کا استعمال کرتے ہوئے ، واضح منطق اور اعلی آٹومیشن کی خصوصیت ہے۔ تاہم ، اس میں کچھ خطرات بھی شامل ہیں جن کو تکنیکی اشارے فلٹرز اور بہتر رسک مینجمنٹ میکانزم کے ذریعے حل کرنے کی ضرورت ہے۔ اس حکمت عملی کا بنیادی فائدہ اس کے کثیر جہتی قیمت حوالہ نظام میں ہے ، جو مارکیٹ کے رجحانات کو بہتر طریقے سے پکڑنے کے قابل بناتا ہے ، لیکن عملی اطلاق میں مختلف مارکیٹ کے حالات کی بنیاد پر مخصوص پیرامیٹر ایڈجسٹمنٹ کی ضرورت ہے۔
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-04 08: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/ // © tradingbauhaus //@version=6 strategy("HOD/LOD/PMH/PML/PDH/PDL Strategy by tradingbauhaus ", shorttitle="HOD/LOD Strategy", overlay=true) // Daily high and low dailyhigh = request.security(syminfo.tickerid, 'D', high) dailylow = request.security(syminfo.tickerid, 'D', low) // Previous day high and low var float previousdayhigh = na var float previousdaylow = na high1 = request.security(syminfo.tickerid, 'D', high[1]) low1 = request.security(syminfo.tickerid, 'D', low[1]) high0 = request.security(syminfo.tickerid, 'D', high[0]) low0 = request.security(syminfo.tickerid, 'D', low[0]) // Yesterday high and low if (hour == 9 and minute > 30) or hour > 10 previousdayhigh := high1 previousdaylow := low1 else previousdayhigh := high0 previousdaylow := low0 // Premarket high and low t = time("1440", "0000-0930") // 1440 is the number of minutes in a whole day. is_first = na(t[1]) and not na(t) or t[1] < t ending_hour = 9 ending_minute = 30 var float pm_high = na var float pm_low = na if is_first and barstate.isnew and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute)) pm_high := high pm_low := low else pm_high := pm_high[1] pm_low := pm_low[1] if high > pm_high and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute)) pm_high := high if low < pm_low and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute)) pm_low := low // Plotting levels plot(dailyhigh, style=plot.style_line, title="Daily high", color=color.white, linewidth=1, trackprice=true) plot(dailylow, style=plot.style_line, title="Daily low", color=color.purple, linewidth=1, trackprice=true) plot(previousdayhigh, style=plot.style_line, title="Previous Day high", color=color.orange, linewidth=1, trackprice=true) plot(previousdaylow, style=plot.style_line, title="Previous Day low", color=color.blue, linewidth=1, trackprice=true) plot(pm_high, style=plot.style_line, title="Premarket high", color=color.green, linewidth=1, trackprice=true) plot(pm_low, style=plot.style_line, title="Premarket low", color=color.red, linewidth=1, trackprice=true) // Strategy logic // Long entry: Price crosses above PMH or PDH if (ta.crossover(close, pm_high) or ta.crossover(close, previousdayhigh)) and strategy.opentrades == 0 strategy.entry("Long", strategy.long) // Short entry: Price crosses below PML or PDL if (ta.crossunder(close, pm_low) or ta.crossunder(close, previousdaylow)) and strategy.opentrades == 0 strategy.entry("Short", strategy.short) // Exit long: Price reaches HOD if strategy.position_size > 0 and ta.crossover(close, dailyhigh) strategy.close("Long") // Exit short: Price reaches LOD if strategy.position_size < 0 and ta.crossunder(close, dailylow) strategy.close("Short")