दोहरी चलती औसत क्रॉसओवर रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-27 16:21:02
टैगः

img

अवलोकन

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

रणनीति तर्क

मूल तर्क प्रवेश और निकास निर्धारित करने के लिए तेज और धीमी गति से चलती औसत रेखाओं के बीच क्रॉसओवर पर निर्भर करता है।

विशेष रूप से, तेज और धीमी गति से चलने वाले औसत के दो सेटों की गणना की जाती हैः

  • पहला फास्ट ईएमए, लंबाई 8 दिन
  • दूसरा फास्ट ईएमए, लंबाई 21 दिन
  • पहला धीमा SMA, लंबाई 50 दिन
  • दूसरा धीमा एसएमए, लंबाई 200 दिन

इसके बाद तेज ईएमए और धीमी एसएमए के बीच क्रॉसओवर की जाँच की जाती हैः

  • यदि 8-दिवसीय ईएमए 50-दिवसीय एसएमए से अधिक पार करता है, तो स्वर्ण क्रॉस संकेत
  • यदि 8-दिवसीय ईएमए 50-दिवसीय एसएमए से नीचे जाता है, तो मृत्यु क्रॉस संकेत

झूठे संकेतों को फ़िल्टर करने के लिए, पुष्टि के लिए दूसरी ईएमए/एसएमए क्रॉसओवर की आवश्यकता होती हैः

  • केवल जब 21-दिवसीय ईएमए भी 50-दिवसीय एसएमए से ऊपर/नीचे पार हो जाता है, तब ही ट्रेडिंग सिग्नल ट्रिगर होता है

दो तेज/धीमी एमए क्रॉसओवर की आवश्यकता से कई झूठे संकेतों को फ़िल्टर किया जा सकता है और विश्वसनीयता में सुधार किया जा सकता है।

जब सिग्नल ट्रिगर खरीदें, तो लंबे समय तक जाएं। जब सिग्नल ट्रिगर बेचें, तो शॉर्ट जाएं।

यह रणनीति एक बार स्थिति में प्रवेश मूल्य से इनपुट प्रतिशत के आधार पर लाभ लेने और स्टॉप लॉस को भी निर्धारित करती है।

लाभ विश्लेषण

इस रणनीति के लाभों में निम्नलिखित शामिल हैंः

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

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

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

  1. एमए स्ट्रैट में अस्थिर बाजारों में बहुत सी छोटी जीत/हानि होती है
  2. मजबूत रुझान वाले बाजारों में बड़े नुकसान का सामना कर सकता है
  3. खराब पैरामीटर ट्यूनिंग भी कम प्रदर्शन की ओर जाता है

जोखिमों को नियंत्रित करने के लिए:

  1. विभिन्न बाजार स्थितियों के लिए मापदंडों को समायोजित करें
  2. लक्ष्य बाजार के अनुरूप बैकटेस्ट के आधार पर अनुकूलित करें
  3. हानि के आकार को सीमित करने के लिए स्टॉप लॉस का प्रयोग करें

सुधार की दिशाएँ

इस रणनीति को निम्नलिखित तरीकों से और अधिक अनुकूलित किया जा सकता हैः

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

निष्कर्ष

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


/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
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/
// © JMLSlop

//@version=4

src = close
strategy("Crossover moving averages", shorttitle="Cross MA-EMA", overlay=true, calc_on_order_fills=false)

// first fast EMA
len = input(8, "Length", type=input.integer, minval=1)
doma1 = input(true, title="EMA")
out1 = ema(src, len) 

//Second fast EMA
len2 = input(21, minval=1, title="Length")
doma2 = input(true, title="EMA")
out2 = ema(src, len2)

//First slow MA
len3 = input(50, minval=1, title="Length")
doma3 = input(true, title="SMA")
out3 = sma(src, len3)

//Second slow MA
len4 = input(200, minval=1, title="Length")
doma4 = input(true, title="SMA")
out4 = sma(src, len4)

// Profit
profit = input(8, "Profit/lost %", type=input.float, minval=1) * 0.01


plot(doma1 and out1 ? out1: na, color=color.blue, linewidth=1, title="1st EMA")
plot(doma2 and out2 ? out2: na, color=color.red, linewidth=1, title="2nd EMA")
plot(doma3 and out3 ? out3: na, color=color.green, linewidth=2, title="1st MA")
plot(doma4 and out4 ? out4: na, color=color.orange, linewidth=3, title="2nd MA")

// Orders config
takeProfitPrice =
     (strategy.position_size > 0) ? strategy.position_avg_price + open*profit : (strategy.position_size < 0) ? strategy.position_avg_price - (open*profit) : na

longStopPrice  = strategy.position_avg_price * (1 - profit)
shortStopPrice = strategy.position_avg_price * (1 + profit)

longCondition2 = (out2>out3 and (crossover(out1, out4) or crossover(out1[1], out4[1]) or crossover(out1[2], out4[2]) or (crossover(out1[3], out4[3]))) or (out2>out3 and (crossover(out1, out3) or crossover(out1[1], out3[1]) or crossover(out1[2], out3[2]) or crossover(out1[3], out3[3]))))
if (longCondition2)
    strategy.entry("Enter L", strategy.long)

shortCondition2 = (out2<out3 and (crossunder(out1, out4) or crossunder(out1[1], out4[1]) or crossunder(out1[2], out4[2]) or crossunder(out1[3], out4[3]))) or (out2<out3 and (crossunder(out1, out3) or crossunder(out1[1], out3[1]) or crossunder(out1[2], out3[2]) or crossunder(out1[3], out3[3])))
if (shortCondition2)
    strategy.entry("Enter S", strategy.short)


if (strategy.position_size > 0)
    strategy.exit("Exit L", limit=takeProfitPrice, stop=longStopPrice)

if (strategy.position_size < 0)
    strategy.exit("Exit S", limit=takeProfitPrice, stop=shortStopPrice)


अधिक