دو طرفہ سپر ٹرینڈ حکمت عملی


تخلیق کی تاریخ: 2023-10-08 15:02:45 آخر میں ترمیم کریں: 2023-10-08 15:02:45
کاپی: 0 کلکس کی تعداد: 676
1
پر توجہ دیں
1617
پیروکار

جائزہ

یہ حکمت عملی اے ٹی آر اشارے کے حساب سے اوپر اور نیچے کی سمت کا تعین کرتی ہے ، موجودہ رجحان کی سمت کا تعین کرتی ہے ، اور خرید و فروخت کے اشارے دیتی ہے۔ جب قیمت اوپر کی ٹریک کو توڑتی ہے تو بیعانہ اور جب قیمت نیچے کی ٹریک کو توڑتی ہے تو بیعانہ۔

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

  1. قیمتوں میں اوسط اتار چڑھاو کی حد کے لئے اے ٹی آر کا حساب لگائیں
  2. اوپر اور نیچے کی ریل لائنوں کو اے ٹی آر کی قدر کے حساب سے ایک ضرب سے حساب لگائیں
  3. قیمتوں میں اضافے اور کمی کے درمیان تعلق کا اندازہ لگانا ، رجحان کی سمت کا تعین کرنا
    • جب قیمت اوپر کی طرف بڑھتی ہے تو، bullish رجحان
    • جب قیمت نیچے کی ٹریک کے نیچے ہوتی ہے تو ، نیچے کی طرف جانے کا رجحان ہوتا ہے
  4. جب رجحان بدل جاتا ہے تو خریدنے اور بیچنے کے اشارے دیتے ہیں
    • جب نیچے کی طرف جانے والا رجحان bullish رجحان میں تبدیل ہوجاتا ہے تو ، اوپر کی ریل کے قریب خریدنے کا اشارہ دیا جاتا ہے
    • جب ایک bullish رجحان ایک bearish رجحان میں بدل جاتا ہے تو، نیچے کے قریب ایک فروخت سگنل دے
  5. بصری طور پر اوپر اور نیچے کے راستے ، رجحان کی سمت اور خرید و فروخت کے اشارے دکھائیں

طاقت کا تجزیہ

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

خطرے کا تجزیہ

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

اصلاح کی سمت

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2022-10-01 00:00:00
end: 2023-10-07 00:00:00
period: 3d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

TradeId = "RVG"

InitCapital = 1000
InitPosition = 1000
InitCommission = 0.075
InitPyramidMax = 1
CalcOnorderFills = true
CalcOnTick = true

//@version=4
// strategy("Supertrend RG", overlay = true,process_orders_on_close=true,commission_type=strategy.commission.percent,commission_value=InitCommission,
//  currency=currency.USD,initial_capital=InitCapital,default_qty_type=strategy.cash, default_qty_value=InitPosition, calc_on_order_fills=CalcOnorderFills, calc_on_every_tick=CalcOnTick,pyramiding=InitPyramidMax)

//
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE

// From Date Inputs
fromDay = input(defval=1, title="From Day", minval=1, maxval=31)
fromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
fromYear = input(defval=2018, title="From Year", minval=1970)

// To Date Inputs
toDay = input(defval=1, title="To Day", minval=1, maxval=31)
toMonth = input(defval=1, title="To Month", minval=1, maxval=12)
toYear = input(defval=2100, title="To Year", minval=1970)

// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true



Periods = input(title="ATR Period", type=input.integer, defval=10)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
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)
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, transp=0)
plotshape(buySignal and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
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, transp=0)
plotshape(sellSignal and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)
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
fill(mPlot, upPlot, title="UpTrend Highligter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highligter", color=shortFillColor)
alertcondition(buySignal, title="SuperTrend Buy", message="SuperTrend Buy!")
alertcondition(sellSignal, title="SuperTrend Sell", message="SuperTrend Sell!")
changeCond = trend != trend[1]
alertcondition(changeCond, title="SuperTrend Direction Change", message="SuperTrend has changed direction!")


strategy.entry(TradeId + " Long", true, when=buySignal[1] and time_cond)
strategy.entry(TradeId + " Short", false, when=sellSignal[1] and time_cond)