مومینٹم بریک آؤٹ ٹریڈنگ حکمت عملی کینڈل سٹک پیٹرن پر مبنی ہے۔


تخلیق کی تاریخ: 2023-11-28 10:33:31 آخر میں ترمیم کریں: 2023-11-28 10:33:31
کاپی: 0 کلکس کی تعداد: 602
1
پر توجہ دیں
1617
پیروکار

مومینٹم بریک آؤٹ ٹریڈنگ حکمت عملی کینڈل سٹک پیٹرن پر مبنی ہے۔

اس مضمون میں ایک متحرک بریک ٹریڈنگ حکمت عملی کا تعارف کیا گیا ہے جو K لائن کی شکل پر مبنی ہے۔ یہ حکمت عملی مارکیٹ کے رجحانات اور داخلے کے اوقات کا اندازہ لگانے کے لئے کنڈلی کی شکل کی نشاندہی کرتی ہے۔

حکمت عملی کا جائزہ

متحرک توڑنے کی حکمت عملی بنیادی طور پر ممکنہ الٹ سگنل کا فیصلہ کرتی ہے ، جس میں کثیر سر نگلنے والی شکل یا فضائی نگلنے والی شکل کی شناخت کے ذریعے میدان میں داخل ہوتا ہے۔ سگنل کی شناخت کے بعد ، تیزی سے رجحان کی پیروی کریں ، اور اضافی آمدنی حاصل کریں۔

حکمت عملی کا اصول

متحرک توڑنے کی حکمت عملی کا بنیادی فیصلہ منطق نگلنے کی شکل کی شناخت پر مبنی ہے۔ نگلنے کی شکل کو کثیر سر نگلنے اور خالی سر نگلنے میں تقسیم کیا گیا ہے۔

کثیر سر گھونٹ اس دن کی اختتامی قیمت کو کھولنے کی قیمت سے زیادہ کہتے ہیں ، اور پچھلی K لائن کی اختتامی قیمت پچھلی K لائن کی افتتاحی قیمت سے کم ہے۔ یہ شکل عام طور پر مارکیٹ کے جذبات میں تبدیلی کی نشاندہی کرتی ہے ، کثیر جگہ کی نفسیات میں الٹ پھیر ہوتا ہے ، لہذا مناسب تعاقب کے لئے اچھا وقت ہے۔

خالی سر گھونٹنا صرف کثیر سر گھونٹنے کے برعکس ہے ، اس کا مطلب ہے کہ اس دن کی اختتامی قیمت کھلنے کی قیمت سے کم ہے ، اور پچھلی K لائن کی اختتامی قیمت پچھلی K لائن کی کھلنے کی قیمت سے زیادہ ہے۔ یہ بھی مارکیٹ کے جذبات میں تبدیلی کی پیش گوئی کرتا ہے ، اور اس وجہ سے خالی سر مداخلت کا موقع بھی ہے۔

اس کے علاوہ ، حکمت عملی اسٹاپ نقصان اور اسٹاپ نقصان کی قیمتوں کو متحرک طور پر ایڈجسٹ کرتی ہے ، منافع کو یقینی بناتے ہوئے خطرے کو سختی سے کنٹرول کرتی ہے۔

اسٹریٹجک فوائد

  1. مارکیٹ میں تیزی سے تبدیلی کا اندازہ لگانا اور ممکنہ مواقع پر قبضہ کرنا
  2. منافع اور خطرے کا موازنہ ، اور اسٹاپ نقصان کی حد مناسب ہے
  3. مختلف خطرے کی ترجیحات کو پورا کرنے کے لئے بیعانہ کی شرح کو ایڈجسٹ کیا جا سکتا ہے
  4. مکمل طور پر خود کار طریقے سے تجارت، زیادہ موثر

اسٹریٹجک رسک

  1. صرف حوالہ کے لئے، مکمل طور پر الٹ نہیں کیا جا سکتا
  2. ریورس ناکامی کا امکان ہے ، ممکنہ طور پر ایک تنگ جھٹکا
  3. بیعانہ کا زیادہ استعمال، پوزیشنوں کو توڑنے کا خطرہ
  4. مناسب پوزیشن کی حمایت کرنے کے لئے کافی فنڈز کی ضرورت ہے

اس کے علاوہ، آپ کو مندرجہ ذیل پہلوؤں میں خطرات کو بہتر بنانے کے لئے استعمال کیا جا سکتا ہے:

  1. دوسرے اشارے کے ساتھ مل کر فلٹر سگنل
  2. لیوریج کو مناسب طریقے سے ایڈجسٹ کرنا
  3. اسٹوریج کے قیام کے اقدامات میں اضافہ ، اوسط لاگت کی قیمتوں میں تقسیم
  4. اسٹاپ نقصان کی حکمت عملی کو بہتر بنائیں اور منافع کو یقینی بنائیں

حکمت عملی کی اصلاح

متحرک توڑنے کی حکمت عملی کو مندرجہ ذیل جہتوں سے بہتر بنایا جاسکتا ہے۔

  1. سگنل کی وشوسنییتا کی کثیر عنصر تصدیق سگنل کی وشوسنییتا کو یقینی بنانے کے لئے ، اوسط لائن ، اتار چڑھاؤ کی شرح اور دیگر اشارے شامل کیے جاسکتے ہیں۔

  2. مارکیٹ کی نفسیات کا اندازہ لگانے کے لئے جذباتی اشارے مارکیٹ میں خوف و ہراس کے اشارے اور لالچ کے اشارے جیسے جذبات کی تشخیص کے اشارے کے ساتھ مل کر ، مارکیٹ کے الٹ جانے کے وقت کا زیادہ درست اندازہ لگایا جاسکتا ہے۔

  3. اسٹاپ نقصان کی حکمت عملی کو بہتر بنائیں منافع کو روکنے کے لئے موزوں ہے کہ موزوں روکنے، آہستہ آہستہ روکنے، موزوں روکنے، وغیرہ کو روکنے کے لۓ واپسی کے خطرے کو کم کرنے کے لۓ.

  4. الگورتھم ٹریڈنگ متعارف کرایا مشین لرننگ جیسے الگورتھم ماڈل ٹریڈنگ سگنل کا اندازہ لگانے اور حکمت عملی کو خودکار بنانے میں معاون ثابت ہوسکتے ہیں۔

خلاصہ کریں۔

متحرک توڑنے کی حکمت عملی مجموعی طور پر ایک زیادہ عام الٹ حکمت عملی ہے۔ یہ کلیدی K لائن سگنل کو پکڑنے ، تیزی سے فیصلہ کرنے اور مارکیٹ کے رجحانات کو پیچھے رکھنے کے ذریعے الٹ جاتی ہے۔ اگرچہ ابھی بھی کچھ خطرہ موجود ہے ، لیکن اس کو متعدد طریقوں سے مؤثر طریقے سے بہتر بنایا جاسکتا ہے ، جس سے منافع کے خطرے کو مناسب حد تک کنٹرول کیا جاسکتا ہے ، جو فعال طور پر آگے بڑھنے والے سرمایہ کاروں کے لئے موزوں ہے۔

حکمت عملی کا ماخذ کوڈ
/*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)