आरएसआई मूविंग एवरेज ट्रेलिंग स्टॉप रणनीति

लेखक:चाओझांग, दिनांक: 2023-09-13 14:26:43
टैगः

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

रणनीति तर्क:

  1. ओवरबॉट/ओवरसोल्ड स्तरों का न्याय करने के लिए आरएसआई की गणना करें। 50 से ऊपर का आरएसआई तेजी का संकेत देता है।

  2. तेजी से और धीमी गति से चलती औसत की गणना करें, स्वर्ण क्रॉस बुल ट्रेंड का संकेत देता है।

  3. आरएसआई में लगातार वृद्धि भी लंबी प्रविष्टि का संकेत देती है।

  4. प्रवेश करने के बाद, स्टॉप लॉस सेट करें और लाभ रेखाएं लें।

  5. कीमत के नीचे हानि के निशान को रोकें, लाभ के निशान को ऊपर ले जाएं।

  6. जब कीमत रुकती है या लाभ लेती है तो बाहर निकलें।

लाभः

  1. आरएसआई शीर्ष और नीचे का पीछा करने से बचता है।

  2. चलती औसत प्रवृत्ति की दिशा निर्धारित करती है। संयोजन सटीकता में सुधार करता है।

  3. ट्रेलिंग स्टॉप/लाभ गतिशील रूप से मूल्य के अनुसार समायोजित होते हैं।

जोखिमः

  1. आरएसआई और एमए विभिन्न बाजारों में झूठे संकेतों के लिए प्रवण हैं।

  2. पीछे रुकने की चौड़ाई को सावधानीपूर्वक कैलिब्रेट करने की आवश्यकता होती है, बहुत चौड़ी या बहुत संकीर्ण समस्याग्रस्त होती है।

  3. घाटे के आकार को सीमित करने में असमर्थ, बड़े घाटे के कारोबार का जोखिम।

संक्षेप में, यह रणनीति आरएसआई और एमए को जोड़ती है और फिर जोखिम प्रबंधन के लिए ट्रैलिंग स्टॉप का उपयोग करती है। मजबूत अनुकूलन और जोखिम नियंत्रण के साथ, यह अच्छे परिणाम प्राप्त कर सकती है।


/*backtest
start: 2022-09-06 00:00:00
end: 2023-09-12 00:00:00
period: 4d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI and MA Strategy with Trailing Stop Loss and Take Profit",
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=100,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0

//==================================Buy Conditions============================================

//RSI
length = input(14)
rsi = ta.rsi(close, length)
buyCondition1 = rsi > 50

//MA
SMA9 = ta.sma(close, 9)
SMA50 = ta.sma(close, 50)
SMA100 = ta.sma(close, 100)
plot(SMA9, color = color.green)
plot(SMA50, color = color.orange)
plot(SMA100, color = color.blue)
buyCondition2 = SMA9 > SMA50//ta.crossover(SMA9, SMA100)

//RSI Increase
increase = 5
buyCondition3 = (rsi > rsi[1] + increase)


if (buyCondition1 and buyCondition2 and buyCondition3 and timePeriod) //and buyCondition
    strategy.entry("Long", strategy.long)

//==================================Sell Conditions============================================

//Trailing Stop Loss and Take Profit
longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=2) * 0.01
shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=1) * 0.01

longStopPrice = 0.0
shortStopPrice = 0.0

longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - longTrailPerc)
    math.max(stopValue, longStopPrice[1])
else
    0

shortStopPrice := if strategy.position_size < 0
    stopValue = close * (1 + shortTrailPerc)
    math.min(stopValue, shortStopPrice[1])
else
    999999


strategy.exit(id="Exit", stop = longStopPrice, limit = shortStopPrice)

अधिक