रिवर्स रणनीति के बाद एमएसीडी और आरएसआई आधारित रुझान

लेखक:चाओझांग, दिनांकः 2023-12-18 17:53:38
टैगः

img

अवलोकन

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

रणनीति तर्क

  1. एमएसीडी अंतर और ईएमए की गणना करें।

    fastMA = ema(close, fast)
    slowMA = ema(close, slow) 
    macd = fastMA - slowMA
    signal = sma(macd, 9)
    ema = ema(close, input(200))
    
  2. खरीद संकेत उत्पन्न करेंः एमएसीडी डिफ (एमएसीडी - संकेत) 0 से ऊपर जाता है और बंद मूल्य ईएमए से ऊपर होता है।

    delta = macd - signal
    buy_entry= close>ema and delta > 0 
    
  3. बेचने का संकेत उत्पन्न करेंः एमएसीडी डिफ 0 से नीचे जाता है और बंद मूल्य ईएमए से नीचे होता है।

    sell_entry = close<ema and delta<0
    
  4. जब आरएसआई ओवरबॉट या ओवरसोल्ड स्तर तक पहुंचता है तो व्यापार में उलटफेर होता है।

    if (rsi > 70 or rsi < 30)
        reversal := true
    

लाभ विश्लेषण

  1. रुझानों और उलटफेरों दोनों से लाभ प्राप्त करने के लिए रुझानों के बाद और उलटफेर व्यापार को मिलाएं।
  2. प्रवृत्ति दिशाओं का आकलन करने और झूठे ब्रेकआउट से बचने के लिए एमएसीडी का प्रयोग करें।
  3. ईएमए के साथ शोर फ़िल्टर करें।
  4. रिवर्स ट्रेडों के लिए आरएसआई के साथ लाभप्रदता में वृद्धि।

जोखिम विश्लेषण

  1. रिवर्स ट्रेडों में मजबूत ट्रेंडिंग बाजारों में नुकसान हो सकता है।
  2. अनुचित पैरामीटर ट्यूनिंग से ट्रेडिंग आवृत्ति और स्लिप लागत बढ़ सकती है।
  3. रिवर्स सिग्नल में कुछ विलंब हो सकता है, सर्वोत्तम प्रवेश मूल्य गायब हो सकते हैं।

समाधान:

  1. सर्वोत्तम संयोजन खोजने के लिए मापदंडों का अनुकूलन करें।
  2. रिवर्स आरएसआई की सीमाओं को ठीक से समायोजित करें।
  3. नियंत्रण घाटे में स्टॉप लॉस जोड़ने पर विचार करें।

अनुकूलन दिशाएँ

  1. ईएमए लंबाई का परीक्षण करें।
  2. एमएसीडी मापदंडों का अनुकूलन करें.
  3. विभिन्न आरएसआई रिवर्स थ्रेशोल्ड का परीक्षण करें।
  4. अन्य संकेतकों के साथ संयोजन पर विचार करें।

सारांश

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


/*backtest
start: 2023-11-17 00:00:00
end: 2023-12-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mbuthiacharles4

//Good with trending markets
//@version=4
strategy("CHARL MACD EMA RSI")

fast = 12, slow = 26
fastMA = ema(close, fast)
slowMA = ema(close, slow)
macd = fastMA - slowMA
signal = sma(macd, 9)

ema = ema(close, input(200))

rsi = rsi(close, input(14))
//when delta > 0  and close above ema buy

delta = macd - signal

buy_entry= close>ema and delta > 0
sell_entry = close<ema and delta<0 
var bought = false
var sold = false
var reversal = false
if (buy_entry and bought == false and rsi <= 70) 
    strategy.entry("Buy",true , when=buy_entry)
    bought := true
    
strategy.close("Buy",when= delta<0 or rsi > 70)
if (delta<0 and bought==true)
    bought := false

//handle sells

if (sell_entry and sold == false and rsi >= 30)
    strategy.entry("Sell",false , when=sell_entry)
    sold := true

strategy.close("Sell",when= delta>0 or rsi < 30)
if (delta>0 and sold==true)
    sold := false
    
if (rsi > 70 or rsi < 30)
    reversal := true
    placing = rsi > 70 ? high :low
    label.new(bar_index, placing, style=label.style_flag, color=color.blue, size=size.tiny)
if (reversal == true)
    if (rsi < 70 and sold == false and delta < 0)
        strategy.entry("Sell",false , when= delta < 0)
        sold := true
        reversal := false
    else if (rsi > 30 and bought == false and delta > 0)
        strategy.entry("Buy",true , when= delta > 0)
        bought := true
        reversal := false



अधिक