अस्थिरता बैंड ऑसिलेटर पर आधारित रिवर्सल ट्रैकिंग रणनीति


निर्माण तिथि: 2023-11-23 13:42:03 अंत में संशोधित करें: 2023-11-23 13:42:03
कॉपी: 0 क्लिक्स: 670
1
ध्यान केंद्रित करना
1617
समर्थक

अस्थिरता बैंड ऑसिलेटर पर आधारित रिवर्सल ट्रैकिंग रणनीति

अवलोकन

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

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

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

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

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

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

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

जोखिम नियंत्रण विधि:

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

अनुकूलन दिशा

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

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

संक्षेप

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

रणनीति स्रोत कोड
/*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)