पवित्र ग्रैल रणनीति

लेखक:चाओझांग, दिनांकः 2023-12-01 15:27:39
टैगः

img

पवित्र ग्रैल रणनीति

होली ग्रैल रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है जो एडीएक्स संकेतक के साथ एक दोहरी चलती औसत प्रणाली को जोड़ती है। इसका उद्देश्य प्रवृत्ति की दिशा और ताकत की पहचान करना और प्रवृत्ति उलटों पर व्यापार करना है।

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

यह रणनीति प्रवेश के अवसरों की पहचान करने के लिए 20-दिवसीय घातीय चलती औसत (ईएमए) और एडीएक्स संकेतक दोनों का उपयोग करती है। विशेष रूप से, यह निम्नलिखित दो मामलों में व्यापार संकेत जारी करेगीः

  1. जब एडीएक्स मूल्य 30 से नीचे हो (जो एक कमजोर प्रवृत्ति का संकेत देता है), और कीमत नीचे से 20 दिन के ईएमए को तोड़ती है, तो लंबी अवधि में जाएं;

  2. जब एडीएक्स मूल्य 30 से ऊपर हो (जो एक मजबूत प्रवृत्ति का संकेत देता है), और कीमत ऊपर से 20 दिन के ईएमए को तोड़ती है, तो शॉर्ट करें।

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

लाभ विश्लेषण

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

  1. दोहरी चलती औसत प्रणाली का प्रयोग करके प्रवृत्तियों की प्रभावी पहचान की जा सकती है।
  2. ADX की सहायता से प्रवृत्ति की ताकत का आकलन करने से अमान्य ब्रेकआउट से बचा जा सकता है;
  3. रिवर्स और ट्रेंड ट्रेडिंग अवधारणाओं का संयोजन करने से ट्रेंड दोनों को कैप्चर किया जा सकता है और मोड़ के बिंदुओं पर रिवर्स किया जा सकता है।
  4. संचालन के नियम स्पष्ट और सरल हैं, जिन्हें लागू करना आसान है।

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

पवित्र ग्रैल रणनीति में कुछ जोखिम भी हैं, मुख्य रूप से निम्नलिखित क्षेत्रों मेंः

  1. ADX एक सहायक निर्णय संकेतक के रूप में भी गलत संकेत देगा;
  2. डबल चलती औसत के क्रॉसओवर छोटे रैली के कारण होने वाले नुकसान से पूरी तरह बच नहीं सकते हैं।
  3. अनुचित पैरामीटर सेटिंग्स (जैसे ADX लक्ष्य मूल्य, चलती औसत अवधि, आदि) संकेतों को बहुत लगातार या रूढ़िवादी होने का कारण बन सकती हैं।

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

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

अभी भी पवित्र ग्रैल रणनीति के लिए कई अनुकूलन दिशाएं हैंः

  1. विभिन्न प्रकार के चलती औसत, जैसे भारित चलती औसत आदि का प्रयोग करें।
  2. ADX लक्ष्य मूल्य को एक पैरामीटर के रूप में अनुकूलित किया जा सकता है;
  3. विभिन्न चक्र मापदंडों का परीक्षण किया जा सकता है, जैसे 10 दिन, 30 दिन का ईएमए;
  4. व्यापार संकेतों की पुष्टि के लिए अन्य सहायक संकेतकों जैसे आरएसआई, बोलिंगर बैंड आदि को जोड़ा जा सकता है।

मापदंडों को समायोजित करना या नए संकेतक जोड़ना रणनीति की लाभप्रदता या जीत दर को बढ़ा सकता है। लेकिन किसी भी अनुकूलन को इसकी मजबूती सुनिश्चित करने के लिए पर्याप्त बैकटेस्टिंग की आवश्यकता होती है।

सारांश

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


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

//@version=3
strategy("LAT Holy Grail v3", overlay=true)

/////////////TEST TIME ////////////////////////
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(4, "Backtest Start Month")
testStartDay = input(15, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2018, "Backtest Stop Year")
testStopMonth = input(5, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
//////////////////////////////////////////////////////////////////////

myema= ema(close, 20)
plot(myema, color=green, title="eMA", linewidth=3)



//longCondition = (crossover(close, myema)) //and adx3 < target
//if (longCondition)
    //strategy.entry("My Long Entry Id", strategy.long)

//shortCondition = (crossunder(close, myema)) //and adx3 > target
//if (shortCondition)
    //strategy.entry("My Short Entry Id", strategy.short)
    
    //////////////////////////////////////////////////////////
    ///////////////////////////////////////   DMI  ///////////////////////////////////////////////
len3 = input(14, minval=1, title="DI Length")                           /////////////////////
lensig3 = input(14, title="ADX Smoothing", minval=1, maxval=50)         ////////////////////
up3 = change(high)                                                      ///////////////////
down3 = -change(low)                                                    //////////////////
plusDM3 = na(up3) ? na : (up3 > down3 and up3 > 0 ? up3 : 0)            /////////////////
minusDM3 = na(down3) ? na : (down3 > up3 and down3 > 0 ? down3 : 0)     ////////////////
trur3 = rma(tr, len3)                                                   ///////////////
plus3 = fixnan(100 * rma(plusDM3, len3) / trur3)                        //////////////
minus3 = fixnan(100 * rma(minusDM3, len3) / trur3)                      /////////////
sum3 = plus3 + minus3                                                   ////////////
adx3 = 100 * rma(abs(plus3 - minus3) / (sum3 == 0 ? 1 : sum3), lensig3) ///////////
//plot(plus3, color=green, style=circles, linewidth=2, title="+DI")     //////////
//plot(minus3, color=red, style=circles, linewidth=2, title="-DI")      /////////
plot(adx3, color=aqua, style=line, linewidth=3, title="ADX")            ////////
target = input(30, title=" ADX Target Line")                            ///////
plot(target, color=yellow, title="ADX Target Line")                     //////
/////////////////////////////////////////////////////////////////////////////////////////////////
                                                                                        
plot(hl2)


///////////////////////////////////////////////  eMA SIGNAL LINE   ///////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////// HOLY GRAIL STRATEGY ///////////////////////////////////////////////////////////////////

if (adx3 <= target) and crossover(close, myema)
    strategy.entry("HolyGrail", strategy.long, comment="Long")
 
if (adx3 >= target) and crossunder(close, myema)
    strategy.entry("HolyGrail", strategy.short, comment="Short")
    


अधिक