धुरी बिंदु उत्क्रमण और निकास पर आधारित ट्रेडिंग रणनीतियाँ


निर्माण तिथि: 2024-04-30 15:57:54 अंत में संशोधित करें: 2024-04-30 15:57:54
कॉपी: 0 क्लिक्स: 753
1
ध्यान केंद्रित करना
1617
समर्थक

धुरी बिंदु उत्क्रमण और निकास पर आधारित ट्रेडिंग रणनीतियाँ

अवलोकन

यह रणनीतियाँ बाजार में उतार-चढ़ाव की पहचान करने के लिए Pivot Points पर आधारित होती हैं और इस आधार पर ट्रेड करती हैं। जब बाज़ार बायीं ओर 4 K लाइनों के भीतर Pivot Points High (Pivot High) होता है, तो रणनीतियाँ अधिक पोजीशन खोलती हैं; जब बायीं ओर 4 K लाइनों के भीतर Pivot Points Low (Pivot Low) होता है, तो रणनीतियाँ खाली होती हैं। रणनीति का स्टॉप लॉस खोलने की कीमत के ऊपर और नीचे न्यूनतम मूल्य परिवर्तन इकाई (syminfo.mintick) पर सेट किया जाता है। रणनीति के बाहर निकलने की दो शर्तें होती हैंः 1) जब अगले विपरीत दिशा में Pivot Points फ्लैश पोजीशन होते हैं; 2) जब फ्लोट लॉस 30% फ्लैश पोजीशन तक पहुंचता है।

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

  1. ta.pivothigh () और ta.pivotlow () फ़ंक्शंस का उपयोग करके, बाएं 4 K लाइनों और दाएं 2 K लाइनों के दायरे में अक्षीय बिंदुओं के उच्चतम (swh) और निम्नतम (swl) बिंदुओं की गणना करें।
  2. जब अक्ष बिंदु उच्चता मौजूद है, तो उच्चतम मूल्य को अद्यतन करें, जबकि वर्तमान उच्चतम मूल्य को पिछले उच्चतम मूल्य से अधिक संतुष्ट करते हुए, मल्टीप्लेयर स्थिति को खोलें।
  3. जब बहु-प्रवेश की स्थिति (le) की स्थापना की जाती है, तो केंद्र बिंदु की ऊंचाई के ऊपर एक न्यूनतम परिवर्तन इकाई (syminfo.mintick) की स्थिति खोलें और अधिक करें।
  4. अधिक करने के समान, न्यूनतम मूल्य को अद्यतन करें (lprice) जब केंद्र बिंदु निम्नता मौजूद है (swl_cond), और यदि वर्तमान न्यूनतम मूल्य पिछले न्यूनतम मूल्य से कम है, तो शून्य प्रविष्टि की स्थिति को खोलें (se) ।
  5. जब शून्य प्रविष्टि शर्त (se) स्थापित होती है, तो केंद्र बिंदु के निचले बिंदु के नीचे एक न्यूनतम परिवर्तन इकाई (syminfo.mintick) के स्थान पर स्थिति खोलें और शून्य करें।
  6. ExitAtNextPivot () फ़ंक्शन में, यदि कोई बहु-अग्रणी स्थिति रखता है, तो वह अगले धुरी बिंदु के निचले बिंदु से नीचे एक न्यूनतम परिवर्तन इकाई को रोकता है; यदि कोई खाली स्थिति रखता है, तो वह अगले धुरी बिंदु के ऊपरी बिंदु से ऊपर एक न्यूनतम परिवर्तन इकाई को रोकता है।
  7. ExitIfProfitLessThanThirtyPercent () फ़ंक्शन में, ओवरहेड और खाली पदों के लिए लाभ-हानि प्रतिशत की गणना करें, यदि हानि 30% से अधिक है, तो पतन।

रणनीतिक लाभ

  1. केंद्र बिंदु बाजार के समर्थन और दबाव की स्थिति को बेहतर ढंग से दर्शाता है, एक सामान्य रूप से इस्तेमाल किया जाने वाला तकनीकी विश्लेषण सूचक है, जिसमें कुछ बाजार मान्यता है।
  2. बाजार में उतार-चढ़ाव के अवसरों को पकड़ने के लिए, केंद्र बिंदु में प्रवेश करें।
  3. दो बाहर निकलने की शर्तें निर्धारित की गई हैं, एक तकनीकी बाहर निकलने पर आधारित है जो अगले विपरीत दिशा के केंद्र बिंदु पर है, और दूसरा हानिकारक प्रतिशत पर आधारित है जो कुछ हद तक रणनीति को वापस लेने में सक्षम है।

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

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

रणनीति अनुकूलन दिशा

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

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Pivot Reversal Strategy with Pivot Exit", overlay=true)

leftBars = input(4)
rightBars = input(2)

var float dailyEquity = na

// Reset equity to $10,000 at the beginning of each day
isNewDay = ta.change(time("D")) != 0
if (isNewDay)
    dailyEquity := 10000

// Calculate pivot highs and lows
swh = ta.pivothigh(leftBars, rightBars)
swl = ta.pivotlow(leftBars, rightBars)

// Define long entry condition
swh_cond = not na(swh)
hprice = 0.0
hprice := swh_cond ? swh : hprice[1]
le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])

// Enter long position if long entry condition is met
if (le)
    strategy.entry("PivRevLE", strategy.long, comment="EnterLong", stop=hprice + syminfo.mintick)

// Define short entry condition
swl_cond = not na(swl)
lprice = 0.0
lprice := swl_cond ? swl : lprice[1]
se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])

// Enter short position if short entry condition is met
if (se)
    strategy.entry("PivRevSE", strategy.short, comment="EnterShort", stop=lprice - syminfo.mintick)

// Exit condition: Exit at the next pivot point
exitAtNextPivot() =>
    if strategy.opentrades > 0
        if strategy.position_size > 0
            // Exiting long position at next pivot low
            if not na(swl)
                strategy.exit("ExitLong", "PivRevLE", stop=swl - syminfo.mintick)
        else
            // Exiting short position at next pivot high
            if not na(swh)
                strategy.exit("ExitShort", "PivRevSE", stop=swh + syminfo.mintick)

// Call exitAtNextPivot function
exitAtNextPivot()

// Exit condition: Exit if profit is less than 30%
exitIfProfitLessThanThirtyPercent() =>
    if strategy.opentrades > 0
        if strategy.position_size > 0
            // Calculate profit percentage for long position
            profit_percentage_long = (close - strategy.position_avg_price) / strategy.position_avg_price * 100
            // Exiting long position if profit is less than 30%
            if profit_percentage_long < -30
                strategy.close("PivRevLE")
        else
            // Calculate profit percentage for short position
            profit_percentage_short = (strategy.position_avg_price - close) / strategy.position_avg_price * 100
            // Exiting short position if profit is less than 30%
            if profit_percentage_short < -30
                strategy.close("PivRevSE")

// Call exitIfProfitLessThanThirtyPercent function
exitIfProfitLessThanThirtyPercent()