پوائنٹ سٹاپ نقصان اور ٹیک پرافٹ پر مبنی ٹریلنگ اسٹاپ نقصان کی حکمت عملی


تخلیق کی تاریخ: 2024-01-11 11:04:57 آخر میں ترمیم کریں: 2024-01-11 11:04:57
کاپی: 0 کلکس کی تعداد: 695
1
پر توجہ دیں
1617
پیروکار

پوائنٹ سٹاپ نقصان اور ٹیک پرافٹ پر مبنی ٹریلنگ اسٹاپ نقصان کی حکمت عملی

جائزہ

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

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

جب ای ایم اے نیچے سے اوپر کی طرف سے ڈبلیو ایم اے کو توڑتا ہے تو کثیر سگنل پیدا ہوتا ہے۔ جب ای ایم اے اوپر سے نیچے کی طرف سے ڈبلیو ایم اے کو توڑتا ہے تو ، خالی سگنل پیدا ہوتا ہے۔ پوزیشن میں آنے کے بعد ، اصل وقت میں داخلے کی پوزیشن کا حساب لگایا جاتا ہے ، اور اس کی بنیاد پر اسٹاپ نقصان اور اسٹاپ کا تعین کیا جاتا ہے۔ مثال کے طور پر ، اسٹاپ نقصان 20 ، اسٹاپ نقصان 100 ، پھر اس کی مخصوص اسٹاپ نقصان کی قیمت داخلے کی قیمت سے 20 پوائنٹس کم ہوگی*معاہدے کی قیمت، اسٹاپ قیمت 100 پوائنٹس کے ساتھ شروع کی قیمت ہے*معاہدے کی قیمت ◄ اس طرح خطرے اور منافع کو کنٹرول ◄

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

طاقت کا تجزیہ

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

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

خطرے کا تجزیہ

اس حکمت عملی کا خطرہ بنیادی طور پر ای ایم اے اور ڈبلیو ایم اے دونوں اشارے سے آتا ہے۔ جب مارکیٹ میں شدید تبدیلی آتی ہے تو ، وہ اکثر غلط سگنل دیتے ہیں ، اور آسانی سے بند ہوجاتے ہیں۔ اس وقت ، مناسب طور پر اسٹاپ پوائنٹس کو نرمی کرنے کی سفارش کی جاتی ہے ، یا دوسرے اشارے کے مجموعے کو تبدیل کرنے پر غور کیا جاسکتا ہے۔

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

اصلاح کی سمت

اس حکمت عملی کو مندرجہ ذیل طریقوں سے بہتر بنایا جاسکتا ہے:

  1. EMA اور WMA کے مختلف پیرامیٹرز کے مجموعے کی جانچ کرنا تاکہ بہترین پیرامیٹرز کو تلاش کیا جاسکے۔
  2. دوسرے اشارے ، جیسے MACD ، KDJ ، کو تبدیل کرنے یا ان کے ساتھ مل کر آزمائیں ، اور دیکھیں کہ کیا اس سے جیت کی شرح میں اضافہ ہوسکتا ہے۔
  3. مختلف سٹاپ نقصان اور سٹاپ لنگ پوائنٹس کے خطرے کے فوائد کا اندازہ لگانا اور ان میں سے بہترین کو ایڈجسٹ کرنا؛
  4. مختلف اقسام کی خصوصیات کا مطالعہ کریں اور مختلف مارکیٹوں کے لئے پیرامیٹرز کو ایڈجسٹ کریں؛
    1. مشین لرننگ الگورتھم میں شامل ہونا ، پیرامیٹرز کی متحرک اصلاح کے لئے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-03 00:00:00
end: 2024-01-10 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// inspiration script from: @ahmad_naquib
// inspiration script link: https://www.tradingview.com/script/tGTV8MkY-Two-Take-Profits-and-Two-Stop-Loss/
// inspiration strategy script name: Two Take Profits and Two Stop Loss


////////////
// Do not use this strategy, it's just an exmaple !! The goal from this script is to show you TP and SL based on PIPS
////////////


//@version=5
strategy('SL & TP based on Pips', "PIP SL & TP", overlay=true, initial_capital=1000)

// MA
ema_period = input(title='EMA period', defval=10)
wma_period = input(title='WMA period', defval=20)
ema = ta.ema(close, ema_period)
wma = ta.wma(close, wma_period)

