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

RSI ٹریلنگ اسٹاپ حکمت عملی کے ساتھ مومنٹم ADX

مصنف:چاؤ ژانگ، تاریخ: 2023-10-09 15:36:07
ٹیگز:

جائزہ

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

یہ کیسے کام کرتا ہے

مومنٹم اے ڈی ایکس اور آر ایس آئی کے ساتھ اندراج

  • قیمت کے رجحان کی سمت کا تعین کرنے کے لئے ADX اشارے کا استعمال کریں

    • ADX 20 سے اوپر رجحان ظاہر کرتا ہے

    • -DI کے اوپر +DI کراسنگ طویل سگنل ہے

    • - +DI سے نیچے DI عبور کرنا مختصر سگنل ہے

  • زیادہ خریدنے / زیادہ فروخت کی نشاندہی کرنے کے لئے RSI

    • RSI 70 سے اوپر oversold، مختصر سگنل کا مشورہ دیتا ہے

    • RSI 30 سے نیچے oversold، طویل سگنل کا مشورہ دیتا ہے

جب ADX رجحان + RSI تصدیق سگنل دکھاتا ہے تو طویل / مختصر پوزیشنیں لیں.

ایڈجسٹ ٹریک اسٹاپ

حکمت عملی دو پیرامیٹرز کے ساتھ ایک متحرک ٹریلنگ سٹاپ میکانزم کا استعمال کرتا ہے:

  • ایکٹیویشن لیول: ٹریلنگ اسٹاپ کو چالو کریں جب قیمت داخل ہونے کے بعد مقررہ فیصد تک پہنچ جائے

  • ٹریلنگ فی صد: سب سے زیادہ منافع سے سٹاپ سطح ٹریلز مقرر فی صد

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

فوائد

  • مومنٹم اے ڈی ایکس رجحان کی سمت کا تعین کرتا ہے، جھوٹے بریک آؤٹ سے بچنے کے لئے

  • آر ایس آئی کی تصدیق سے یہ یقینی بنتا ہے کہ واپسی کے مواقع ضائع نہیں ہوتے ہیں

  • ایڈجسٹ ٹرائلنگ سٹاپ منافع میں تالے اور نقصانات کو کم سے کم کرتا ہے

  • سادہ اور واضح حکمت عملی منطق، سمجھنے میں آسان

  • مختلف مارکیٹوں اور ٹائم فریم پر لاگو

خطرات اور تخفیف

  • ADX غلط بریک آؤٹ کی نشاندہی کر سکتا ہے

    • حقیقی رجحان کی نقل و حرکت کا پتہ لگانے کے لئے ADX پیرامیٹرز کو ٹیون کریں
  • RSI متعدد غلط سگنل دے سکتا ہے

    • وِپساؤ کو کم کرنے کے لیے زیادہ خریدے/زیادہ فروخت کی سطح کو ایڈجسٹ کریں
  • ناقص ٹریلنگ سٹاپ پیرامیٹرز

    • بہترین سٹاپ کی سطح تلاش کرنے کے لئے پیرامیٹرز کو بہتر بنائیں
  • خالی جگہیں ناکام رکنے کا سبب بن سکتی ہیں

    • سٹاپ لمیٹ آرڈرز استعمال کرنے پر غور کریں

اصلاح کے مواقع

  • اندراجات کو بہتر بنانے کے لئے ADX/RSI کے مجموعے کی جانچ کریں

  • مختلف چالو کرنے کی سطحوں اور پگڈنڈی فیصد بیک ٹیسٹ

  • سگنل کے معیار کو بہتر بنانے کے لئے اضافی فلٹرز شامل کریں

  • مضبوط پیرامیٹرز تلاش کرنے کے لئے مختلف مارکیٹوں پر ٹیسٹ

نتیجہ

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


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-03 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Trailing Stop with RSI", overlay=true)

length = input.int(12, "Momentum Length")
price = close
momentum(seria, length) =>
    mom = seria - seria[length]
    mom
mom0 = momentum(price, length)
mom1 = momentum(mom0, 1)

rsiLength = input.int(14, "RSI Length")
rsiOverbought = input(70, "RSI Overbought Level")
rsiOversold = input(30, "RSI Oversold Level")

rsiValue = ta.rsi(close, rsiLength)

tsact = input.float(0.0, "Trailing Stop Activation (%)", group="strategy", tooltip="Activates the Trailing Stop once this PnL is reached.") / 100
tsact := tsact ? tsact : na
ts = input.float(0.0, "Position Trailing Stop (%)", group="strategy", tooltip="Trails your position with a stop loss at this distance from the highest PnL") / 100
ts := ts ? ts : na

in_long = strategy.position_size > 0
in_short = strategy.position_size < 0

var ts_ = array.new_float()
ts_size = array.size(ts_)
ts_get = ts_size > 0 ? array.get(ts_, ts_size - 1) : 0

if in_long
    if tsact and high > strategy.position_avg_price + strategy.position_avg_price * tsact
        if ts_size > 0 and ts_get < high
            array.push(ts_, high)
        if ts_size < 1
            array.push(ts_, high)
    if not tsact
        if ts_size > 0 and ts_get < high
            array.push(ts_, high)
        if ts_size < 1
            array.push(ts_, high)
if in_short
    if tsact and low < strategy.position_avg_price - strategy.position_avg_price * tsact
        if ts_size > 0 and ts_get > low
            array.push(ts_, low)
        if ts_size < 1
            array.push(ts_, low)
    if not tsact
        if ts_size > 0 and ts_get > low
            array.push(ts_, low)
        if ts_size < 1
            array.push(ts_, low)

trail = in_long and ts_size > 0 ? low < ts_get - ts_get * ts : in_short and ts_size > 0 ? high > ts_get + ts_get * ts : na

if (mom0 > 0 and mom1 > 0)
    strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE")
else
    strategy.cancel("MomLE")
if (mom0 < 0 and mom1 < 0)
    strategy.entry("MomSE", strategy.short, stop=low-syminfo.mintick, comment="MomSE")
else
    strategy.cancel("MomSE")

tsClose = in_long ? ts_get - ts_get * ts : in_short ? ts_get + ts_get * ts : na
if trail
    strategy.close_all()
if not strategy.opentrades
    array.clear(ts_)

rsiOverboughtCondition = rsiValue >= rsiOverbought
rsiOversoldCondition = rsiValue <= rsiOversold

if rsiOverboughtCondition
    strategy.close("SHORT", "SX")
    strategy.entry("LONG", strategy.long)

if rsiOversoldCondition
    strategy.close("LONG", "LX")
    strategy.entry("SHORT", strategy.short)

plotchar(ts_get, "GET", "")
plot(strategy.position_avg_price > 0 ? strategy.position_avg_price : na, "Average", color.rgb(251, 139, 64), 2, plot.style_cross)
plot(tsClose > 0 ? tsClose : na, "Trailing", color.rgb(251, 64, 64), 2, plot.style_cross)
plot(strategy.position_avg_price - strategy.position_avg_price * tsact > 0 ? strategy.position_avg_price - strategy.position_avg_price * tsact : na, "TS Activation", color.fuchsia, 2, plot.style_cross)


مزید