केल्टनर चैनल ब्रेकआउट रिट्रेसमेंट रणनीति


निर्माण तिथि: 2023-12-27 14:49:39 अंत में संशोधित करें: 2023-12-27 14:49:39
कॉपी: 0 क्लिक्स: 762
1
ध्यान केंद्रित करना
1621
समर्थक

केल्टनर चैनल ब्रेकआउट रिट्रेसमेंट रणनीति

अवलोकन

यह रणनीति केल्टनर चैनल संकेतक पर आधारित है। यह रणनीति केल्टनर चैनल के ऊपर और नीचे के संबंध के साथ कीमतों की तुलना करके एक वापसी ट्रेडिंग रणनीति तैयार करती है। यह रणनीति यह निर्धारित करती है कि कीमतों को बदलने का समय कब हो सकता है, और उचित ओवरहाइजिंग ऑपरेशन करता है।

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

इस रणनीति में केल्टनर चैनल के संकेतकों का उपयोग करके मूल्य की प्रवृत्ति को निर्धारित करने के लिए किया जाता है। केल्टनर चैनल औसत रेखा और औसत वास्तविक तरंग दैर्ध्य ((ATR) से बना होता है। चैनल का ऊपरी भाग औसत रेखा के N गुना से अधिक ATR के बराबर होता है; नीचे की रेखा ATR के N गुना से कम औसत रेखा के बराबर होती है। जब कीमत नीचे से ऊपर की ओर से चैनल के निचले हिस्से को तोड़ती है, तो माना जाता है कि मल्टीहेड बल बढ़ता है, और अधिक किया जा सकता है; जब कीमत ऊपर से नीचे की ओर से चैनल को तोड़ती है, तो माना जाता है कि खाली सिर बल बढ़ता है, और खाली किया जा सकता है।

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

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

यह एक ऐसी रणनीति है जो कीमतों के पीछे हटने की विशेषता का उपयोग करके व्यापार करती है। इसका लाभ यह हैः

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

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

इस रणनीति के मुख्य जोखिम हैंः

  1. बाजार में लंबे समय तक एकतरफा व्यवहार के दौरान, वापस लेने के अवसर कम हो सकते हैं और लाभ नहीं मिल सकता है।
  2. जब रिप्लेसमेंट सिग्नल का आकलन गलत होता है, तो नुकसान हो सकता है।

क्या करें?

  1. बाजार की स्थिति के अनुकूल पैरामीटर, चैनल की चौड़ाई को समायोजित करें
  2. यह एक बहुत ही महत्वपूर्ण कदम है, क्योंकि यह एक बहुत ही महत्वपूर्ण कदम है।

अनुकूलन दिशा

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

  1. लेन-देन की मात्रा के आधार पर ब्रेकआउट फ़िल्टर, झूठे ब्रेकआउट से बचें
  2. अस्थिरता के आधार पर स्थिति का आकार समायोजित करें
  3. स्टॉप लॉस को अपडेट करें, स्टॉप लॉस को स्थानांतरित करें और अधिक लाभ प्राप्त करें।

संक्षेप

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

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

//@version=2
strategy("Keltner bounce from border. No repaint. (by Zelibobla)", shorttitle="Keltner border bounce", overlay=true)

price = close

// build Keltner
keltnerLength = input(defval=200, minval=1, title="Keltner EMA Period Length")
keltnerATRLength = input(defval=200, minval=1, title="Keltner ATR Period Length (the same as EMA length in classic Keltner Channels)")
keltnerDeviation = input(defval=8, minval=1, maxval=15, title="Keltner band width (in ATRs)")
closeOnEMATouch = input(type=bool, defval=false, title="Close trade on EMA touch? (less drawdown, but less profit and higher commissions impact)")
enterOnBorderTouchFromInside = input(type=bool, defval=false, title="Enter on border touch from inside? (by default from outside, which is less risky but less profitable)")
SL = input(defval=50, minval=0, maxval=10000, title="Stop loss in ticks (leave zero to skip)")
EMA = sma(price, keltnerLength)
ATR = atr(keltnerATRLength)
top = EMA + ATR * keltnerDeviation
bottom = EMA - ATR * keltnerDeviation

buyEntry = crossover(price, bottom)
sellEntry = crossunder(price, top)
plot(EMA, color=aqua,title="EMA")
p1 = plot(top, color=silver,title="Keltner top")
p2 = plot(bottom, color=silver,title="Keltner bottom")
fill(p1, p2)

tradeSize = input(defval=1, minval=1, title="Trade size")

if ( enterOnBorderTouchFromInside and crossunder(price, bottom) )
    strategy.entry("BUY", strategy.long, qty=tradeSize, comment="BUY")
else
    if( crossover(price, bottom) )
        strategy.entry("BUY", strategy.long, qty=tradeSize, comment="BUY")

if( crossover(price,EMA) and closeOnEMATouch )
    strategy.close("BUY")

if( 0 != SL )
    strategy.exit("EXIT BUY", "BUY", qty=tradeSize, loss=SL)
    strategy.exit("EXIT SELL", "SELL", qty=tradeSize, loss=SL)
   
if( enterOnBorderTouchFromInside and crossover(price, bottom) )
    strategy.entry("SELL", strategy.long, qty=tradeSize, comment="SELL")
else
    if ( crossunder(price, top) )
        strategy.entry("SELL", strategy.short, qty=tradeSize, comment="SELL")
    
    
if( crossunder(price, EMA) and closeOnEMATouch )
    strategy.close("SELL")