یہ ایک ٹریکنگ سپر ٹرینڈ حکمت عملی ہے جو بنیادی طور پر سپر ٹرینڈ اشارے کو مختلف پیرامیٹر کی ترتیبات کے ساتھ مل کر ٹریکنگ اثر کو حاصل کرنے کے لئے استعمال کرتی ہے اور خطرے کے کنٹرول کے لئے فلٹر اشارے کا استعمال کرتی ہے۔ حکمت عملی کا بنیادی خیال آسان اور عملی ، سمجھنے میں آسان ، اور سیکھنے کے لئے ابتدائی افراد کے لئے موزوں ہے۔
یہ حکمت عملی بنیادی طور پر مختلف پیرامیٹرز کی ترتیبات کے ساتھ سپر ٹرینڈ اشارے کے تین گروپوں پر مشتمل ہے۔ پہلا گروپ مرکزی سپر ٹرینڈ اشارے ہے جو مارکیٹ کے رجحانات کے بنیادی فیصلے کے لئے ڈیفالٹ پیرامیٹرز کا استعمال کرتا ہے۔ دوسرا گروپ نائب سپر ٹرینڈ اشارے ہے جو اے ٹی آر مدت کو کم کرکے اور اے ٹی آر ضرب کو بڑھا کر قیمت کی تبدیلیوں کی زیادہ حساس ٹریکنگ حاصل کرتا ہے۔ تیسرا گروپ فلٹر سپر ٹرینڈ اشارے ہے جو غلط بریک آؤٹ کو فلٹر کرنے کے لئے اے ٹی آر مدت اور اے ٹی آر ضرب کو مناسب طریقے سے بڑھاتا ہے۔
جب مرکزی سپر ٹرینڈ خریدنے کا سگنل جاری کرتا ہے تو ، اگر نائب سپر ٹرینڈ بھی ہم وقت ساز سگنل جاری کرتا ہے اور فلٹر سپر ٹرینڈ سمت اوپر کی طرف ہے تو ، حکمت عملی ٹریکنگ خرید لے گی۔ جب مرکزی سپر ٹرینڈ فروخت سگنل جاری کرتا ہے ، اگر نائب سپر ٹرینڈ بھی ہم وقت ساز سگنل جاری کرتا ہے اور فلٹر سپر ٹرینڈ سمت نیچے کی طرف ہے تو ، حکمت عملی ٹریکنگ فروخت لے گی۔ اس سے معمولی ایڈجسٹمنٹ کو ٹریک کرنے اور بروقت اندراج اور اسٹاپ نقصان کو حاصل کرنے کے لئے لچکدار نائب سپر ٹرینڈ اشارے کا استعمال کرتے ہوئے مرکزی رجحان کو پکڑ سکتا ہے۔
خطرے سے بچاؤ کے اہم اقدامات:
اس حکمت عملی کا مجموعی خیال واضح اور آسان ہے۔ مختلف پیرامیٹرز کی ترتیبات کے ساتھ سپر ٹرینڈ اشارے کے متعدد گروپوں کو مربوط کرکے ، اس میں داخلے اور رسک کنٹرول کا سراغ لگانے کا احساس ہوتا ہے۔ اچھی براہ راست کارکردگی کے ساتھ حکمت عملی کا اشارہ زیادہ درست ہے۔ یہ ابتدائی افراد کے سیکھنے کے لئے موزوں ہے ، اور مختلف اشارے اور پیرامیٹرز کی جانچ اور اصلاح کے لئے ٹیمپلیٹ کے طور پر بھی استعمال کیا جاسکتا ہے۔ یہ ایک سپر ٹرینڈ حکمت عملی ہے جس کی سفارش کی جاسکتی ہے۔
/*backtest start: 2023-11-25 00:00:00 end: 2023-12-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Supertrend TEST 2 Strategy", overlay = true, format=format.price, precision=2) Periods = input(title="ATR Period", type=input.integer, defval=4) src = input(hl2, title="Source") Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=4.7) changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true) showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=true) highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true) tp=close sl=close atr2 = sma(tr, Periods) atr= changeATR ? atr(Periods) : atr2 up=src-(Multiplier*atr) up1 = nz(up[1],up) up := close[1] > up1 ? max(up,up1) : up dn=src+(Multiplier*atr) dn1 = nz(dn[1], dn) dn := close[1] < dn1 ? min(dn, dn1) : dn trend = 1 trend := nz(trend[1], trend) trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green) buySignal = trend == 1 and trend[1] == -1 plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green ) plotshape(buySignal and showsignals ? up : na, title="Лонг", text="Лонг", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white ) dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red) sellSignal = trend == -1 and trend[1] == 1 plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red ) plotshape(sellSignal and showsignals ? dn : na, title="Шорт", text="Шорт", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white ) mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0) longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white sPeriods=input(title="ATR Period", type=input.integer, defval=8) sMultiplier=input(title="dop ATR Multiplier", type=input.float, step=0.1, defval=1.5) satr2 = sma(tr, sPeriods) satr= changeATR ? atr(sPeriods) : satr2 ssup=ohlc4-(sMultiplier*satr) ssup1 = nz(ssup[1],ssup) ssup := close[1] > ssup1 ? max(ssup,ssup1) : ssup sdn=ohlc4+(sMultiplier*satr) sdn1 = nz(sdn[1], sdn) sdn := close[1] < sdn1 ? min(sdn, sdn1) : sdn strend = 1 strend := nz(strend[1], strend) strend := strend == -1 and close > sdn1 ? 1 : strend == 1 and close < ssup1 ? -1 : strend sbuySignal = strend == 1 and strend[1] == -1 ssellSignal = strend == -1 and strend[1] == 1 fPeriods=input(title="ATR Period", type=input.integer, defval=10) fMultiplier=input(title="filter ATR Multiplier", type=input.float, step=0.1, defval=5) fatr2 = sma(tr, fPeriods) fatr= changeATR ? atr(fPeriods) : fatr2 fup=ohlc4-(fMultiplier*fatr) fup1 = nz(fup[1],fup) fup := close[1] > fup1 ? max(fup,fup1) : fup fdn=ohlc4+(fMultiplier*fatr) fdn1 = nz(fdn[1], fdn) fdn := close[1] < fdn1 ? min(fdn, fdn1) : fdn ftrend = 1 ftrend := nz(ftrend[1], ftrend) ftrend := ftrend == -1 and close > fdn1 ? 1 : ftrend == 1 and close < fup1 ? -1 : ftrend fbuySignal = ftrend == 1 and ftrend[1] == -1 fsellSignal = ftrend == -1 and ftrend[1] == 1 tcolor=color.new(color.gray,50) fdnPlot = plot(ftrend == 1 ? na : fdn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=tcolor) fupPlot = plot(ftrend == 1 ? fup : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=tcolor) if (strategy.position_size > 0) tp:=tp[1] sl:=up strategy.exit("Long_TP/SL","Long",limit=tp, stop=sl) if (strategy.position_size < 0) tp:=tp[1] sl:=dn strategy.exit("Short_TP/SL","Short",limit=tp, stop=sl) if ((buySignal and ftrend==1) or (sbuySignal and trend==1 and ftrend==1)) tp:=close+(close-up)*0.382 strategy.entry("Long", strategy.long, limit=tp, comment=tostring(round(tp))) if ((sellSignal and ftrend==-1) or (ssellSignal and trend==-1 and ftrend==-1)) tp:=close-(dn-close)*0.382 strategy.entry("Short", strategy.short, limit=tp, comment=tostring(round(tp)))