डीएमआई और आरएसआई पर आधारित रणनीति का अनुसरण करने वाली प्रवृत्ति

लेखक:चाओझांग, दिनांकः 2024-01-25 15:56:41
टैगः

img

## रणनीति तर्क

  1. प्रवृत्ति दिशा का न्याय करने के लिए डीएमआई संकेतक का प्रयोग करें
    • डीएमआई में तीन पंक्तियाँ होती हैं: +डीआई ऊपर की ओर रुझान दर्शाता है, -डीआई नीचे की ओर रुझान दर्शाता है, एडीएक्स रुझान की ताकत का आकलन करता है
    • जब +DI>-DI, यह एक अपट्रेंड है, लंबे समय तक जाओ; जब -DI>+DI, यह एक डाउनट्रेंड है, शॉर्ट जाओ
  2. ओवरबॉट और ओवरसोल्ड का आकलन करने के लिए आरएसआई संकेतक का प्रयोग करें
    • आरएसआई ओवरबॉट या ओवरसोल्ड निर्धारित करने के लिए एक अवधि में औसत लाभ और हानि की तुलना करता है
    • 30 से नीचे का आरएसआई ओवरसोल्ड है, 70 से ऊपर का ओवरबॉट है
  3. प्रवृत्ति की दिशा निर्धारित करने के लिए डीएमआई और ओवरबॉट/ओवरसोल्ड के लिए आरएसआई का संयोजन बाजार की लय को बेहतर ढंग से पकड़ सकता है
    • जब डीएमआई अपट्रेंड और आरएसआई ओवरसोल्ड दिखाता है, तो लंबे समय के लिए अच्छा समय
    • जब डीएमआई डाउनट्रेंड और आरएसआई ओवरबॉट दिखाता है, तो शॉर्ट के लिए अच्छा समय
  4. मुनाफे को लॉक करने के लिए स्टॉप लॉस को सेट करें

##लाभ विश्लेषण यह एक अपेक्षाकृत परिपक्व और स्थिर प्रवृत्ति है जो निम्नलिखित शक्तियों के साथ रणनीति का पालन करती हैः

  1. ट्रेंड और ओवरबॉट/ओवरसोल्ड का संयोजन करने से रेंज-बाउंड मार्केट में लगातार ट्रेडिंग से बचा जा सकता है
  2. लोकप्रिय संकेतकों डीएमआई और आरएसआई के साथ आसान पैरामीटर समायोजन और गहन व्यावहारिक सत्यापन
  3. ट्रेलिंग स्टॉप लॉस लाभ में लॉक करता है और कुछ हद तक स्टॉप लॉस से बचता है
  4. स्पष्ट और आसान नियम, लागू करने में आसान

जोखिम विश्लेषण कुछ जोखिम भी हैं जिन पर ध्यान दिया जाना चाहिए:

  1. डीएमआई और आरएसआई आसानी से झूठे संकेत उत्पन्न कर सकते हैं, जिससे अनावश्यक नुकसान हो सकता है
  2. अनुचित ट्रेलिंग स्टॉप लॉस सेटिंग से बहुत जल्दी या बहुत अधिक स्टॉप लॉस हो सकता है
  3. प्रभावी ढंग से विपसा बाजारों को फ़िल्टर नहीं कर सकते, फंसने के लिए प्रवण हैं
  4. प्रवृत्ति का अनुसरण करने वाला प्रवृत्ति के उलट होने पर तुरंत बाहर नहीं निकलता है

##अनुकूलन दिशाएँ इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः

  1. अस्थिर बाजार से बचने के लिए अस्थिरता फ़िल्टर जोड़ें
  2. झूठे ब्रेकआउट से बचने के लिए कैंडलस्टिक पैटर्न को मिलाएं
  3. नुकसान को सीमित करने के लिए महत्वपूर्ण समर्थन/प्रतिरोध के निकट उचित स्टॉप लॉस सेट करें
  4. प्रवृत्ति पूर्वानुमान के लिए मशीन लर्निंग मॉडल को बढ़ाएं
  5. डीएमआई और आरएसआई पैरामीटर का गतिशील अनुकूलन


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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © YingYangJPN

//@version=5
strategy("DMI and RSI Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// DMI indikatörünü tanımlayalım
lensig = input.int(14, title="ADX Smoothing", minval=1, maxval=50)
len = input.int(14, minval=1, title="DI Length")
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = ta.rma(ta.tr, len)
plus = fixnan(100 * ta.rma(plusDM, len) / trur)
minus = fixnan(100 * ta.rma(minusDM, len) / trur)
sum = plus + minus
adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), lensig)
trailing_stop_loss_factor = input.float(0.50, "Trailing Stop Loss Factor", step = 0.01)

// RSI indikatörünü tanımlayalım
rsiLength = input.int(14, minval=1, title="RSI Length")
rsiSource = input(close, title="RSI Source")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
rsiValue = ta.rsi(rsiSource, rsiLength)

// Uzun pozisyon açma koşullarını tanımlayalım
longCondition1 = rsiValue < rsiOversold // RSI oversold seviyesinin altındaysa
longCondition2 = adx > 20 // ADX 20'den büyükse
longCondition3 = minus > plus

// Kısa pozisyon açma koşullarını tanımlayalım
shortCondition1 = rsiValue > rsiOverbought // RSI overbought seviyesinin üstündeyse
shortCondition2 = adx > 20 // ADX 20'den büyükse
shortCondition3 = plus > minus

// Uzun pozisyon açalım
if longCondition1 and longCondition2 and longCondition3
    strategy.entry("Long", strategy.long)
    

// Kısa pozisyon açalım
if shortCondition1 and shortCondition2 and shortCondition3
    strategy.entry("Short", strategy.short)
    
// Trailing Stop Loss
longTrailingStopLoss = strategy.position_avg_price * (1 - trailing_stop_loss_factor / 100)
shortTrailingStopLoss = strategy.position_avg_price * (1 + trailing_stop_loss_factor / 100)
if strategy.position_size > 0 
    strategy.exit("Exit Long", "Long", stop  = longTrailingStopLoss)
if strategy.position_size < 0 
    strategy.exit("Exit Short", "Short", stop = shortTrailingStopLoss)

// DMI ve RSI indikatörlerini grafiğe çizelim
plot(adx, color=#F50057, title="ADX")
plot(plus, color=#2962FF, title="+DI")
plot(minus, color=#FF6D00, title="-DI")
plot(rsiValue, color=#9C27B0, title="RSI")
hline(rsiOverbought, title="RSI Overbought Level", color=#E91E63, linestyle=hline.style_dashed)
hline(rsiOversold, title="RSI Oversold Level", color=#4CAF50, linestyle=hline.style_dashed)



अधिक