
پہلی آدھی گھنٹہ کی قیمت کی حد سے تجاوز کرنے کی حکمت عملی ایک تجارتی نظام ہے جو وقت کے تجزیے اور قیمت کی حد سے تجاوز کرنے پر مبنی ہے ، خاص طور پر 15 منٹ کے چارٹ پر تجارت کرنے کے لئے ڈیزائن کیا گیا ہے۔ یہ حکمت عملی 30 منٹ کی قیمت کی حد کا استعمال کرتی ہے جو تجارت کی تاریخ سے پہلے تشکیل دی جاتی ہے (09:15-09:44:59) ایک اہم حوالہ کے طور پر ، توڑنے کی جگہ کے بعد تجارت کا تعین کرنے کے لئے۔ حکمت عملی کا بنیادی خیال یہ ہے کہ مارکیٹ کی سمت طے ہونے کے بعد تیزی سے آگے بڑھنے کے لئے ابتدائی اسٹاک کی قیمتوں کی نقل و حرکت کو پکڑنا ، جبکہ ایک ہی دن میں ایک ہی تجارت کی سخت حد کے ذریعے زیادہ تجارت سے بچنے اور مجموعی طور پر جیتنے کی شرح کو بڑھانا۔
اس حکمت عملی میں یہ خیال رکھا گیا ہے کہ مارکیٹ کے ابتدائی حصص پر مبنی قیمتوں کے بینڈ اکثر دن کی اہم حمایت اور مزاحمت کی سطح کی عکاسی کرتے ہیں۔ اس کے نفاذ کے لئے طریقہ کار یہ ہے:
حوالہ جات کی تشکیلسسٹم نگرانی کرتا ہے اور تجارتی دن سے پہلے کے دو 15 منٹ کے K لائنوں ((09:15:00-09:44:59) کے اعداد و شمار کو جمع کرتا ہے ، اس مدت کے دوران اعلی ترین اور کم ترین قیمتوں کو ریکارڈ کرتا ہے ، جس سے “ریفرنس ہائی پوائنٹ” اور “ریفرنس لو پوائنٹ” تشکیل دیا جاتا ہے۔
ٹریڈنگ کی ترتیبات: 09:45K لائن مکمل ہونے کے بعد ، حوالہ جات کو لاک کردیا گیا ہے۔ اگلے تجارتی اوقات کے دوران (بشمول 09: 15-12: 00 اور 13: 00-16: 00) ، حکمت عملی اس سگنل کی تلاش کرتی ہے جس کی قیمت حوالہ جات کو توڑ دے گی۔
داخلے کے قواعد:
کھیل کے قواعد:
ٹریڈنگ سمت کنٹرول:
حکمت عملی کا کوڈ منطقی طور پر سخت ٹائم کنٹرول اور قیمت کے حالات کا پتہ لگانے کے ذریعے ، اس بات کو یقینی بناتا ہے کہ بریک سگنل کو درست طریقے سے پکڑا جائے اور رسک مینجمنٹ کے قواعد پر سختی سے عمل درآمد کیا جائے۔
کوڈ کا گہرائی سے تجزیہ کرنے کے بعد ، اس حکمت عملی کے درج ذیل نمایاں فوائد ہیں:
نظم و ضبط: ہر ٹریڈنگ دن میں صرف ایک ہی تجارت پر عملدرآمد ، زیادہ تجارت اور جذباتی فیصلوں سے بچنے کے لئے ، اور تجارت کی کثرت سے پیدا ہونے والی لاگت اور نفسیاتی دباؤ کو کم کرنے کے لئے موثر ہے۔
قواعد واضح ہیں: داخلہ اور باہر نکلنے کے حالات واضح اور شفاف ہیں ، کسی بھی طرح کے موضوع پر فیصلہ کرنے کی ضرورت نہیں ہے ، جس سے تجارت کے عمل میں ہچکچاہٹ اور غلطیوں کو کم کیا جاسکتا ہے۔
اعلی لچک: trade_direction پیرامیٹر کے ذریعہ ، صارف میکرو رجحانات یا ذاتی تجزیہ کے مطابق کثیر سر ، خالی سر ، یا دو طرفہ تجارت کو برقرار رکھ سکتا ہے ، جس سے حکمت عملی کی موافقت میں اضافہ ہوتا ہے۔
کامل رسک کنٹرول: ہر تجارت میں پہلے سے طے شدہ اسٹاپ نقصان اور روک تھام کا ہدف ہوتا ہے ، اور اس کا رسک ریٹرن واضح ہوتا ہے ، جو طویل مدتی مستحکم فنڈ مینجمنٹ میں معاون ہوتا ہے۔
وقت کی کارکردگیاس حکمت عملی نے مارکیٹ کے ابتدائی حصوں کی اعلی اتار چڑھاؤ اور سمت کی خصوصیات کو بروئے کار لاتے ہوئے ، مارکیٹ کے کھلنے کے بعد پہلے 30 منٹ کے وقفے پر توجہ مرکوز کرکے ، تجارت کی کارکردگی کو بہتر بنایا ہے۔
کوڈ کی ساخت واضح ہے: حکمت عملی کو متغیر ری سیٹ اور شرائط کی جانچ پڑتال کے ذریعہ لاگو کیا جاتا ہے ، جو منطقی طور پر سخت ، سمجھنے اور برقرار رکھنے میں آسان ہے۔
اس حکمت عملی کے معقول ڈیزائن کے باوجود ، مندرجہ ذیل ممکنہ خطرات موجود ہیں:
جعلی دراندازی کا خطرہ: مارکیٹ ریفرنس رینج کو توڑنے کے بعد تیزی سے الٹ سکتی ہے ، جس کی وجہ سے اسٹاپ نقصان کا سبب بنتا ہے۔ اس کا حل تصدیق کے طریقہ کار کو شامل کرنا ہوسکتا ہے ، جیسے کہ قیمت کو توڑنے کے بعد کچھ وقت تک برقرار رکھنے کی ضرورت ہے یا تجارت کو انجام دینے سے پہلے ایک خاص حد کو توڑنا ہے۔
حد سے زیادہ پھیلاؤ کا خطرہ: اگر صبح کے 30 منٹ کے اندر مارکیٹ میں بہت زیادہ اتار چڑھاؤ ہوتا ہے تو ، اس سے روکنے کا فاصلہ بہت زیادہ ہوتا ہے ، جو معقول رسک مینجمنٹ اصولوں کے مطابق نہیں ہوتا ہے۔ زیادہ سے زیادہ رینج کی حد مقرر کرنے پر غور کیا جاسکتا ہے ، یا تاریخی اتار چڑھاؤ کی شرح کے مطابق متحرک طور پر ایڈجسٹ کیا جاسکتا ہے۔
حد سے زیادہ تنگ خطرہاس کے برعکس ، اگر ابتدائی تجارت میں بہت کم اتار چڑھاؤ ہوتا ہے تو ، اس سے اسٹاپ ٹارگٹ انٹری پوائنٹ کے قریب ہوتا ہے ، جس سے تجارت کی لاگت کو پورا کرنا مشکل ہوجاتا ہے۔ اس کا حل کم از کم فاصلہ کی ضرورت کو ترتیب دینا ہے ، یا کم اتار چڑھاؤ والے دن تجارت سے دستبردار ہونا ہے۔
واحد مارکیٹ پر انحصار: حکمت عملی خاص طور پر مخصوص مارکیٹ کے لئے ڈیزائن کی گئی ہے ، جو دوسرے بازاروں یا مختلف مارکیٹ کے حالات میں ناقص کارکردگی کا مظاہرہ کرسکتی ہے۔ درخواست سے پہلے کافی رسپانس اور مارکیٹ کی موافقت کا تجزیہ کرنے کی سفارش کی جاتی ہے۔
فکسڈ رسک ریٹرن تناسب کی حدود: کوڈ میں فکسڈ رسک ریوارڈ استعمال کریں ((risk_reward = 1.0) ، جو مارکیٹ کے مختلف حالات کے مطابق نہیں ہوسکتا ہے۔ مارکیٹ میں اتار چڑھاؤ یا رجحان کی طاقت کے مطابق متحرک ایڈجسٹمنٹ پر غور کیا جاسکتا ہے۔
کوڈ تجزیہ کی بنیاد پر ، اس حکمت عملی کو مندرجہ ذیل سمتوں میں بہتر بنایا جاسکتا ہے۔
متحرک بینڈ ایڈجسٹمنٹ: موجودہ حکمت عملی کا استعمال کرتے ہوئے مقررہ وقت کی کھڑکی ((پہلے 30 منٹ) ٹریڈنگ کے علاقے کا تعین کرنے کے لئے. آپ کو مارکیٹ میں اتار چڑھاؤ کی شرح (جیسے اے ٹی آر اشارے) کے مطابق حوالہ جات کے علاقوں کو متحرک طور پر ایڈجسٹ کرنے کے بارے میں غور کر سکتے ہیں تاکہ وہ مختلف مارکیٹ کے حالات کے مطابق ہو۔
ایک سے زیادہ توثیق کا طریقہ کار: اضافی تکنیکی اشارے یا قیمت کے نمونوں کی تصدیق کا اضافہ ، اگر صرف اس وقت تجارت کی جائے جب بریک کی سمت قلیل مدتی حرکت پذیر اوسط رجحان کے مطابق ہو تو ، جھوٹے بریک کے خطرے کو کم کیا جاسکتا ہے۔
کچھ پوزیشن مینجمنٹکوڈ میں ترمیم کریں تاکہ جزوی اسٹاپ اور جزوی اسٹاپ نقصان کی حکمت عملی کو نافذ کیا جاسکے۔ مثال کے طور پر ، جب منافع کا ایک خاص ہدف حاصل کیا جاتا ہے تو ، پوزیشنوں کا ایک حصہ ختم کردیا جاتا ہے ، اور باقی حص traے کو ٹریکنگ اسٹاپ کے لئے ترتیب دیا جاتا ہے تاکہ رجحان سازی کو زیادہ سے زیادہ پکڑ سکے۔
وقت کا زوالٹائم ڈیسیسی ایشن عنصر کو متعارف کرایا گیا ہے جس کی وجہ سے ٹریڈنگ کے دن کے ساتھ ساتھ ، حکمت عملی میں بریک سگنل کی ضرورت میں اضافہ ہوتا ہے ، کیونکہ عام طور پر ، ابتدائی بریک ٹاپ ٹاپ ٹاپ ٹاپ سے زیادہ معنی خیز ہے۔
ایڈجسٹمنٹ رسک ریٹرن: مارکیٹ کے حالات (جیسے اتار چڑھاؤ ، رجحان کی طاقت) کے مطابق متحرک طور پر رسک ریٹرن تناسب کو ایڈجسٹ کریں ، بجائے اس کے کہ فکسڈ ویلیو استعمال کریں ، جو مختلف مارکیٹ کے حالات کے مطابق بہتر ہے۔
ٹرانزیکشن فلٹر: ٹرانزیکشن کی تصدیق کے طریقہ کار میں اضافہ ، صرف اس صورت میں جب ٹرانزیکشن میں نمایاں اضافہ ہوتا ہے تو اس کی تصدیق کی جاتی ہے ، جس سے جعلی توڑنے کا خطرہ مزید کم ہوتا ہے۔
پہلی آدھی گھنٹہ کی قیمت کی حد کو توڑنے کی حکمت عملی ایک سادہ اور موثر تجارتی نظام ہے جس میں مارکیٹ کے ابتدائی حصے میں قائم کی جانے والی اہم قیمت کی حد کو پکڑنے اور اس کے خلاف ورزیوں کا سراغ لگانے کے ذریعے تجارت پر عمل درآمد کیا جاتا ہے۔ یہ حکمت عملی نظم و ضبط ، واضح قواعد اور سخت خطرے پر قابو پانے پر زور دیتی ہے ، خاص طور پر تاجروں کے لئے موزوں ہے جو نظام سازی کا طریقہ کار تلاش کرتے ہیں۔
اس حکمت عملی کے بنیادی فوائد میں داخلہ اور باہر نکلنے کے واضح قواعد ، ایک ہی دن کی تجارت کی حدود ، اور تجارت کی سمت کی ایڈجسٹ کرنے کے قابل ترجیحات شامل ہیں ، جس کی وجہ سے یہ نظام سازی کی تجارت کی نظم و ضبط کو برقرار رکھنے کے ساتھ ساتھ مارکیٹ کے مختلف حالات کے مطابق ڈھالنے کے لئے کچھ لچک فراہم کرتا ہے۔
اگرچہ جعلی توڑنے کے خطرات اور حدود کی ترتیب کے چیلنج موجود ہیں ، لیکن ان خطرات کو موثر انداز میں کم کیا جاسکتا ہے جس کی تجویز کردہ اصلاح کی سمت ، جیسے متحرک حدود کی ایڈجسٹمنٹ ، ایک سے زیادہ تصدیق کے میکانزم اور خود کار طریقے سے خطرے کا انتظام۔
مجموعی طور پر ، یہ ایک حکمت عملی کا ایک ایسا فریم ورک ہے جو منطقی اور منطقی طور پر ڈیزائن کیا گیا ہے ، جو تاجروں کے لئے مناسب سمجھنے اور مناسب طریقے سے ایڈجسٹ کرنے کے بعد عملی تجارت کے لئے موزوں ہے ، خاص طور پر مارکیٹ کے ابتدائی حصوں کی حرکیات اور سمتوں کو پکڑنے کے لئے۔
/*backtest
start: 2025-06-24 00:00:00
end: 2025-07-12 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/
//@version=6
strategy("HSI1! First 30m Candle Strategy (15m Chart)", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1, calc_on_every_tick=true)
// === CONFIGURATION ===
risk_reward = 1.0
trade_size = 1
// User input to choose direction
trade_direction = input.string("Both", title="Trade Direction", options=["Buy Only", "Sell Only", "Both"])
// === SESSION TIME ===
time_in_session = (time >= timestamp("Asia/Hong_Kong", year, month, dayofmonth, 9, 15) and time <= timestamp("Asia/Hong_Kong", year, month, dayofmonth, 12, 0)) or (time >= timestamp("Asia/Hong_Kong", year, month, dayofmonth, 13, 0) and time <= timestamp("Asia/Hong_Kong", year, month, dayofmonth, 16, 0))
// === FIRST 30-MIN CANDLE AGGREGATION ===
// The first 30m period: 09:15:00 to 09:44:59
start_30m = timestamp("Asia/Hong_Kong", year, month, dayofmonth, 9, 15)
end_30m = timestamp("Asia/Hong_Kong", year, month, dayofmonth, 9, 45)
// Identify the first bar of a new day for reset
curr_ymd = year * 10000 + month * 100 + dayofmonth
var int first_30m_ymd = na
var float first_30m_high = na
var float first_30m_low = na
var bool range_locked = false
// Reset all at the start of a new day
if na(first_30m_ymd) or first_30m_ymd != curr_ymd
first_30m_ymd := curr_ymd
first_30m_high := na
first_30m_low := na
range_locked := false
// If within first 30m window, keep updating highs/lows
if time >= start_30m and time < end_30m
first_30m_high := na(first_30m_high) ? high : math.max(first_30m_high, high)
first_30m_low := na(first_30m_low) ? low : math.min(first_30m_low, low)
// Lock the range after the 09:45 bar starts
if not range_locked and time >= end_30m and not na(first_30m_high) and not na(first_30m_low)
range_locked := true
carry_high = range_locked ? first_30m_high : na
carry_low = range_locked ? first_30m_low : na
// === SINGLE TRADE PER DAY LOGIC ===
var int last_trade_ymd = na
var bool traded_today = false
if na(last_trade_ymd) or last_trade_ymd != curr_ymd
traded_today := false // New day, reset flag
can_trade = time_in_session and not na(carry_high) and not traded_today
// === TRADE ENTRY/EXIT CONDITIONS ===
long_condition = can_trade and strategy.position_size == 0 and high >= carry_high and (trade_direction == "Buy Only" or trade_direction == "Both")
short_condition = can_trade and strategy.position_size == 0 and low <= carry_low and (trade_direction == "Sell Only" or trade_direction == "Both")
stop_long = carry_low
take_long = carry_high + (carry_high - carry_low) * risk_reward
stop_short = carry_high
take_short = carry_low - (carry_high - carry_low) * risk_reward
if long_condition
strategy.entry("Long", strategy.long, qty=trade_size, stop=carry_high)
strategy.exit("TP/SL Long", "Long", stop=stop_long, limit=take_long)
last_trade_ymd := curr_ymd
traded_today := true
if short_condition
strategy.entry("Short", strategy.short, qty=trade_size, stop=carry_low)
strategy.exit("TP/SL Short", "Short", stop=stop_short, limit=take_short)
last_trade_ymd := curr_ymd
traded_today := true
// === PLOTS ===
plot(carry_high, title="First 30m High", color=color.green, linewidth=2, display=display.none)
plot(carry_low, title="First 30m Low", color=color.red, linewidth=2, display=display.none)