چلتی اوسط اور ٹریلنگ اسٹاپ کے ساتھ چینل بریک آؤٹ کی حکمت عملی کے بعد رجحان

مصنف:چاؤ ژانگ، تاریخ: 2024-01-15 12:25:26
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

حکمت عملی قیمت چینل بنانے کے لئے اعلی / کم قیمتوں کے چلتے ہوئے اوسط کا حساب لگاتی ہے۔ خاص طور پر ، یہ چینل کے اوپری اور نچلے بینڈ کو پلاٹ کرنے کے لئے اعلی / کم قیمتوں کی لمبائی 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)

مزید