
اوپن رینج توڑنے اور فاریکس ٹریڈنگ کی حکمت عملی کے ساتھ فاریکس ٹریڈنگ کی حکمت عملی کا موازنہ کرنے والی ایک حکمت عملی ہے جو اوپن رینج توڑنے اور فاریکس ٹریڈنگ کی حکمت عملی کے ساتھ فاریکس ٹریڈنگ کی حکمت عملی کا موازنہ کرتی ہے اور اسمارٹ فنڈز کے تصورات میں فاریکس ٹریڈنگ کی حکمت عملی کا موازنہ کرتی ہے۔ حکمت عملی سب سے پہلے ٹریڈنگ دن کے آغاز میں قیمت کی حد کی وضاحت کرتی ہے (عام طور پر اوپننگ کے بعد 5 منٹ) ، اور پھر اس صورت حال کی تلاش کرتی ہے جب قیمت اس حد کی حد کو توڑتی ہے اور فاریکس ٹریڈنگ کی حکمت عملی کے ساتھ فاریکس ٹریڈنگ کی حکمت عملی کے ساتھ فاریکس ٹریڈنگ کی حکمت عملی کا موازنہ کرتی ہے) ٹریڈنگ سگنل کے طور پر۔ حکمت عملی دن کے اندر مخصوص وقت کے اندر تجارت کے لئے ڈیزائن کی گئی ہے ، خاص طور پر امریکی مارکیٹ میں معمول کی تجارت کا وقت ، اور خطرے کے انتظام کے طریقہ کار کے ذریعہ ہر تجارت کے خطرے کے حائل کو کنٹرول کرتی ہے۔
اس حکمت عملی کے بنیادی اصول تکنیکی تجزیہ کے دو اہم تصورات پر مبنی ہیں:
اوپن بینڈ توڑ (ORB)- حکمت عملی سب سے پہلے ٹریڈنگ کے دن کے آغاز کے بعد ایک مخصوص وقت کی مدت کے اندر اندر اعلی ترین اور کم ترین قیمتوں کو طے کرتی ہے (ڈیفالٹ 5 منٹ) ، جس سے قیمت کا ایک حد تشکیل دی جاتی ہے۔ اس حد کو مارکیٹ کے شرکاء کے لئے دن کی قیمتوں کی حرکت کا ابتدائی فیصلہ سمجھا جاتا ہے ، جس میں اس حد کو توڑنے سے قلیل مدتی رجحانات کی تشکیل کا اشارہ ہوسکتا ہے۔
منصفانہ قیمت کا فرق (FVG)- سمارٹ فنڈز کے تصور (ایس ایم سی) کے تجزیاتی طریقہ کار سے ، جب موجودہ اونچائی پچھلی اونچائی سے کم ہوتی ہے تو بیعانہ ایف وی جی تشکیل دی جاتی ہے ، اور جب موجودہ اونچائی پچھلی اونچائی سے زیادہ ہوتی ہے تو بیعانہ ایف وی جی تشکیل دی جاتی ہے۔ ان خلاؤں کو ایسے علاقوں کے طور پر سمجھا جاتا ہے جہاں قیمتیں مستقبل میں واپسی کا امکان رکھتی ہیں ، جو مارکیٹ کے ڈھانچے میں عدم توازن کی نمائندگی کرتی ہیں۔
حکمت عملی کے لئے ٹریڈنگ سگنل مندرجہ ذیل شرائط پر مبنی ہے:
جب تجارت کی جاتی ہے تو ، حکمت عملی خطرے پر مبنی پوزیشن مینجمنٹ کا استعمال کرتی ہے ، ہر تجارت کے لئے مخصوص پوزیشن کا سائز اسٹاپ نقصان کے فاصلے پر حساب لگاتا ہے تاکہ اس بات کو یقینی بنایا جاسکے کہ ہر تجارت کا خطرہ ایک جیسی ہے۔ اسٹاپ نقصان ایک سے زیادہ تجارت کے لئے پچھلے نچلے حصے یا ایک سے زیادہ تجارت کے لئے پہلے نچلے حصے پر قائم کیا جاتا ہے ، اور منافع کا ہدف پہلے سے طے شدہ رسک ریٹرن تناسب پر مبنی ہوتا ہے (ڈیفالٹ 2.0) ۔ تمام غیر منقولہ تجارت خود بخود تجارت کے اختتام پر صفائی ہوجاتی ہے ، اس بات کو یقینی بناتی ہے کہ راتوں رات پوزیشن نہیں رکھی جاتی ہے۔
تکنیکی تجزیہ کے مختلف طریقوں کا مجموعہ- ORB اور FVG دونوں تکنیکی تجزیہ کے طریقوں کو مربوط کرکے ، حکمت عملی ممکنہ طور پر کسی ایک اشارے سے پیدا ہونے والے جعلی سگنل کو فلٹر کرنے اور تجارتی سگنل کے معیار کو بہتر بنانے کے قابل ہے۔
واضح ٹائم فریم ورک- حکمت عملی نے تجارت کے وقت کی حد کو واضح طور پر بیان کیا ہے ((سگنل اور تجارتی مدت) ، جس سے تاجروں کو مارکیٹ میں سب سے زیادہ متحرک اور سگنل کے بہترین معیار کے اوقات پر توجہ دینے میں مدد ملتی ہے ، اور کم سرگرمی کے اوقات میں غیر موثر تجارت سے بچنے میں مدد ملتی ہے۔
خطرے پر مبنی پوزیشن مینجمنٹ- حکمت عملی خطرے پر مبنی پوزیشن حساب کے طریقہ کار کو اپناتی ہے ، اس بات کو یقینی بناتی ہے کہ ہر ٹرانزیکشن کا خطرہ اکاؤنٹ کے کل فنڈز کا ایک مساوی تناسب ہے (ڈیفالٹ 1٪) ، جو طویل مدتی فنڈ مینجمنٹ اور خطرے پر قابو پانے میں مددگار ہے۔
لچکدار پیرامیٹرز ترتیب- حکمت عملی میں متعدد ایڈجسٹ پیرامیٹرز فراہم کیے گئے ہیں ، بشمول ٹریڈنگ ٹائم سیٹ ، او آر بی کی مدت ، سگنل مدت ، رسک تناسب اور رسک ریٹرن ریٹ وغیرہ ، تاجر کو مختلف مارکیٹوں اور ذاتی خطرے کی ترجیحات کے مطابق بہتر بنانے کی اجازت دیتا ہے۔
بصری معاون- حکمت عملی میں ORB کی افقی لائنوں ، تجارتی سگنل کی نشاندہی ، مختلف تجارتی اوقات کے لئے پس منظر کی چمک اور حقیقی وقت کے اعدادوشمار کی میزیں شامل ہیں۔ اس سے تاجروں کو حکمت عملی پر عملدرآمد کی نگرانی اور تجزیہ کرنے میں مدد ملتی ہے۔
کثیر جہتی انتظام کی حمایت کریں- حکمت عملی ڈیزائن ایک ہی وقت میں ایک سے زیادہ تجارتی پوزیشن رکھنے کی حمایت کرتا ہے ((پیرامائڈنگ پیرامیٹرز کنٹرول کے ذریعے) ، جس سے ایک ہی تجارتی دن میں متعدد تجارتی مواقع کو پکڑنے اور فنڈز کے استعمال کی کارکردگی کو بہتر بنایا جاسکتا ہے۔
مخصوص مارکیٹ پر انحصار- یہ حکمت عملی بنیادی طور پر امریکی اسٹاک مارکیٹ میں باقاعدہ ٹریڈنگ کے اوقات کے لئے ڈیزائن کی گئی ہے ، جو دوسرے بازاروں یا ٹریڈنگ کے اوقات میں خراب اثر انداز ہوسکتی ہے۔ مختلف مارکیٹوں میں کھلنے کی خصوصیات اور اتار چڑھاؤ کے نمونوں میں بہت زیادہ فرق ہے ، جس کے لئے مناسب ایڈجسٹمنٹ پیرامیٹرز کی ضرورت ہے۔
پیرامیٹر کی حساسیت- حکمت عملی کی کارکردگی متعدد اہم پیرامیٹرز جیسے ORB کی مدت ، سگنل کی مدت اور رسک ریٹرن ریٹ جیسے حساس ہے۔ غلط پیرامیٹرز کی ترتیب سے زیادہ تجارت ہوسکتی ہے یا اہم تجارتی مواقع سے محروم ہوسکتی ہے۔
مارکیٹ کی حالت پر انحصار- اعلی اتار چڑھاؤ یا کم اتار چڑھاؤ والے بازار کے ماحول میں ، حکمت عملی کی کارکردگی متضاد ہوسکتی ہے۔ خاص طور پر کم اتار چڑھاؤ والے بازاروں میں ، ORBs کی حد بہت تنگ ہوسکتی ہے ، جس کے نتیجے میں اکثر جھوٹے بریک سگنل کو متحرک کیا جاتا ہے۔
سٹاپ نقصان کا خطرہ- حکمت عملی کا استعمال کرتے ہوئے پچھلے پتھر کی اونچائی / کم کے طور پر سٹاپ نقصان کی پوزیشن، تیزی سے مارکیٹ میں اس کی وجہ سے ہو سکتا ہے کہ سٹاپ نقصان کی پوزیشن بہت وسیع، جس سے خطرے کی واپسی کا تناسب کم یا نتیجے میں بہت چھوٹی پوزیشن سائز.
تاریخی قیمتوں پر انحصار- حکمت عملی کا خیال ہے کہ ایف وی جی علاقوں اور او آر بی میں توڑنے کی پیش گوئی کے معنی ہیں ، لیکن مارکیٹ کی کارکردگی میں اضافہ یا تجارتی ماحول میں تبدیلی ان طریقوں کی تاثیر کو کمزور کرسکتی ہے۔
تکنیکی عملدرآمد کے خطرات- اصل ٹرانزیکشنز میں ، ممکنہ طور پر سلائڈ پوائنٹس ، آرڈر پر عملدرآمد میں تاخیر جیسے مسائل کا سامنا کرنا پڑ سکتا ہے ، جس سے اصل ٹرانزیکشن کے نتائج اور ریٹرننگ کے نتائج کی مستقل مزاجی متاثر ہوتی ہے۔
متحرک ORB مدت- مارکیٹ میں اتار چڑھاؤ کے مطابق ORB کی مدت کو خود بخود ایڈجسٹ کرنے پر غور کیا جاسکتا ہے۔ مثال کے طور پر ، اعلی اتار چڑھاؤ والے مارکیٹ کے ماحول میں ، جعلی توڑ سے بچنے کے لئے طویل ORB وقت کا استعمال کریں ، اور کم اتار چڑھاؤ والے ماحول میں ORB وقت کو کم کریں تاکہ زیادہ سے زیادہ تجارتی مواقع کو پکڑ سکیں۔
فلٹرنگ شرائط شامل کریں- اضافی فلٹرنگ شرائط متعارف کرانے سے سگنل کے معیار کو بہتر بنایا جاسکتا ہے ، جیسے کہ مجموعی مارکیٹ رجحان کی سمت کے ساتھ مل کر ((صرف بڑھتے ہوئے رجحان میں زیادہ کام کریں ، گرنے والے رجحان میں خالی کریں) ، یا ٹرانزیکشن کی تصدیق شامل کریں ((صرف اس وقت تجارت کریں جب ٹرانزیکشن میں اضافے کے ساتھ ٹرانزیکشن ہو۔)
سٹاپ نقصان کی پوزیشن کو بہتر بنائیں- اے ٹی آر یا اتار چڑھاؤ کی بنیاد پر متحرک اسٹاپ نقصان کی ترتیب کو استعمال کرنے پر غور کریں ، جو پہلے کی اونچائی اور نچلی سطح پر مبنی فکسڈ اسٹاپ کے موجودہ طریقہ کار کی جگہ لے لے ، جو زیادہ معقول خطرے کا کنٹرول فراہم کرسکتا ہے۔
کچھ منافع بخش میکانزم شامل کریں- مرحلہ وار منافع بخش حکمت عملی کا نفاذ ، جیسے کہ 1: 1 رسک ریٹرن تناسب پر پہنچنے پر کچھ پوزیشنوں کو ختم کرنا ، اور بقیہ کو روکنے کے نقصانات یا اس سے زیادہ دور منافع بخش اہداف کا تعین کرنا ، تاکہ منافع کو روکنے اور رجحانات کی پیروی کرنے کی ضرورت کو متوازن کیا جاسکے۔
وقت کا فلٹر- ٹائم فلٹرز کو شامل کریں اور معروف کم معیار کے ٹرانزیکشن کے اوقات سے بچیں ، جیسے دوپہر کے کھانے کے وقت کم اتار چڑھاؤ یا اہم معاشی اعداد و شمار کے اجراء سے پہلے اور بعد میں اعلی اتار چڑھاؤ۔
اپنانے کے پیرامیٹرز میں اضافہ- موافقت پذیر پیرامیٹرز متعارف کروائے گئے ہیں تاکہ حکمت عملی حالیہ مارکیٹ کی کارکردگی کے مطابق خود بخود پیرامیٹرز کو ایڈجسٹ کرسکے ، جیسے کہ متحرک طور پر ایڈجسٹ شدہ رسک ریٹرن ریٹ یا حالیہ جیت کی شرح کے مطابق خطرہ فی صد۔
اوپن باؤنڈ بریک اور فیئر ویلیو گیپ کے ساتھ مل کر حکمت عملی ایک اچھی طرح سے ڈیزائن کیا گیا دن کے اندر تجارت کا نظام ہے جو ORB اور FVG دونوں تکنیکی تجزیہ کے طریقوں کو ملا کر اعلی امکانات کے تجارتی مواقع کی تلاش کرتا ہے۔ یہ حکمت عملی واضح طور پر طے شدہ تجارتی اوقات کے اندر کام کرتی ہے ، خطرے پر مبنی پوزیشن مینجمنٹ کے طریقہ کار کو اپناتی ہے ، اور تجارتی فیصلے میں معاون بصری اور اعدادوشمار کے وسائل فراہم کرتی ہے۔
حکمت عملی کے اہم فوائد اس کی واضح تجارتی منطق ، لچکدار پیرامیٹرز کی ترتیب اور جامع رسک مینجمنٹ میکانزم میں ہیں۔ تاہم ، حکمت عملی کو مارکیٹ پر انحصار ، پیرامیٹرز کی حساسیت اور مارکیٹ کی حالت پر انحصار جیسے خطرات کا بھی سامنا کرنا پڑتا ہے۔ حکمت عملی کی استحکام کو بڑھانے کے لئے ، یہ تجویز کی جاتی ہے کہ متحرک پیرامیٹرز کو ایڈجسٹ کرنے ، فلٹرنگ شرائط میں اضافہ کرنے ، اسٹاپ نقصان کے طریقوں کو بہتر بنانے اور سیکشنل منافع بخش میکانزم کو نافذ کرنے جیسے اصلاحی سمتوں پر غور کیا جائے۔
یہ بات نوٹ کی جائے کہ یہ حکمت عملی تمام مارکیٹ کے حالات اور تمام تجارتی اقسام کے لئے موزوں نہیں ہے۔ تاجر کو عملی طور پر لاگو کرنے سے پہلے کافی بیک اپ اور فارورڈ ٹیسٹ کرنا چاہئے تاکہ اس بات کو یقینی بنایا جاسکے کہ حکمت عملی ان کے خطرے کی ترجیحات اور تجارتی اہداف کے مطابق ہے۔ مارکیٹ میں تبدیلی کو مستقل طور پر بہتر بنانے اور ان کو اپنانے کے ذریعہ ، اس حکمت عملی میں دن کے تاجروں کے ٹول کٹ میں ایک موثر آلہ بننے کی صلاحیت ہے۔
/*backtest
start: 2025-06-18 00:00:00
end: 2025-06-25 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
// Based on https://www.youtube.com/watch?v=mzFXoK2pbNE
//@version=5
strategy("[Myth Busting] [ORB] Casper SMC - 16 Jun", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, pyramiding = 10)
// Input settings
show_orb = input.bool(true, "Show 5m Opening Range")
show_signals = input.bool(true, "Show FVG Intersection Signals")
show_stats = input.bool(true, "Show Statistics Table")
risk_per_trade = input.float(1.0, "Risk Per Trade (%)", minval=0.1, maxval=10.0, step=0.1)
use_stop_loss = input.bool(true, "Use Stop Loss")
use_take_profit = input.bool(true, "Use Take Profit")
risk_reward_ratio = input.float(2.0, "Risk:Reward Ratio", minval=1.0, step=0.1)
// Session time inputs
session_start_hour = input.int(9, "Session Start Hour", minval=0, maxval=23, group="Session Settings")
session_start_minute = input.int(30, "Session Start Minute", minval=0, maxval=59, group="Session Settings")
session_end_hour = input.int(16, "Session End Hour", minval=0, maxval=23, group="Session Settings")
session_end_minute = input.int(0, "Session End Minute", minval=0, maxval=59, group="Session Settings")
session_timezone = input.string("America/New_York", "Session Timezone", group="Session Settings")
orb_duration_minutes = input.int(5, "ORB Duration (Minutes)", minval=1, maxval=60, group="Session Settings")
signal_end_offset = input.int(90, "Signal Period Duration (Minutes)", minval=30, maxval=300, group="Session Settings")
// Style settings
orb_high_color = input.color(color.new(color.green, 50), "ORB High Color")
orb_low_color = input.color(color.new(color.red, 50), "ORB Low Color")
bullish_signal_color = input.color(color.green, "Bullish Signal Color")
bearish_signal_color = input.color(color.red, "Bearish Signal Color")
// Variables to store ORB levels
var float orb_high = na
var float orb_low = na
var int orb_start_time = na
var int orb_end_time = na
var bool orb_set = false
// Position tracking
var int position_counter = 0
var int active_positions = 0
// Function to get current time in specified timezone
get_session_time() =>
current_hour = hour(time, session_timezone)
current_minute = minute(time, session_timezone)
current_hour * 60 + current_minute
// Calculate session times in minutes
session_start_minutes = session_start_hour * 60 + session_start_minute
session_end_minutes = session_end_hour * 60 + session_end_minute
orb_end_minutes = session_start_minutes + orb_duration_minutes
signal_end_minutes = session_start_minutes + signal_end_offset
// Check if we're in the ORB period
is_orb_period() =>
current_time = get_session_time()
current_time >= session_start_minutes and current_time < orb_end_minutes
// Check if we're in the signal period
is_signal_period() =>
current_time = get_session_time()
current_time >= orb_end_minutes and current_time < signal_end_minutes
// Check if we're in the overall trading session
is_trading_session() =>
current_time = get_session_time()
current_time >= session_start_minutes and current_time < session_end_minutes
// Reset ORB at the start of each trading session
new_session = is_trading_session() and not is_trading_session()[1]
if new_session or ta.change(dayofweek)
orb_high := na
orb_low := na
orb_start_time := na
orb_end_time := na
orb_set := false
position_counter := 0
// Capture ORB levels during the ORB period
if is_orb_period()
if na(orb_high) or na(orb_low)
orb_high := high
orb_low := low
orb_start_time := time
else
orb_high := math.max(orb_high, high)
orb_low := math.min(orb_low, low)
orb_end_time := time
// Mark ORB as set after the period ends
if not is_orb_period() and not na(orb_high) and not orb_set
orb_set := true
// Fair Value Gap detection
bullish_fvg = high[2] < low and not na(orb_high)
bearish_fvg = low[2] > high and not na(orb_low)
// Check for FVG intersection with ORB boundaries during signal period
bullish_intersection = false
bearish_intersection = false
// Count active positions
active_positions := strategy.opentrades
if is_signal_period() and orb_set
// Bullish FVG intersecting upper boundary
if bullish_fvg
if open[1] <= orb_high and close[1] >= orb_high
bullish_intersection := true
// Bearish FVG intersecting lower boundary
if bearish_fvg
if open[1] >= orb_low and close[1] <= orb_low
bearish_intersection := true
// Calculate position size based on risk per trade
calculate_position_size(entry, stop, is_long) =>
risk_amount = strategy.equity * (risk_per_trade / 100)
price_diff = is_long ? entry - stop : stop - entry
position_size = risk_amount / price_diff
position_size
// Strategy execution - Modified for multiple positions
if bullish_intersection
position_counter += 1
entry_price = close
stop_loss_price = low[1]
risk = entry_price - stop_loss_price
take_profit_price = entry_price + (risk * risk_reward_ratio)
// Calculate position size
qty = calculate_position_size(entry_price, stop_loss_price, true)
// Create unique entry ID
entry_id = "Long_" + str.tostring(position_counter)
exit_id = "LongExit_" + str.tostring(position_counter)
// Enter long position
strategy.entry(entry_id, strategy.long, qty=qty)
// Set stop loss and take profit
if use_stop_loss
strategy.exit(exit_id, entry_id, stop=stop_loss_price, limit=use_take_profit ? take_profit_price : na)
if bearish_intersection
position_counter += 1
entry_price = close
stop_loss_price = high[1]
risk = stop_loss_price - entry_price
take_profit_price = entry_price - (risk * risk_reward_ratio)
// Calculate position size
qty = calculate_position_size(entry_price, stop_loss_price, false)
// Create unique entry ID
entry_id = "Short_" + str.tostring(position_counter)
exit_id = "ShortExit_" + str.tostring(position_counter)
// Enter short position
strategy.entry(entry_id, strategy.short, qty=qty)
// Set stop loss and take profit
if use_stop_loss
strategy.exit(exit_id, entry_id, stop=stop_loss_price, limit=use_take_profit ? take_profit_price : na)
// Close all positions at end of trading session
if not is_trading_session() and strategy.position_size != 0
strategy.close_all("End of Trading Session")
// Plot ORB levels
plot(show_orb and orb_set ? orb_high : na, "ORB High", color=orb_high_color, linewidth=2, style=plot.style_line)
plot(show_orb and orb_set ? orb_low : na, "ORB Low", color=orb_low_color, linewidth=2, style=plot.style_line)
// Plot intersection signals
plotshape(series=show_signals and bullish_intersection, title="Bullish FVG Intersection", style=shape.triangleup, location=location.belowbar, color=bullish_signal_color, size=size.normal)
plotshape(series=show_signals and bearish_intersection, title="Bearish FVG Intersection", style=shape.triangledown, location=location.abovebar, color=bearish_signal_color, size=size.normal)
// Background highlights for different session periods
bgcolor(is_orb_period() ? color.new(color.yellow, 90) : na, title="ORB Period")
bgcolor(is_signal_period() and orb_set ? color.new(color.blue, 95) : na, title="Signal Period")
bgcolor(is_trading_session() and not is_signal_period() and not is_orb_period() ? color.new(color.gray, 98) : na, title="Trading Session")
// Plot session boundaries
plot(is_trading_session() ? high : na, "Session High", color=color.new(color.orange, 80), linewidth=1)
plot(is_trading_session() ? low : na, "Session Low", color=color.new(color.orange, 80), linewidth=1)