एटीआर उतार-चढ़ाव के अनुकूल गतिशील स्टॉप लॉस मोमेंटम नॉक-इन रणनीति


निर्माण तिथि: 2023-10-09 15:30:29 अंत में संशोधित करें: 2023-10-09 15:30:29
कॉपी: 0 क्लिक्स: 628
1
ध्यान केंद्रित करना
1617
समर्थक

अवलोकन

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

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

  1. k मानों की गणना लें की लंबाई के रूप में की जाती हैsma (close, stoch, high, low, len), smoothK), जो कि यादृच्छिक सूचक के मानों को दर्शाता है।

  2. एटीआर मूल्य की गणना लें की लंबाई के रूप में करेंatr ((len)

  3. एटीआर मूल्य के आधार पर स्टॉप-लॉस लाइन प्लॉट ((rsi ((atr, len) +lowLine, …, title = “low line”) और इनपुट लाइन प्लॉट ((rsi ((atr, len)*-1+100-lowLine, …, title = “up line”)。

  4. यह निर्धारित करें कि K मूल्य कब प्रवेश रेखा crossover (k, up line) और स्टॉप लाइन crossunder (k, low line) को तोड़ता है, जिससे खरीद और बेचने के संकेत मिलते हैं।

  5. खरीद और बिक्री के पृष्ठभूमि रंगों को चित्रित करें

  6. जब उपरोक्त सिग्नल पूरा हो जाता है, तो खरीद और बेचने का संचालन करें और स्टॉप लॉस सेट करें।

रणनीति का विश्लेषण

  1. यह रणनीति बाजार में उतार-चढ़ाव के आधार पर एटीआर को गतिशील रूप से समायोजित करने के लिए स्टॉप लाइन और इनपुट लाइन का उपयोग करती है, और बाजार में उतार-चढ़ाव के आधार पर स्टॉप जोखिम को स्वचालित रूप से समायोजित कर सकती है।

  2. जब बाजार में भारी उतार-चढ़ाव होता है, तो स्टॉप लाइन और इनपुट लाइन के बीच की दूरी बढ़ा दी जाती है ताकि स्टॉप को हिलाया न जा सके।

  3. जब बाजार में उतार-चढ़ाव शांत होता है, तो स्टॉप लाइन और इनपुट लाइन के बीच की दूरी कम हो जाती है, जिससे समय पर स्टॉप हो सकता है।

  4. गतिशीलता सूचकांक के मूल्य का उपयोग करके प्रवेश और प्रस्थान का निर्धारण करें। के मूल्य मूल्य परिवर्तन की गति को प्रतिक्रिया दे सकता है, टर्निंग पॉइंट्स को पकड़ सकता है।

  5. गतिशीलता सूचक और अस्थिरता सूचक के संयोजन के साथ, यह प्रवृत्ति को पकड़ने के साथ-साथ अस्थिरता के आधार पर जोखिम को स्वचालित रूप से समायोजित करने में सक्षम है।

रणनीतिक जोखिम विश्लेषण

  1. K मानों में झूठी दरारें उत्पन्न होती हैं, जो अनावश्यक ट्रेडिंग सिग्नल को ट्रिगर कर सकती हैं। K मान पैरामीटर smoothK को K लाइन को चिकना करने के लिए उचित रूप से समायोजित किया जा सकता है।

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

  3. केवल ट्रैक किए गए स्टॉप को यह निर्धारित करने में असमर्थ है कि स्टॉप पोजिशन उचित है या नहीं, और स्टॉप जोखिम को नियंत्रित करने में असमर्थ है। स्टॉप जोखिम को नियंत्रित करने के लिए अपेक्षित स्टॉप एल्गोरिदम के साथ संयोजन पर विचार किया जा सकता है।

  4. रणनीतिक संकेत अक्सर होते हैं और ट्रेडिंग की लागत अधिक होती है। ट्रेडिंग की आवृत्ति को नियंत्रित करने के लिए प्रवेश लाइन पैरामीटर लोलाइन को उचित रूप से समायोजित किया जा सकता है।

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

  1. K मानों के लिए smoothK पैरामीटर को समायोजित करने के लिए परीक्षण करें, और smoothK मानों के लिए इष्टतम पैरामीटर संयोजन खोजें।

  2. एटीआर मापदंडों के लिए उपयुक्त एटीआर मापदंडों को निर्धारित करने के लिए एटीआर मापदंडों के लिए अलग-अलग मानों का परीक्षण करें।

  3. लॉगिन लाइन पैरामीटर को अनुकूलित करें और ट्रेडिंग आवृत्ति को नियंत्रित करने के लिए इष्टतम पैरामीटर ढूंढें।

  4. अन्य संकेतकों के साथ प्रवेश संकेतों को फ़िल्टर करने पर विचार करें, ताकि झूठे टूटने से बचा जा सके। जैसे कि व्यापार मात्रा सूचकांक, केडीजे सूचकांक आदि।

  5. स्टॉप लॉस को अनुकूलित करने के तरीके पर विचार करें, स्टॉप लॉस को उम्मीद के रूप में सुधार करें, स्टॉप लॉस जोखिम को सक्रिय रूप से नियंत्रित करें।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-09-08 00:00:00
end: 2023-10-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Stoch + ATR", overlay=false, pyramiding = 0, calc_on_order_fills = false, commission_type =  strategy.commission.percent, commission_value = 0.0454, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

len = input(34, minval=1, title="Length for Main Stochastic & ATR") 
smoothK = input(2, minval=1, title="SmoothK for Main Stochastic")
lowLine = input(10, minval=-50, maxval=50, title="Multiplier for up/low lines")

//Stoch formula
k = sma(stoch(close, high, low, len), smoothK)
plot(k, color=aqua, title = "Stoch")

//len=input
atr=atr(len)
plot(rsi(atr, len)+lowLine , color=red,linewidth=2, title = "low line")
plot(rsi(atr, len)*-1+100-lowLine, color=lime,linewidth=2, title = "up line")

aboveLine = crossunder(k,(rsi(atr, len)+lowLine))? 1 : 0
belowLine = crossover(k,(rsi(atr, len)*-1+100-lowLine))? 1 : 0

aboveLine2 = crossover(k,(rsi(atr, len)+lowLine))? 1 : 0
belowLine2 = crossunder(k,(rsi(atr, len)*-1+100-lowLine))? 1 : 0

skip=(aboveLine2==1 or belowLine2==1) and (aboveLine==1 or belowLine==1)? 1 : 0

//BackGroound Color Plots
plotchar(belowLine==1 and skip==0, title="Buy Signal", char='B', location=location.bottom, color=white, transp=0, offset=0)
plotchar(aboveLine==1 and skip==0, title="Sell Signal", char='S', location=location.top, color=white, transp=0, offset=0)
plotchar(belowLine2==1 and skip==0, title="Close Signal", char='C', location=location.bottom, color=white, transp=0, offset=0)
plotchar(aboveLine2==1 and skip==0, title="Close Signal", char='C', location=location.top, color=white, transp=0, offset=0)

bgcolor(aboveLine==1 ? red : na, transp=30, title = "sell signal")
bgcolor(belowLine==1 ? lime : na, transp=30, title = "buy signal")

bgcolor(aboveLine2==1 ? lime : na, transp=80, title = "close short")
bgcolor(belowLine2==1 ? red : na, transp=80, title = "close long")

bgcolor(skip==1 ? black : na, transp=0, title = "skip signal")

//strategy
longCondition = belowLine==1
shortCondition = aboveLine==1

strategy.entry("BUY", strategy.long, when = longCondition)
strategy.entry("SELL", strategy.short, when = shortCondition)
strategy.cancel_all(when = skip==1)