सीसीटीबीओ रिवर्सल ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-23 13:42:03
टैगः

img

अवलोकन

यह रणनीति स्टीव कार्निश द्वारा विकसित CCT बोलिंगर बैंड ऑसिलेटर (CCTBO) संकेतक पर आधारित है। यह ट्रेलिंग स्टॉप तंत्र के साथ संयुक्त चलती औसत के मूल्य ब्रेकआउट का पता लगाकर मूल्य उलटों की पहचान करता है।

रणनीति तर्क

रणनीति CCTBBO के मूल्य की गणना करने के लिए स्रोत डेटा के रूप में उच्च मूल्य का उपयोग करती है। ऑसिलेटर -200 और 200 के बीच उतार-चढ़ाव करता है, जहां 0 औसत मूल्य माइनस 2 मानक विचलन और 100 औसत मूल्य प्लस 2 मानक विचलन का प्रतिनिधित्व करता है। ट्रेडिंग सिग्नल तब उत्पन्न होते हैं जब ऑसिलेटर अपनी ईएमए लाइन को पार करता है या नीचे गिरता है। विशेष रूप से, जब ऑसिलेटर अपनी ईएमए लाइन से ऊपर पार करता है और उनके बीच की दूरी सेट मार्जिन मूल्य से अधिक होती है, तो एक लंबी स्थिति खोली जाती है। जब ऑसिलेटर अपनी ईएमए लाइन से नीचे गिरता है और दूरी नकारात्मक सेट मूल्य से कम होती है, तो एक छोटी स्थिति खोली जाती है। स्थिति मार्जिन आकार सेट प्रतिशत के अनुसार गणना की जाती है। इसके अलावा, रणनीति स्थिति से बाहर निकलने के लिए प्रतिशत मूल्य परिवर्तन या टिक आंदोलनों की संख्या के आधार पर एक ट्रेलिंग स्टॉप लॉस का उपयोग करती है।

लाभ विश्लेषण

  • झूठे संकेतों को कम करने के लिए प्रभावशाली सीसीटी बोलिंगर बैंड ऑसिलेटर संकेतक का उपयोग करता है
  • ईएमए लाइन और मार्जिन की स्थिति का संयोजन उतार-चढ़ाव के दौरान अत्यधिक अमान्य ट्रेडों से बचने के लिए संकेतों को फ़िल्टर करता है
  • घाटे बहुत बड़े होने पर समय पर घाटे को रोकने के लिए ट्रैलिंग स्टॉप लॉस तंत्र लागू करता है

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

  • सीसीटी ऑसिलेटर में स्वयं कुछ विलंब होता है, इस प्रकार कीमतों में उलटफेर के लिए सबसे अच्छा समय नहीं मिलता है
  • अत्यधिक मार्जिन मूल्य और बहुत कम ईएमए अवधि की सेटिंग्स व्यापार आवृत्ति और जोखिम को बढ़ाती हैं
  • बहुत ढीला सेट करने से हानि का जोखिम बढ़ जाता है

जोखिम प्रबंधन:

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

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

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

  1. प्रविष्टियों और निकासों को निर्धारित करने के लिए बोलिंगर बैंड, केल्टनर चैनल आदि जैसे अन्य अस्थिरता संकेतकों के साथ प्रतिस्थापित करें
  2. संकेत विश्वसनीयता सुनिश्चित करने के लिए अन्य फ़िल्टरिंग संकेतक जैसे एमएसीडी, आरएसआई जोड़ें
  3. ईएमए अवधि, मार्जिन मूल्यों आदि जैसे मापदंडों को स्वचालित रूप से अनुकूलित करने के लिए मशीन लर्निंग एल्गोरिदम का उपयोग करें
  4. व्यापार जोखिम को नियंत्रित करने के लिए फिक्स्ड फ्रैक्शनल, मार्टिंगेल जैसे पद आकार तंत्र जोड़ें
  5. अस्थिरता या एटीआर स्टॉप का उपयोग करके ट्रेलिंग स्टॉप लॉस तंत्रों को अनुकूलित करें

सारांश

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


/*backtest
start: 2023-11-15 00:00:00
end: 2023-11-17 11:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// This strategy is based on the CCT Bollinger Band Oscillator (CCTBO) 
// developed by Steve Karnish of Cedar Creek Trading and coded by LazyBear.
// Indicator is available here https://www.tradingview.com/v/iA4XGCJW/

strategy("Strategy CCTBBO v2 | Fadior", shorttitle="Strategy CCTBBO v2", pyramiding=0, precision=2, calc_on_order_fills=false, initial_capital=1000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100, overlay=false)

length_stddev=input(title="Stddev loopback period",defval=20)
length_ema=input(title="EMA period", defval=2)
margin=input(title="Margin", defval=0, type=float, step=0.1)
price = input(title="Source", defval=high)
digits= input(title="Number of digits",defval=2,step=1,minval=2,maxval=6)
offset = input(title="Trailing offset (0.01 = 1%) :", defval=0.013, type=float, step=0.01)
pips= input(title="Offset in ticks ?",defval=false,type=bool)

src=request.security(syminfo.tickerid, "1440", price)

cctbbo=100 * ( src + 2*stdev( src, length_stddev) - sma( src, length_stddev ) ) / ( 4 * stdev( src, length_stddev ) )

ul=hline(150, color=gray, editable=true)
ll=hline(-50, color=gray)
hline(50, color=gray)
fill(ul,ll, color=green, transp=90)
plot(style=line, series=cctbbo, color=blue, linewidth=2)
plot(ema(cctbbo, length_ema), color=red)

d = digits == 2 ? 100 : digits == 3 ? 1000 : digits == 4 ? 10000 : digits == 5 ? 100000 : digits == 6 ? 1000000 : na

TS = 1
TO = pips ? offset : close*offset*d
CQ = 100
TSP = TS
TOP = (TO > 0) ? TO : na

longCondition = crossover(cctbbo, ema(cctbbo, length_ema)) and cctbbo - ema(cctbbo, length_ema) > margin
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Close Long", "Long", qty_percent=CQ, trail_points=TSP, trail_offset=TOP)


shortCondition = crossunder(cctbbo, ema(cctbbo, length_ema)) and cctbbo - ema(cctbbo, length_ema) < -margin
if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Close Short", "Short", qty_percent=CQ, trail_points=TSP, trail_offset=TOP)
    
    

अधिक