وسائل لوڈ ہو رہے ہیں... لوڈنگ...

حکمت عملی کے بعد متحرک رجحان

مصنف:چاؤ ژانگ، تاریخ: 2024-06-03 16:57:51
ٹیگز:اے ٹی آر

img

جائزہ

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

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

  1. سپر ٹرینڈ اشارے کے اوپری (اوپری) اور نچلے (ڈین) بینڈ کا حساب لگائیں اور بندش کی قیمت اور اوپری اور نچلے بینڈ کے درمیان تعلقات کی بنیاد پر موجودہ رجحان کی سمت (ٹرینڈ) کا تعین کریں۔
  2. جب رجحان نیچے کی طرف (-1) سے اوپر کی طرف (1) بدلتا ہے تو خریدنے کا سگنل (buySignal) بنائیں اور جب رجحان اوپر کی طرف (1) سے نیچے کی طرف (-1) بدلتا ہے تو فروخت کا سگنل (sellSignal) بنائیں۔
  3. جب خریدنے کا سگنل پیدا ہوتا ہے تو ، ایک لمبی پوزیشن کھولیں اور نیچے والے بینڈ (dn) کو اسٹاپ نقصان کی سطح کے طور پر ترتیب دیں۔ جب فروخت کا سگنل پیدا ہوتا ہے تو ، ایک مختصر پوزیشن کھولیں اور اوپری بینڈ (اپ) کو اسٹاپ نقصان کی سطح کے طور پر ترتیب دیں۔
  4. ٹریلنگ سٹاپ نقصان کی منطق متعارف کروانا، جہاں سٹاپ نقصان کی سطح کو اوپر / نیچے منتقل کیا جاتا ہے جب قیمت ایک مخصوص تعداد میں پوائنٹس (ٹریلنگ ویلیو) کی طرف سے بڑھتی / گرتی ہے، سٹاپ نقصان کی حفاظت فراہم کرتی ہے.
  5. مقررہ منافع لینے کا منطق متعارف کروانا، جب رجحان بدلتا ہے تو منافع کے لئے پوزیشن بند کرنا.

حکمت عملی کے فوائد

  1. موافقت: سپر ٹرینڈ اشارے قیمت اور اتار چڑھاؤ کو یکجا کرتا ہے، جس سے اسے مختلف مارکیٹ کے حالات اور تجارتی آلات کو اپنانے کے قابل بناتا ہے.
  2. متحرک سٹاپ نقصان: اشارے کی لائن کو متحرک سٹاپ نقصان کی سطح کے طور پر استعمال کرنا مؤثر طریقے سے خطرے کو کنٹرول کرسکتا ہے اور نقصانات کو کم کرسکتا ہے۔
  3. ٹریلنگ اسٹاپ نقصان: ٹریلنگ اسٹاپ نقصان منطق متعارف کرانے سے جب رجحان جاری رہتا ہے تو منافع کی حفاظت ہوسکتی ہے ، جس سے حکمت عملی کی منافع بخش صلاحیت میں اضافہ ہوتا ہے۔
  4. واضح سگنل: حکمت عملی کے ذریعہ تیار کردہ خرید و فروخت کے سگنل واضح اور کام کرنے اور عملدرآمد کرنے میں آسان ہیں۔
  5. لچکدار پیرامیٹرز: حکمت عملی کے پیرامیٹرز (جیسے اے ٹی آر کی مدت ، اے ٹی آر ضرب وغیرہ) کو مارکیٹ کی خصوصیات اور تجارتی طرز کی بنیاد پر ایڈجسٹ کیا جاسکتا ہے ، جس سے موافقت میں اضافہ ہوتا ہے۔

حکمت عملی کے خطرات

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

حکمت عملی کی اصلاح کی ہدایات

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

خلاصہ

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


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Supertrend Strategy', overlay=true, format=format.price, precision=2)
Periods = input.int(title='ATR Period', defval=10)
src = input.source(hl2, title='Source')
Multiplier = input.float(title='ATR Multiplier', step=0.1, defval=3.0)
changeATR = input.bool(title='Change ATR Calculation Method ?', defval=true)
showsignals = input.bool(title='Show Buy/Sell Signals ?', defval=true)
highlighting = input.bool(title='Highlighter On/Off ?', defval=true)

// ATR calculation
atr2 = ta.sma(ta.tr, Periods)
atr = changeATR ? ta.atr(Periods) : atr2

// Supertrend calculations
up = src - Multiplier * atr
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up
dn = src + Multiplier * atr
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.min(dn, dn1) : dn

// Trend direction
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend

// Plotting
upPlot = plot(trend == 1 ? up : na, title='Up Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0))
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.new(color.green, 0))
plotshape(buySignal and showsignals ? up : na, title='Buy', text='Buy', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0))

dnPlot = plot(trend == 1 ? na : dn, title='Down Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
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.new(color.red, 0))
plotshape(sellSignal and showsignals ? dn : na, title='Sell', text='Sell', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))

// Highlighting
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, transp=90)
fill(mPlot, dnPlot, title='DownTrend Highligter', color=shortFillColor, transp=90)

// Alerts
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!')

// Pip and trailing stop calculation
pips = 50
pipValue = syminfo.mintick * pips
trailingPips = 10
trailingValue = syminfo.mintick * trailingPips

// Strategy
if (buySignal)
    strategy.entry("Long", strategy.long, stop=dn, comment="SuperTrend Buy")
if (sellSignal)
    strategy.entry("Short", strategy.short, stop=up, comment="SuperTrend Sell")

// Take profit on trend change
if (changeCond and trend == -1)
    strategy.close("Long", comment="SuperTrend Direction Change")
if (changeCond and trend == 1)
    strategy.close("Short", comment="SuperTrend Direction Change")

// Initial Stop Loss
longStopLevel = up - pipValue
shortStopLevel = dn + pipValue

// Trailing Stop Loss
var float longTrailStop = na
var float shortTrailStop = na

if (strategy.opentrades > 0)
    if (strategy.position_size > 0)  // Long position
        if (longTrailStop == na or close > strategy.position_avg_price + trailingValue)
            longTrailStop := high - trailingValue
        strategy.exit("Stop Loss Long", from_entry="Long", stop=longTrailStop)
    if (strategy.position_size < 0)  // Short position
        if (shortTrailStop == na or close < strategy.position_avg_price - trailingValue)
            shortTrailStop := low + trailingValue
        strategy.exit("Stop Loss Short", from_entry="Short", stop=shortTrailStop)

// Initial Exit
strategy.exit("Initial Stop Loss Long", from_entry="Long", stop=longStopLevel)
strategy.exit("Initial Stop Loss Short", from_entry="Short", stop=shortStopLevel)

متعلقہ

مزید