मूल्य चैनल आधारित ब्रेकआउट रणनीति


निर्माण तिथि: 2024-01-16 14:22:57 अंत में संशोधित करें: 2024-01-16 14:22:57
कॉपी: 0 क्लिक्स: 664
1
ध्यान केंद्रित करना
1617
समर्थक

मूल्य चैनल आधारित ब्रेकआउट रणनीति

अवलोकन

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

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

यह रणनीति उच्चतम () और निम्नतम () फ़ंक्शंस का उपयोग करके पिछले कुछ समय के दौरान उच्चतम और निम्नतम कीमतों की गणना करती है, जिससे मूल्य चैनल की ऊपरी और निचली पट्टी का निर्धारण किया जा सकता है। चैनल की मध्य रेखा को ऊपरी और निचली पट्टी के औसत के रूप में परिभाषित किया गया है। फिर K-लाइन इकाइयों के आकार की गणना की जाती है, और SMA के माध्यम से चिकनाई की जाती है, यह निर्धारित करने के लिए कि क्या अंतिम K-लाइन की इकाई औसत इकाई से आधे से अधिक है। यह भी निर्धारित किया जाता है कि अंतिम दो K-लाइन समोच्च हैं (दो लगातार लाल या दो लगातार हरे) । जब ये शर्तें पूरी होती हैं, तो एक खरीद / बिक्री संकेत उत्पन्न होता है, और कीमत चैनल की दिशा में वापस आ जाती है, तो स्थिति को समतल कर देती है।

श्रेष्ठता विश्लेषण

यह मूल्य चैनल प्रवृत्ति का उपयोग करने के लिए एक सफलता रणनीति है। इसके कुछ फायदे हैंः

  1. मूल्य चैनल का उपयोग समग्र प्रवृत्ति की दिशा का आकलन करने के लिए किया जाता है ताकि बाजार के शोर को प्रभावी ढंग से फ़िल्टर किया जा सके।

  2. लगातार दो K लाइनों में एक साथ प्रवेश द्वार हैं, जो एक मजबूत गति और सफलता की उच्च दर को दर्शाता है।

  3. K-लाइन इकाई को आधे से अधिक औसत इकाई के रूप में आंकना, झूठी सफलता के साथ धोखाधड़ी से बचा जा सकता है।

  4. रणनीति तर्क सरल है और इसे लागू करना आसान है।

  5. अनुकूलन योग्य पैरामीटर जैसे कि चैनल चक्र, लेनदेन की किस्म, लेनदेन का समय, आदि।

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

इस रणनीति में कुछ संभावित जोखिम भी हैं:

  1. हालांकि, इस बात की संभावना बनी हुई है कि यह विफल हो सकता है और इससे नुकसान हो सकता है।

  2. जब हालात काफी उतार-चढ़ाव वाले होते हैं, तो यह निर्णय विफल हो सकता है।

  3. इस प्रकार, यह नुकसान को प्रभावी ढंग से नियंत्रित करने में असमर्थ है।

  4. व्यापार के सरल नियम, अति-अनुरूपता का जोखिम।

  5. अधिक जटिल बाजार परिवेश के लिए अनुकूल नहीं है।

इस समस्या को हल करने के लिए निम्नलिखित उपाय हैं:

  1. पैरामीटर को अनुकूलित करें और सफलता दर को बढ़ाएं।

  2. अस्थिरता से बचने के लिए अस्थिरता सूचकांक में शामिल हों।

  3. मोबाइल स्टॉप लॉस सेटिंग्स जोड़ें.

  4. जटिलता परीक्षण करें और फिट होने की जाँच करें।

  5. मशीन लर्निंग एल्गोरिदम को जोड़ना और रणनीतियों की अनुकूलनशीलता में सुधार करना

अनुकूलन दिशा

इस रणनीति के अनुकूलन के मुख्य पहलू हैंः

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

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

  3. फ़िल्टरिंग की शर्तों को जोड़ना, जो एक निश्चितता को बढ़ाता है। उदाहरण के लिए, लेनदेन की मात्रा के साथ एक निश्चितता को जोड़ना।

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

  5. संयोजन अनुकूलन करें, विभिन्न प्रकार के ब्रेकआउट रणनीतियों को संयोजित करें, orthogonality प्राप्त करें, और समानता को कम करें।

संक्षेप

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

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

//Noro
//2018

//@version=2
strategy(title = "Noro's Price Channel Strategy v1.0", shorttitle = "Price Channel str 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
pch = input(30, defval = 30, minval = 2, maxval = 200, title = "Price Channel")
showcl = input(true, defval = true, title = "Show center-line")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
src = close

//Price channel
lasthigh = highest(src, pch)
lastlow = lowest(src, pch)
center = (lasthigh + lastlow) / 2
col = showcl ? blue : na
plot(center, color = col, linewidth = 2)

//Bars
bar = close > open ? 1 : close < open ? -1 : 0
rbars = sma(bar, 2) == -1
gbars = sma(bar, 2) == 1

//Signals
body = abs(close - open)
abody = sma(body, 10)
up = rbars and close > center and body > abody / 2
dn = gbars and close < center and body > abody / 2
exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 2

//Trading
if up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    
if exit
    strategy.close_all()