یہ مضمون موم بتی کے نمونوں پر مبنی ایک رفتار توڑنے والی تجارتی حکمت عملی متعارف کراتا ہے۔ یہ حکمت عملی موم بتی کی تشکیل کو پہچان کر مارکیٹ کے رجحانات اور داخلے کے مواقع کی نشاندہی کرتی ہے۔
مومنٹم بریک آؤٹ کی حکمت عملی بنیادی طور پر مارکیٹ میں داخل ہونے کے لئے بولش نگلنگ پیٹرن یا bearish نگلنگ پیٹرن کی نشاندہی کرکے ممکنہ الٹ سگنلز کا جائزہ لیتی ہے۔ سگنل کی نشاندہی کے بعد ، یہ تیزی سے زیادہ منافع حاصل کرنے کے رجحان کا سراغ لگاتا ہے۔
مومنٹم بریک آؤٹ کی حکمت عملی کا بنیادی منطق گلے لگانے کے نمونوں کی نشاندہی پر مبنی ہے ، بشمول بولش گلے لگانے اور bearish گلے لگانے۔
جب موجودہ مدت کی اختتامی قیمت افتتاحی قیمت سے زیادہ ہوتی ہے ، اور پچھلی مدت کی اختتامی قیمت پچھلی مدت کی افتتاحی قیمت سے کم ہوتی ہے تو ایک تیزی سے گھسنے والا نمونہ بنتا ہے۔ یہ نمونہ اکثر مارکیٹ کے جذبات میں bearish سے bullish میں الٹ جانے کی نشاندہی کرتا ہے ، جس سے یہ اپ ٹرینڈ کا پیچھا کرنے کا ایک اچھا موقع بنتا ہے۔
جب موجودہ مدت کی اختتامی قیمت افتتاحی قیمت سے کم ہوتی ہے اور پچھلی مدت کی اختتامی قیمت پچھلی مدت کی افتتاحی قیمت سے زیادہ ہوتی ہے تو ایک bearish engulfing پیٹرن بنتا ہے۔ اس سے مارکیٹ کے جذبات میں تبدیلی کا اشارہ بھی ہوتا ہے ، جس سے مارکیٹ کو مختصر کرنے کا موقع ملتا ہے۔
ایک گلے لگانے کے نمونہ کی نشاندہی کرنے کے بعد ، رفتار توڑنے کی حکمت عملی ممکنہ الٹ رجحان کو ٹریک کرنے کے لئے تیزی سے زیادہ فائدہ اٹھانے والی پوزیشن قائم کرتی ہے۔ یہ منافع کو مقفل کرتے ہوئے خطرہ کو کنٹرول کرنے کے لئے اسٹاپ نقصان اور منافع کو متحرک طور پر ایڈجسٹ کرتی ہے۔
حکمت عملی کو مندرجہ ذیل طریقوں سے بہتر بنایا جاسکتا ہے:
مومنٹم بریک آؤٹ حکمت عملی ایک عام اوسط ریورسنگ حکمت عملی ہے۔ کلیدی موم بتی سگنلز پر قبضہ کرکے ، یہ تیزی سے مارکیٹ کے رجحان کی تبدیلیوں کا جائزہ لیتا ہے اور ان کا سراغ لگاتا ہے۔ اگرچہ خطرات موجود ہیں ، لیکن حکمت عملی کو مؤثر طریقے سے متعدد اصلاح کی تکنیکوں کے ذریعے بہتر بنایا جاسکتا ہے تاکہ رسک - انعام تناسب کو کنٹرول کیا جاسکے۔ یہ جارحانہ سرمایہ کاروں کے لئے موزوں ہے جو ثالثی جیسے منافع کی تلاش میں ہیں۔
/*backtest start: 2022-11-27 00:00:00 end: 2023-11-09 05:20:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title = "MomGulfing", shorttitle = "MomGulfing", overlay = true, initial_capital=10000, pyramiding=3, calc_on_order_fills=false, calc_on_every_tick=false, currency="USD", default_qty_type=strategy.cash, default_qty_value=1000, commission_type=strategy.commission.percent, commission_value=0.04) syear = input(2021) smonth = input(1) sday = input(1) fyear = input(2022) fmonth = input(12) fday = input(31) start = timestamp(syear, smonth, sday, 01, 00) finish = timestamp(fyear, fmonth, fday, 23, 59) date = time >= start and time <= finish ? true : false longs = input(true) shorts = input(true) rr = input(2.5) position_risk_percent = input(1)/100 signal_bar_check = input.string(defval="3", options=["1", "2", "3"]) margin_req = input(80) sl_increase_factor = input(0.2) tp_decrease_factor = input(0.0) check_for_volume = input(true) var long_sl = 0.0 var long_tp = 0.0 var short_sl = 0.0 var short_tp = 0.0 var long_lev = 0.0 var short_lev = 0.0 initial_capital = strategy.equity position_risk = initial_capital * position_risk_percent bullishEngulfing_st = close[1] < open[1] and close > open and high[1] < close and (check_for_volume ? volume[1]<volume : true) bullishEngulfing_nd = close[2] < open[2] and close[1] > open[1] and close > open and high[2] > close[1] and high[2] < close and (check_for_volume ? volume[2]<volume : true) bullishEngulfing_rd = close[3] < open[3] and close[2] > open[2] and close[1] > open[1] and close > open and high[3] > close[2] and high[3] > close[1] and high[3] < close and (check_for_volume ? volume[3]<volume : true) bullishEngulfing = signal_bar_check == "1" ? bullishEngulfing_st : signal_bar_check == "2" ? bullishEngulfing_st or bullishEngulfing_nd : bullishEngulfing_st or bullishEngulfing_nd or bullishEngulfing_rd long_stop_level = bullishEngulfing_st ? math.min(low[1], low) : bullishEngulfing_nd ? math.min(low[2], low[1], low) : bullishEngulfing_rd ? math.min(low[3], low[2], low[1], low) : na rr_amount_long = close-long_stop_level long_exit_level = close + rr*rr_amount_long long_leverage = math.floor(margin_req/math.floor((rr_amount_long/close)*100)) bearishEngulfing_st = close[1] > open[1] and close < open and low[1] > close and (check_for_volume ? volume[1]<volume : true) bearishEngulfing_nd = close[2] > open[2] and close[1] < open[1] and close < open and low[2] < close[1] and low[2] > close and (check_for_volume ? volume[2]<volume : true) bearishEngulfing_rd = close[3] > open[3] and close[2] < open[2] and close[1] < open[1] and close < open and low[3] < close[2] and low[3] < close[1] and low[3] > close and (check_for_volume ? volume[3]<volume : true) bearishEngulfing = signal_bar_check == "1" ? bearishEngulfing_st : signal_bar_check == "2" ? bearishEngulfing_st or bearishEngulfing_nd : bearishEngulfing_st or bearishEngulfing_nd or bearishEngulfing_rd short_stop_level = bearishEngulfing_st ? math.max(high[1], high) : bearishEngulfing_nd ? math.max(high[2], high[1], high) : bearishEngulfing_rd ? math.max(high[3], high[2], high[1], high) : na rr_amount_short = short_stop_level-close short_exit_level = close - rr*rr_amount_short short_leverage = math.floor(margin_req/math.floor((rr_amount_short/short_stop_level)*100)) long = longs and date and bullishEngulfing short = shorts and date and bearishEngulfing bgcolor(long[1] ? color.new(color.teal, 80) : (short[1] ? color.new(color.purple, 80) : na)) if long and strategy.position_size <= 0 long_lev := long_leverage if short and strategy.position_size >= 0 short_lev := short_leverage long_pos_size = long_lev * position_risk long_pos_qty = long_pos_size/close short_pos_size = short_lev * position_risk short_pos_qty = short_pos_size/close if long if strategy.position_size <= 0 long_sl := long_stop_level long_tp := long_exit_level else if strategy.position_size > 0 long_sl := long_stop_level + sl_increase_factor*rr_amount_long long_tp := long_exit_level - tp_decrease_factor*rr_amount_long strategy.entry("L"+str.tostring(long_lev)+"X", strategy.long, qty=long_pos_qty) label_text = str.tostring(long_lev)+"X\nSL:"+str.tostring(long_sl)+"\nTP:"+str.tostring(long_tp) label.new(bar_index+1, na, text=label_text, color=color.green, style=label.style_label_up, xloc=xloc.bar_index, yloc=yloc.belowbar) else if short if strategy.position_size >= 0 short_sl := short_stop_level short_tp := short_exit_level else if strategy.position_size < 0 short_sl := short_stop_level - sl_increase_factor*rr_amount_short short_tp := short_exit_level + tp_decrease_factor*rr_amount_short strategy.entry("S"+str.tostring(short_lev)+"X", strategy.short, qty=short_pos_qty) label_text = str.tostring(short_lev)+"X\nSL:"+str.tostring(short_sl)+"\nTP:"+str.tostring(short_tp) label.new(bar_index+1, na, text=label_text, color=color.red, style=label.style_label_down, xloc=xloc.bar_index, yloc=yloc.abovebar) if (strategy.position_size > 0) strategy.exit(id="L TP/SL", stop=long_sl, limit=long_tp) if (strategy.position_size < 0) strategy.exit(id="S TP/SL", stop=short_sl, limit=short_tp) sl_level = strategy.position_size > 0 ? long_sl : strategy.position_size < 0 ? short_sl : na plot(sl_level, color=color.red, style=plot.style_linebr) tp_level = strategy.position_size > 0 ? long_tp : strategy.position_size < 0 ? short_tp : na plot(tp_level, color=color.green, style=plot.style_linebr)