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

लेखक:चाओझांग, दिनांकः 2023-11-21 17:00:49
टैगः

img

अवलोकन

यह रणनीति एमएसीडी संकेतक के दोहरी चलती औसत के क्रॉसओवर की गणना करके खरीद और बिक्री संकेतों की पहचान करती है। यह ट्रेडिंग संकेतों को इंगित करने के लिए चार्ट पर तीरों को प्लॉट करती है।

सिद्धांत

यह रणनीति पहले फास्ट लाइन (12 पीरियड ईएमए), स्लो लाइन (26 पीरियड ईएमए) और एमएसीडी अंतर की गणना करती है। फिर यह फास्ट और स्लो लाइनों के क्रॉसओवर के साथ-साथ एमएसीडी अंतर के सकारात्मक/नकारात्मक मूल्य के आधार पर लंबे और छोटे संकेतों का निर्धारण करती हैः

  1. जब तेज रेखा धीमी रेखा (गोल्डन क्रॉस) के ऊपर पार करती है और एमएसीडी अंतर 0 से ऊपर पार करता है, तो यह एक खरीद संकेत है
  2. जब तेज रेखा धीमी रेखा (मृत्यु क्रॉस) से नीचे पार हो जाती है और एमएसीडी अंतर 0 से नीचे पार हो जाता है, तो यह एक बिक्री संकेत होता है

झूठे संकेतों को फ़िल्टर करने के लिए, कोड पिछले कैंडलस्टिक के संकेत की भी जांच करता है। वर्तमान संकेत तभी ट्रिगर होता है जब पिछले कैंडलस्टिक में विपरीत संकेत (खरीद बनाम बिक्री या इसके विपरीत) होता है।

इसके अतिरिक्त, चार्ट पर खरीदारी और बिक्री संकेतों को इंगित करने के लिए तीर के आकार को चित्रित किया गया है।

लाभ

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

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

जोखिम और समाधान

इस रणनीति के कुछ जोखिमः

  1. क्रॉसओवर गलत संकेत उत्पन्न कर सकते हैं और ओवर-ट्रेडिंग का कारण बन सकते हैं। गलत संकेतों को कम करने के लिए पैरामीटर को समायोजित किया जा सकता है या अतिरिक्त फ़िल्टर जोड़े जा सकते हैं।
  2. प्रवृत्ति में सीमाओं को पहचानने में असमर्थ, संभावित रूप से नुकसान का कारण बन सकता है। ADX जैसे प्रवृत्ति संकेतक जोड़ने से इससे बचा जा सकता है।
  3. फिक्स्ड नियम बदलते बाजारों के अनुकूल नहीं हो सकते। मशीन लर्निंग संभावित रूप से इसे अनुकूलित कर सकती है।

बढ़ोतरी के अवसर

रणनीति में सुधार के कुछ तरीके:

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

सारांश

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


/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Daniels stolen code
strategy(shorttitle="Daniels Stolen Code", title="Daniels Stolen Code", overlay=true, calc_on_order_fills=true, pyramiding=0)

//Define MACD Variables
fast = 12, slow = 26
fastMACD = ema(hlc3, fast)
slowMACD = ema(hlc3, slow)
macd = fastMACD - slowMACD
signal = sma(macd, 9)
hist = macd - signal
currMacd = hist[0]
prevMacd = hist[1]
currPrice = hl2[0]
prevPrice = hl2[1]

buy = currPrice > prevPrice and currMacd > prevMacd
sell = currPrice < prevPrice and currMacd < prevMacd
neutral = (currPrice < prevPrice and currMacd > prevMacd) or (currPrice > prevPrice and currMacd < prevMacd)
//Plot Arrows

timetobuy = buy==1 and (sell[1]==1 or (neutral[1]==1 and sell[2]==1) or (neutral[1]==1 and neutral[2]==1 and sell[3]==1) or (neutral[1]==1 and neutral[2]==1 and neutral[3]==1 and sell[4]==1) or (neutral[1]==1 and neutral[2]==1 and neutral[3]==1 and neutral[4]==1 and sell[5]==1) or (neutral[1]==1 and neutral[2]==1 and neutral[3]==1 and neutral[4]==1 and neutral[5]==1 and sell[6]==1))
timetosell = sell==1 and (buy[1]==1 or (neutral[1]==1 and buy[2]==1) or (neutral[1]==1 and neutral[2]==1 and buy[3]==1) or (neutral[1]==1 and neutral[2]==1 and neutral[3]==1 and buy[4]==1) or (neutral[1]==1 and neutral[2]==1 and neutral[3]==1 and neutral[4]==1 and buy[5]==1) or (neutral[1]==1 and neutral[2]==1 and neutral[3]==1 and neutral[4]==1 and neutral[5]==1 and buy[6]==1))

plotshape(timetobuy, color=blue, location=location.belowbar, style=shape.arrowup)
plotshape(timetosell, color=red, location=location.abovebar, style=shape.arrowdown)
//plotshape(neutral, color=black, location=location.belowbar, style=shape.circle)


//Test Strategy
// strategy.entry("long", true, 1, when = timetobuy and time > timestamp(2017, 01, 01, 01, 01)) // buy by market if current open great then previous high
// strategy.close("long", when = timetosell and time > timestamp(2017, 01, 01, 01, 01))

strategy.order("buy", true, 1, when=timetobuy==1 and time > timestamp(2019, 01, 01, 01, 01))
strategy.order("sell", false, 1, when=timetosell==1 and time > timestamp(2019, 01, 01, 01, 01))



// strategy.entry(id = "Short", long = false, when = enterShort())
// strategy.close(id = "Short", when = exitShort())

//strategy.entry("long", true, 1, when = open > high[1]) // enter long by market if current open great then previous high
// strategy.exit("exit", "long", profit = 10, loss = 5) // ge

अधिक