// Entry Conditions
long = ta.crossover(ema, wma) and nz(strategy.position_size) == 0
short = ta.crossunder(ema, wma) and nz(strategy.position_size) == 0

// Pips Calculation
pip1 = input(20, title = "TP PIP", group = "PIP CALCULATION") * 10 * syminfo.mintick
pip2 = input(20, title = "SL PIP", group = "PIP CALCULATION") * 10 * syminfo.mintick

// Trading parameters 
var bool LS = na
var bool SS = na

var float EP = na // Entry Position
var float TVL = na
var float TVS = na
var float TSL = na
var float TSS = na

var float TP1 = na
//var float TP2 = na
var float SL1 = na
///var float SL2 = na

// SL & TP Values
// there's also SL2 and TP2 in case you want to add them to your script, 
//also you can add a break event in the strategy.entry section.

if short or long and strategy.position_size == 0
    EP := close
    SL1 := EP - pip2 * (short ? -1 : 1)
    //SL2 := EP - pip2 * (short ? -1 : 1)
    
    TP1 := EP + pip1 * (short ? -1 : 1)
    //TP2 := EP + pip1 * 2 * (short ? -1 : 1)


// current trade direction    
LS := long or strategy.position_size > 0
SS := short or strategy.position_size < 0

// adjust trade parameters and trailing stop calculations
TVL := math.max(TP1, open) - pip1[1]
TVS := math.min(TP1, open) + pip1[1]
TSL := open[1] > TSL[1] ? math.max(TVL, TSL[1]) : TVL
TSS := open[1] < TSS[1] ? math.min(TVS, TSS[1]) : TVS

//if LS and high > TP1
    //if open <= TP1
        //SL2 := math.min(EP, TSL)

//if SS and low < TP1
    //if open >= TP1
        //SL2 := math.max(EP, TSS)


// Closing conditions
// and those are a closing conditions in case you want to add them.

//close_long = LS and open < SL2
//close_short = SS and open > SL2

// Buy
if (long and not SS)
    strategy.entry('buy', strategy.long)
strategy.exit('exit1', from_entry='buy', stop=SL1, limit=TP1, qty_percent=100)
//strategy.exit('exit2', from_entry='buy', stop=SL2, limit=TP2)

// Sell
if (short and not LS)
    strategy.entry('sell', strategy.short)
strategy.exit('exit3', from_entry='sell', stop=SL1, limit=TP1, qty_percent=100)
//strategy.exit('exit4', from_entry='sell', stop=SL2, limit=TP2)

// Plots
// those are plots for the lines of The tp and sl. they are really useful, and in the next update I will use a filling option.

a = plot(strategy.position_size > 0 ? SL1 : na, color=color.new(#af0829, 30), linewidth = 2, style=plot.style_linebr)
b = plot(strategy.position_size < 0 ? SL1 : na, color=color.new(#af0829, 30), linewidth = 2, style=plot.style_linebr)

c = plot(strategy.position_size > 0 ? TP1 : na, color=color.new(#2e7e00, 30), linewidth = 2, style=plot.style_linebr)
d = plot(strategy.position_size < 0 ? TP1 : na, color=color.new(#2e7e00, 30), linewidth = 2, style=plot.style_linebr)

g = plot(strategy.position_size >= 0 ? na : EP, color=color.new(#ffffff, 50), style=plot.style_linebr)
h = plot(strategy.position_size <= 0 ? na : EP, color=color.new(#ffffff, 50), style=plot.style_linebr)


// those are plot for the TP2 and SL2, they are optional if you want to add them.

//e = plot(strategy.position_size > 0 ? TP2 : na, color=color.new(#00ced1, 0), style=plot.style_linebr)
//f = plot(strategy.position_size < 0 ? TP2 : na, color=color.new(#00ced1, 0), style=plot.style_linebr)


//those are the plot for the ema and wma strategy for short and long signal. they are not really a good strategy, I just used them as an example
//but you have the option to plot them or not.
// do not use this strategy, it's just an exmaple !! The goal from this script is to show you TP and SL based on PIPS

//plot(ema, title='ema', color=color.new(#fff176, 0))
//plot(wma, title='wma', color=color.new(#00ced1, 0))