یہ قیمت چینل پر مبنی ایک بریک آؤٹ حکمت عملی ہے ، جس میں داخلہ اور باہر نکلنے کے لئے چلتی اوسط اشارے اور ٹریلنگ اسٹاپ / لے منافع کے ساتھ مل کر ہے۔ یہ قیمت چینل کی تعمیر کے لئے اعلی / کم قیمتوں کی چلتی اوسط کا استعمال کرتا ہے ، اور جب قیمت چینل سے باہر نکلتی ہے تو طویل / مختصر داخل ہوتا ہے ، جس میں خطرات کو کنٹرول کرنے کے لئے فکسڈ اسٹاپ نقصان یا ٹریلنگ اسٹاپ ہوتا ہے۔
حکمت عملی قیمت چینل بنانے کے لئے اعلی / کم قیمتوں کے چلتے ہوئے اوسط کا حساب لگاتی ہے۔ خاص طور پر ، یہ چینل کے اوپری اور نچلے بینڈ کو پلاٹ کرنے کے لئے اعلی / کم قیمتوں کی لمبائی 10 ایس ایم اے کا حساب لگاتی ہے۔ جب قیمت نچلے بینڈ سے اوپر سے اوپری بینڈ میں ٹوٹ جاتی ہے تو ، یہ طویل ہوجاتی ہے۔ جب قیمت اوپری بینڈ سے نچلے بینڈ میں ٹوٹ جاتی ہے تو ، یہ مختصر ہوجاتی ہے۔
لاگ ان ہونے کے بعد ، حکمت عملی یا تو فکسڈ اسٹاپ نقصان یا ٹریلنگ اسٹاپ کو باہر نکلنے کے لئے استعمال کرتی ہے۔ ٹریلنگ اسٹاپ میں دو پیرامیٹرز شامل ہیں: فکسڈ ٹیک منافع کی سطح ، اور چالو کرنے والا آفسیٹ۔ جب قیمت چالو کرنے والے آفسیٹ تک پہنچ جاتی ہے تو ، منافع کی سطح قیمت کو پیچھے چھوڑنا شروع کردیتی ہے۔ اس سے کچھ کھلی جگہ رکھتے ہوئے منافع میں مقفل ہونے کی اجازت ملتی ہے۔
حکمت عملی میں وقت کی حد فلٹر کو بھی جوڑتا ہے ، صرف مخصوص تاریخی ٹائم فریم کے اندر بیک ٹسٹ چلاتا ہے ، تاکہ مارکیٹ کے مختلف مراحل میں کارکردگی کی جانچ کی جاسکے۔
یہ حکمت عملی قیمت چینل اور رجحان کی پیروی کے ساتھ ٹریلنگ اسٹاپ کا فائدہ اٹھاتی ہے ، جس سے اسے درمیانی سے طویل مدتی رجحان کی سمتوں کو پکڑنے کی اجازت ملتی ہے۔ سادہ حرکت پذیر اوسط حکمت عملی کے مقابلے میں ، یہ قیمتوں میں اتار چڑھاؤ کی وجہ سے غیر موثر تجارت سے بچتا ہے۔ ٹریلنگ اسٹاپ کے ساتھ ، یہ منافع میں مقفل ہونے کے لئے متحرک طور پر قیمتوں کی پیروی کرسکتا ہے۔
مجموعی طور پر، حکمت عملی میں واضح منطق، کم سے کم اشارے اور پیرامیٹرز، بیک ٹسٹ کرنے میں آسان، درمیانی اور طویل مدتی رجحان ٹریڈنگ کے لئے موزوں ہے، اور مضبوط رجحانات سے فائدہ اٹھا سکتا ہے.
یہ حکمت عملی مختلف ، ہنگامہ خیز منڈیوں کے دوران آسانی سے رک جاتی ہے ، جو منافع کو برقرار رکھنے میں قاصر ہے۔ اس کے علاوہ انتہائی حرکتوں کے دوران ، قیمت بڑے نقصانات کا باعث بننے والی اسٹاپ نقصان کو جارحانہ طور پر توڑ سکتی ہے۔
پیرامیٹر ٹیوننگ کافی ذہنی ہے ، جس میں مارکیٹ کے مختلف مراحل میں ایڈجسٹمنٹ کی ضرورت ہے۔ فکسڈ منافع اور چالو کرنے والا آفسیٹ مارکیٹ کی مختلف اتار چڑھاؤ کو اپنانے میں ناکام رہتا ہے۔
دوسرے اشارے جیسے حجم ، بولنگر بینڈ کو انٹری سگنلز کو فلٹر کرنے کے ل incorporated شامل کیا جاسکتا ہے ، ٹریپس سے بچنے کے ل. یا متحرک رکاوٹوں کا استعمال اے ٹی آر یا قیمت کی اتار چڑھاؤ پر مبنی کیا جاسکتا ہے۔
آؤٹ پٹ کے قوانین کو ٹریلنگ اسٹاپ یا چینڈلیئر آؤٹ پٹ میں اپ گریڈ کیا جاسکتا ہے۔ جب قیمت چینل میں دوبارہ داخل ہوتی ہے تو جزوی منافع کے اہداف پر غور کیا جاسکتا ہے۔ انٹری فلٹرز اور آؤٹ پٹ کے قوانین کو بہتر بنانا حکمت عملی کے استحکام کو بہت بہتر بنا سکتا ہے۔
خلاصہ یہ ہے کہ ، یہ قیمت چینل ، رجحان کی پیروی ، اسٹاپ نقصان / منافع لینے کے انتظام پر مبنی ایک مقداری حکمت عملی ہے۔ اس میں واضح منطق کا بہاؤ ، آسان پیرامیٹر ڈھانچہ ، سمجھنے میں آسان اور بیک ٹیسٹ ہے۔ یہ الگورتھمک تجارتی تصورات سیکھنے کے لئے موزوں ہے۔ استحکام اور منافع بخش کو بہتر بنانے کے لئے حکمت عملی کو مختلف پہلوؤں میں بڑھا سکتا ہے۔ بنیادی خیال یہ ہے کہ رجحان کی سمت کو پکڑنا ، اور اسٹاپ نقصان اور منافع کے ذریعہ خطرات کا انتظام کرنا ہے۔ یہ مختلف وقت کے فریموں میں مختلف مصنوعات پر لاگو کیا جاسکتا ہے۔
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-21 23:59:59 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Generalized SSL Backtest w/ TSSL", shorttitle="GSSL Backtest", overlay=true ) // Generalized SSL: // This is the very first time the SSL indicator, whose acronym I ignore, is on Tradingview. // It is based on moving averages of the highs and lows. // Similar channel indicators can be found, whereas // this one implements the persistency inside the channel, which is rather tricky. // The green line is the base line which decides entries and exits, possibly with trailing stops. // With respect to the original version, here one can play with different moving averages. // The default settings are (10,SMA) // // Vitelot/Yanez/Vts March 2019 lb = input(10, title="Lb", minval=1) maType = input( defval="SMA", title="MA Type", options=["SMA","EMA","HMA","McG","WMA","Tenkan"]) fixedSL = input(title="SL Activation", defval=300) trailSL = input(title="SL Trigger", defval=1) fixedTP = input(title="TP Activation", defval=150) trailTP = input(title="TP Trigger", defval=1) FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2019, title = "From Year", minval = 2017) ToMonth = input(defval = 6, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 19, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 2020, title = "To Year", minval = 2017) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window startTimeOk() => true // create function "within window of time" if statement true // QUANDL:BCHAIN/ETRVU is USD-denominated daily transaction value on BTC blockchain // QUANDL:BCHAIN/MKTCP is USD-denominated Bitcoin marketcap hma(sig, n) => // Hull moving average definition wma( 2*wma(sig,round(n/2))-wma(sig,n), round(sqrt(n))) mcg(sig,length) => // Mc Ginley MA definition mg = 0.0 mg := na(mg[1]) ? ema(sig, length) : mg[1] + (sig - mg[1]) / (length * pow(sig/mg[1], 4)) tenkan(sig,len) => 0.5*(highest(sig,len)+lowest(sig,len)) ma(t,sig,len) => sss=na if t =="SMA" sss := sma(sig,len) if t == "EMA" sss := ema(sig,len) if t == "HMA" sss := hma(sig,len) if t == "McG" // Mc Ginley sss := mcg(sig,len) if t == "Tenkan" sss := tenkan(sig,len) if t == "WMA" sss := wma(sig,len) sss base(mah, mal) => bbb = na inChannel = close<mah and close>mal belowChannel = close<mah and close<mal bbb := inChannel? bbb[1]: belowChannel? -1: 1 uuu = bbb==1? mal: mah ddd = bbb==1? mah: mal [uuu, ddd] maH = ma(maType, high, lb) maL = ma(maType, low, lb) [up, dn] = base(maH,maL) plot(up, title="High MA", color=lime, linewidth=3) plot(dn, title="Low MA", color=orange, linewidth=3) long = crossover(dn,up) short = crossover(up,dn) // === STRATEGY - LONG POSITION EXECUTION === strategy.entry("Long", strategy.long, when= long and startTimeOk()) strategy.exit("Exit", qty_percent = 100, loss=fixedSL, trail_offset=trailTP, trail_points=fixedTP) strategy.exit("Exit", when= short) // === STRATEGY - SHORT POSITION EXECUTION === strategy.entry("Short", strategy.short, when= short and startTimeOk()) strategy.exit("Exit", qty_percent = 100, loss=fixedSL, trail_offset=trailTP, trail_points=fixedTP) strategy.exit("Exit", when= long)