आरएसआई ट्रेलिंग स्टॉप रणनीति के साथ गति एडीएक्स

लेखक:चाओझांग, दिनांक: 2023-10-09 15:36:07
टैगः

अवलोकन

यह रणनीति जोखिम को नियंत्रित करते हुए प्रवृत्ति की दिशा को पकड़ने के लिए एक गतिशील ट्रेलिंग स्टॉप तंत्र के साथ सापेक्ष शक्ति सूचकांक (आरएसआई) के साथ गति संकेतक को जोड़ती है। जब मजबूत ऊपर की गति होती है तो यह लंबी जाती है और जब मजबूत नीचे की गति होती है तो यह छोटी हो जाती है। रणनीति लाभ लेने और नुकसान को रोकने के लिए लाभ में लॉक करने और नुकसान को कम करने के लिए एक ट्रेलिंग स्टॉप का उपयोग करके लाभ लेने और हानि को रोकने की स्थिति भी निर्धारित करती है।

यह कैसे काम करता है

मोमेंटम एडीएक्स और आरएसआई के साथ प्रवेश

  • मूल्य प्रवृत्ति दिशा निर्धारित करने के लिए ADX संकेतक का प्रयोग करें

    • 20 से ऊपर का ADX प्रवृत्ति दिखाता है

    • +DI पार करना -DI से ऊपर लंबा संकेत है

    • - +DI से नीचे का डीआई क्रॉसिंग कम संकेत है

  • ओवरबॉट/ओवरसोल्ड की पहचान करने के लिए आरएसआई

    • 70 से ऊपर का आरएसआई ओवरबॉट, शॉर्ट सिग्नल का संकेत देता है

    • 30 से नीचे का आरएसआई ओवरसोल्ड, लॉन्ग सिग्नल का संकेत देता है

जब ADX ट्रेंड + आरएसआई पुष्टिकरण संकेत दिखाता है तो लंबी/लघु स्थिति लें।

समायोज्य ट्रैलिंग स्टॉप

रणनीति दो मापदंडों के साथ एक गतिशील ट्रेलिंग स्टॉप तंत्र का उपयोग करती हैः

  • सक्रियण स्तरः प्रवेश के बाद मूल्य निर्धारित प्रतिशत तक पहुँचने पर ट्रेलिंग स्टॉप सक्रिय करें

  • अनुगामी प्रतिशतः उच्चतम लाभ से सेट स्तर पर रुके हुए निशान का प्रतिशत

एक बार सक्रिय होने के बाद, ट्रैलिंग स्टॉप उच्चतम लाभ स्तर का पालन करेगा। जैसे-जैसे कीमत पीछे हटती है, स्टॉप स्तर नीचे चला जाता है। यदि पीछे हटने से ट्रेल प्रतिशत अधिक हो जाता है, तो सभी पदों को बंद करने के लिए स्टॉप ट्रिगर किया जाता है।

लाभ

  • गति एडीएक्स ट्रेंड दिशा निर्धारित करता है, झूठे ब्रेकआउट से बचता है

  • आरएसआई की पुष्टि से यह सुनिश्चित होता है कि रिवर्स अवसरों को याद नहीं किया जाता है

  • समायोज्य ट्रैलिंग स्टॉप लाभ में ताले और नुकसान को कम करता है

  • सरल और स्पष्ट रणनीति तर्क, समझने में आसान

  • विभिन्न बाजारों और समय सीमाओं पर लागू

जोखिम और न्यूनीकरण

  • एडीएक्स झूठे ब्रेकआउट का संकेत दे सकता है

    • वास्तविक प्रवृत्ति आंदोलनों का पता लगाने के लिए ADX मापदंडों को ट्यून करें
  • आरएसआई कई झूठे संकेत दे सकता है

    • विप्सॉ को कम करने के लिए ओवरबॉट/ओवरसोल्ड स्तरों को समायोजित करें
  • खराब ट्रैलिंग स्टॉप पैरामीटर

    • सर्वोत्तम रोक स्तर खोजने के लिए मापदंडों का अनुकूलन करें
  • अंतराल के कारण चूकने वाले पड़ाव हो सकते हैं

    • स्टॉप-लिमिट ऑर्डर का उपयोग करने पर विचार करें

अनुकूलन के अवसर

  • प्रविष्टियों को अनुकूलित करने के लिए 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)


अधिक