
اس مضمون میں ایک متحرک بریک ٹریڈنگ حکمت عملی کا تعارف کیا گیا ہے جو K لائن کی شکل پر مبنی ہے۔ یہ حکمت عملی مارکیٹ کے رجحانات اور داخلے کے اوقات کا اندازہ لگانے کے لئے کنڈلی کی شکل کی نشاندہی کرتی ہے۔
متحرک توڑنے کی حکمت عملی بنیادی طور پر ممکنہ الٹ سگنل کا فیصلہ کرتی ہے ، جس میں کثیر سر نگلنے والی شکل یا فضائی نگلنے والی شکل کی شناخت کے ذریعے میدان میں داخل ہوتا ہے۔ سگنل کی شناخت کے بعد ، تیزی سے رجحان کی پیروی کریں ، اور اضافی آمدنی حاصل کریں۔
متحرک توڑنے کی حکمت عملی کا بنیادی فیصلہ منطق نگلنے کی شکل کی شناخت پر مبنی ہے۔ نگلنے کی شکل کو کثیر سر نگلنے اور خالی سر نگلنے میں تقسیم کیا گیا ہے۔
کثیر سر گھونٹ اس دن کی اختتامی قیمت کو کھولنے کی قیمت سے زیادہ کہتے ہیں ، اور پچھلی K لائن کی اختتامی قیمت پچھلی K لائن کی افتتاحی قیمت سے کم ہے۔ یہ شکل عام طور پر مارکیٹ کے جذبات میں تبدیلی کی نشاندہی کرتی ہے ، کثیر جگہ کی نفسیات میں الٹ پھیر ہوتا ہے ، لہذا مناسب تعاقب کے لئے اچھا وقت ہے۔
خالی سر گھونٹنا صرف کثیر سر گھونٹنے کے برعکس ہے ، اس کا مطلب ہے کہ اس دن کی اختتامی قیمت کھلنے کی قیمت سے کم ہے ، اور پچھلی K لائن کی اختتامی قیمت پچھلی K لائن کی کھلنے کی قیمت سے زیادہ ہے۔ یہ بھی مارکیٹ کے جذبات میں تبدیلی کی پیش گوئی کرتا ہے ، اور اس وجہ سے خالی سر مداخلت کا موقع بھی ہے۔
اس کے علاوہ ، حکمت عملی اسٹاپ نقصان اور اسٹاپ نقصان کی قیمتوں کو متحرک طور پر ایڈجسٹ کرتی ہے ، منافع کو یقینی بناتے ہوئے خطرے کو سختی سے کنٹرول کرتی ہے۔
اس کے علاوہ، آپ کو مندرجہ ذیل پہلوؤں میں خطرات کو بہتر بنانے کے لئے استعمال کیا جا سکتا ہے:
متحرک توڑنے کی حکمت عملی کو مندرجہ ذیل جہتوں سے بہتر بنایا جاسکتا ہے۔
سگنل کی وشوسنییتا کی کثیر عنصر تصدیق سگنل کی وشوسنییتا کو یقینی بنانے کے لئے ، اوسط لائن ، اتار چڑھاؤ کی شرح اور دیگر اشارے شامل کیے جاسکتے ہیں۔
مارکیٹ کی نفسیات کا اندازہ لگانے کے لئے جذباتی اشارے مارکیٹ میں خوف و ہراس کے اشارے اور لالچ کے اشارے جیسے جذبات کی تشخیص کے اشارے کے ساتھ مل کر ، مارکیٹ کے الٹ جانے کے وقت کا زیادہ درست اندازہ لگایا جاسکتا ہے۔
اسٹاپ نقصان کی حکمت عملی کو بہتر بنائیں منافع کو روکنے کے لئے موزوں ہے کہ موزوں روکنے، آہستہ آہستہ روکنے، موزوں روکنے، وغیرہ کو روکنے کے لۓ واپسی کے خطرے کو کم کرنے کے لۓ.
الگورتھم ٹریڈنگ متعارف کرایا مشین لرننگ جیسے الگورتھم ماڈل ٹریڈنگ سگنل کا اندازہ لگانے اور حکمت عملی کو خودکار بنانے میں معاون ثابت ہوسکتے ہیں۔
متحرک توڑنے کی حکمت عملی مجموعی طور پر ایک زیادہ عام الٹ حکمت عملی ہے۔ یہ کلیدی 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)