गतिशील एटीआर स्टॉप लॉस के साथ आरएसआई ओवरसोल्ड लोचदार मात्रात्मक रणनीति

RSI SMA ATR TP SL
निर्माण तिथि: 2024-11-29 16:18:55 अंत में संशोधित करें: 2024-11-29 16:18:55
कॉपी: 0 क्लिक्स: 453
1
ध्यान केंद्रित करना
1617
समर्थक

गतिशील एटीआर स्टॉप लॉस के साथ आरएसआई ओवरसोल्ड लोचदार मात्रात्मक रणनीति

अवलोकन

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

रणनीति सिद्धांत

रणनीति के मूल तर्क में निम्नलिखित प्रमुख तत्व शामिल हैं:

  1. प्रवेश सिग्नलः जब आरएसआई ((5) 30 से कम है और कीमत 200-दिवसीय औसत रेखा से ऊपर है, तो सिस्टम एक अधिक संकेत देता है।
  2. हानि रोक तंत्रः 1.5 गुना एटीआर ((20) के गतिशील हानि और 25% की स्थिर हानि रोक संयोजन के साथ दोहरी तंत्र।
  3. मुनाफा लक्ष्यः 5%, 10% और 15% के तीन लक्ष्य निर्धारित किए गए हैं, लक्ष्य को पूरा करने पर क्रमशः 33%, 66% और 100% की कमी।
  4. पोजीशन मैनेजमेंटः यह सलाह दी जाती है कि केली कोड द्वारा गणना किए गए 59.13% पोजीशन का उपयोग करें, या 75% पोजीशन का उपयोग करके ट्रेड करें।

रणनीतिक लाभ

  1. दोहरे रुझान की पुष्टिः आरएसआई ओवरसोल्ड और औसत रेखा रुझान दोहरे सत्यापन के माध्यम से व्यापार जीतने की दर में वृद्धि।
  2. लचीला जोखिम नियंत्रणः गतिशील एटीआर स्टॉप बाजार में उतार-चढ़ाव के अनुसार समायोजन करने में सक्षम है, और फिक्स्ड स्टॉप अंतिम रक्षा प्रदान करता है।
  3. स्मार्ट लाभ प्रबंधनः ट्रिपल टारगेट बिट्स के साथ चरणबद्ध कटौती, लाभ के कुछ हिस्सों को लॉक करने के साथ-साथ बड़ी घटनाओं को याद नहीं करना।
  4. धन प्रबंधन विज्ञान: केली के सिद्धांतों का उपयोग करके जोखिम और लाभ के बीच संतुलन बनाने के लिए स्थिति का अनुकूलन करें।

रणनीतिक जोखिम

  1. रुझान निर्भरता: रणनीति अक्सर अस्थिर बाजारों में स्टॉप लॉस को ट्रिगर कर सकती है। अनुशंसाः झूठे संकेतों को फ़िल्टर करने के लिए थरथरानवाला सूचक जोड़ें।

  2. एक बड़ा स्टॉप लॉसः 25% का एक निश्चित स्टॉप लॉस एक बार में बहुत अधिक नुकसान का कारण बन सकता है। अनुशंसित: व्यक्तिगत जोखिम सहनशीलता के आधार पर हानि को रोकने के अनुपात को समायोजित करें।

  3. वापस लेने का जोखिमः मजबूत स्थिति में समय से पहले लाभ कम हो सकता है। अनुशंसाः लाभ लक्ष्य को गतिशील रूप से समायोजित किया जा सकता है, या ट्रेंड ट्रैक करने के लिए कुछ पदों को बनाए रखा जा सकता है।

रणनीति अनुकूलन दिशा

  1. सिग्नल अनुकूलन:
  • जोड़े गए लेनदेन की पुष्टि करें
  • MACD जैसे रुझान संकेतक के साथ
  • अस्थिरता फिल्टर का परिचय
  1. स्टॉप लॉस ऑप्टिमाइज़ेशन:
  • गतिशील स्टॉप लॉस अनुपात प्राप्त करें
  • अतिरिक्त समय रोकना
  • फ़िल्टर जोड़ें
  1. लाभ अनुकूलन:
  • एटीआर गतिशील सेट लक्ष्य
  • ट्रैकिंग रोकना
  • अनुकूलित हानि अनुपात

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA/4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © wielkieef

//@version=5
strategy("Simple RSI stock Strategy [1D] ", overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=75, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)

// Rsi
oversoldLevel = input(30, title="Oversold Level")
overboughtLevel = input(70, title="Overbought Level")
rsi = ta.rsi(close, 5)
rsi_overbought = rsi > overboughtLevel  
rsi_oversold = rsi < oversoldLevel

// Sma 200
lenghtSMA = input(200, title = "SMA lenght")
sma200 = ta.sma(close, lenghtSMA)

// ATR stop-loss
atrLength = input.int(20, title="ATR Length")
atrMultiplier = input.float(1.5, title="ATR Multiplier")
atrValue = ta.atr(atrLength)
var float long_stop_level = na
var float short_stop_level = na
var float tp1_level = na
var float tp2_level = na
var float tp3_level = na

// Strategy entry
long = (rsi_oversold ) and close > sma200 

// Take Profit levels
tp_1 = input.float(5.0, "TP 1", minval=0.1, step=0.1)
tp_2 = input.float(10.0, "TP 2", minval=0.2, step=0.1)
tp_3 = input.float(15.0, "TP 3", minval=0.3, step=0.1)

if long
    strategy.entry('Long', strategy.long)
    long_stop_level := close - atrMultiplier * atrValue
    tp1_level := strategy.position_avg_price * (1 + tp_1 / 100)
    tp2_level := strategy.position_avg_price * (1 + tp_2 / 100)
    tp3_level := strategy.position_avg_price * (1 + tp_3 / 100)

// basic SL - this code is from author RafaelZioni, modified by wielkieef
sl = input.float(25.0, 'Basic Stop Loss %', step=0.1)
per(procent) =>
    strategy.position_size != 0 ? math.round(procent / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)

// ATR SL
if (strategy.position_size > 0 and (close <= long_stop_level))
    strategy.close("Long")
    tp1_level := na
    tp2_level := na
    tp3_level := na
plot(long_stop_level, color=color.orange, linewidth=2, title="Long Stop Loss")

// TP levels
if (strategy.position_size > 0)
    if (not na(tp1_level) and close >= tp1_level)
        tp1_level := na
    if (not na(tp2_level) and close >= tp2_level)
        tp2_level := na
    if (not na(tp3_level) and close >= tp3_level)
        tp3_level := na

plot(strategy.position_size > 0 and not na(tp1_level) ? tp1_level : na, color=color.gray, style=plot.style_circles , linewidth=1, title="Take Profit 1")
plot(strategy.position_size > 0 and not na(tp2_level) ? tp2_level : na, color=color.gray, style=plot.style_circles , linewidth=1, title="Take Profit 2")
plot(strategy.position_size > 0 and not na(tp3_level) ? tp3_level : na, color=color.gray, style=plot.style_circles , linewidth=1, title="Take Profit 3")

// Strategy exit points for Take Profits
strategy.exit('TP 1', from_entry="Long", qty_percent=33, profit=per(tp_1), loss=per(sl))
strategy.exit('TP 2', from_entry="Long", qty_percent=66, profit=per(tp_2), loss=per(sl))
strategy.exit('TP 3', from_entry="Long", qty_percent=100, profit=per(tp_3), loss=per(sl))

// by wielkieef