बैंड चैनलों पर आधारित मल्टी-टाइम फ्रेम ट्रेडिंग रणनीति


निर्माण तिथि: 2023-09-20 15:47:46 अंत में संशोधित करें: 2023-09-20 15:47:46
कॉपी: 0 क्लिक्स: 776
1
ध्यान केंद्रित करना
1621
समर्थक

अवलोकन

यह रणनीति दो अलग-अलग ट्रैक स्टॉप-लॉस रणनीतियों के लिए डिज़ाइन की गई है, जो कि ट्रेंड-ट्रैकिंग ट्रेडिंग रणनीतियों में से एक है।

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

  1. वेव बैंड चैनल के ऊपर-नीचे के ट्रैक की गणना करें, चैनल की चौड़ाई को पैरामीटर द्वारा समायोजित करें।

  2. ब्रेक ट्रैकिंग रणनीति, जब कीमत एक चैनल को तोड़ती है तो वह स्थिति खोलती है, और चैनल के अंदर होने पर उसे रोकती है।

  3. रिवर्स रिवर्स रणनीति, जब कीमत चैनल तक पहुंचती है तो स्थिति खोलती है, जब कीमत चैनल के भीतर वापस आती है तो बंद हो जाती है।

  4. सीसीआई सूचकांक अधिकतर हवाई लाइनों का आकलन करने में मदद करता है।

  5. मल्टी-टाइम फ़्रेम रिटर्न्स ने दोनों रणनीतियों की व्यवहार्यता को सत्यापित किया।

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

  1. वेव बैंड चैनल सरल और सहज है, जो मूल्य प्रवृत्तियों को प्रभावी ढंग से पकड़ता है।

  2. दोनों रणनीतियों को विभिन्न बाजार स्थितियों के लिए अनुकूलित किया जा सकता है, जिससे स्थिरता बढ़ सकती है।

  3. सीसीआई सूचकांक खालीपन का आकलन करने में सहायक हो सकता है।

  4. कई समय-सीमाओं के साथ, यह परिणाम को और अधिक विश्वसनीय बनाता है।

  5. रणनीति सरल, स्पष्ट और लागू करने में आसान है।

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

  1. वेव बैंड चैनल की विफलता की संभावना

  2. दोनों ही रणनीतियों में बहुत जल्दी या बहुत देर से बंद होने का खतरा है।

  3. सीसीआई सूचकांक गलत संकेत दे सकता है।

  4. यह भी ध्यान दिया जाना चाहिए कि डेटा में विचलन के बारे में सावधानी बरती जाए।

  5. पैरामीटर अनुकूलन में एक अति-मिलान हो सकता है.

अनुकूलन दिशा

  1. विभिन्न मापदंडों का परीक्षण करें और सबसे अच्छा संयोजन खोजें।

  2. सिग्नल फ़िल्टरिंग के लिए अन्य मापदंडों को जोड़ने का मूल्यांकन करना।

  3. स्टॉप लॉस रणनीति को अनुकूलित करें और जोखिम को कम करें

  4. स्व-अनुकूलित चैनल चौड़ाई की गणना के लिए अध्ययन।

  5. अधिक किस्मों और चक्रों में पुनः परीक्षण और सत्यापन।

  6. मशीन लर्निंग के साथ गतिशील अनुकूलन पैरामीटर

संक्षेप

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

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

//@version=4
strategy(title = "Underworld Hunter", overlay=true)

len = input(75, minval=1, title="Length")
src = input(close, title="Source")
basis = 0.0
basis := na(basis[1]) ? sma(src, len) : ema(ema(ema(src,len),len),len)

mult = input(1.9, minval=0.001, maxval=50, title="Deviation")
dev = mult * stdev(src, len)
upper = basis + dev
lower = basis - dev

//CCI calculation and inputs

lengthcci = input(20, minval=1, title="Period for CCI")
ma = sma(close, lengthcci)
ccivalue = (src - ma) / (0.015 * dev(src, lengthcci))

//CCI plotting

cciover0 = ccivalue >= 100 and ccivalue <= 120
cciover1 = ccivalue > 120 and ccivalue <= 140
cciover2 = ccivalue > 140 and ccivalue <= 160
cciover3 = ccivalue > 160 and ccivalue <= 180
cciover4 = ccivalue > 180

cciunder0 = ccivalue <= -100 and ccivalue >= -120
cciunder1 = ccivalue <= -120 and ccivalue > -140
cciunder2 = ccivalue <= -140 and ccivalue > -160
cciunder3 = ccivalue <= -160 and ccivalue > -180
cciunder4 = ccivalue <= -180

plotshape(cciover0, title="CCIO0", location=location.abovebar, color=#c6ff1a, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciunder0, title="CCIU0", location=location.belowbar, color=#c6ff1a, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciover1, title="CCIO1", location=location.abovebar, color=#ffff00, transp=0,style=shape.circle, size=size.tiny)
plotshape(cciunder1, title="CCIU1", location=location.belowbar, color=#ffff00, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciover2, title="CCIO2", location=location.abovebar, color=#ff9900, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciunder2, title="CCIU2", location=location.belowbar, color=#ff9900, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciover3, title="CCIO3", location=location.abovebar, color=#ff0000, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciunder3, title="CCIU3", location=location.belowbar, color=#ff0000, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciover4, title="CCIO4", location=location.abovebar, color=#cc00cc, transp=0,style=shape.circle, size=size.tiny)
plotshape(cciunder4, title="CCIU4", location=location.belowbar, color=#cc00cc, transp=0,style=shape.circle, size=size.tiny)

//plotting

plot(upper, title="Upper shadow", color=color.black, transp = 30, linewidth = 4)
plot(upper, title="Upper line", color=#FF2E00, transp = 0, linewidth = 2)
plot(lower, title="Lower shadow", color=color.black, transp = 30, linewidth = 4)
plot(lower, title="Lower line", color=#FF2E00, transp = 0, linewidth = 2)
plot(basis, title="Basic line", color=color.red, transp = 50, linewidth = 2)

mean = input(title="Test Reverse to the Mean instead", type=input.bool, defval=false)
test = input(title="Enable testing", type=input.bool, defval=true)

ordersize=floor(50000/close)

if(close>upper and strategy.opentrades==0 and not mean and test)
    strategy.entry("Hunt Up", strategy.long, ordersize)
if (close<upper and close[1]<upper and close[2]<upper)
    strategy.close("Hunt Up", qty_percent = 100, comment = "Hunt End")

if(close<lower and strategy.opentrades==0 and not mean and test)
    strategy.entry("Hunt Down", strategy.short, ordersize)
if (close>lower and close[1]>lower and close[2]>lower)
    strategy.close("Hunt Down", qty_percent = 100, comment = "Hunt End")

//bounce of bands

if(close>upper and strategy.opentrades==0 and mean and test)
    strategy.entry("Sneak Down", strategy.short, ordersize)
if (close<upper and close[1]<upper and close[2]<upper and close>high[1])
    strategy.close("Sneak Down", qty_percent = 100, comment = "SneakEnd")

if(close<lower and strategy.opentrades==0 and mean and test)
    strategy.entry("Sneak Up", strategy.long, ordersize)
if (close>lower and close[1]>lower and close[2]>lower and close<low[1])
    strategy.close("Sneak Up", qty_percent = 100, comment = "Sneak End")