बहु-समय-सीमा ब्रेकआउट रणनीति

लेखक:चाओझांग, दिनांकः 2023-12-29 16:17:56
टैगः

img

अवलोकन

मल्टी टाइमफ्रेम ब्रेकआउट रणनीति दो अलग-अलग टाइमफ्रेम से प्राइस ब्रेकआउट सिग्नल को मिलाकर अधिक विश्वसनीय ट्रेडिंग सिग्नल उत्पन्न करती है। यह रणनीति एक ही समय में 1 घंटे, 2 घंटे, 3 घंटे आदि जैसे छोटे टाइमफ्रेम और 4 घंटे, दैनिक आदि जैसे लंबे टाइमफ्रेम पर प्राइस ब्रेकआउट सिग्नल की गणना करती है। यह केवल तब ही खरीद या बिक्री सिग्नल उत्पन्न करेगी जब दो टाइमफ्रेम से सिग्नल संबंधित ट्रेडों के निष्पादन के लिए एक ही दिशा में हों।

रणनीति तर्क

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

एक खरीद संकेत के लिए शर्त यह है कि बंद कीमतें या कम कीमतें दोनों कम और लंबे समय के फ्रेम पर अपने मूल्य स्तरों से ऊपर टूट जाती हैं। एक बिक्री संकेत के लिए शर्त यह है कि बंद कीमतें या उच्च कीमतें दोनों समय सीमाओं पर अपने स्तरों से नीचे टूट जाती हैं। इस तरह से समय सीमाओं में संकेतों का मिलान करके, रणनीति कुछ झूठे संकेतों को फ़िल्टर कर सकती है और संकेतों को अधिक विश्वसनीय बना सकती है।

लाभ विश्लेषण

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

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

इस रणनीति का मुख्य जोखिम यह है कि शांत बाजार Zeitgeists के दौरान, कीमतें किसी भी समय सीमा पर नहीं टूट सकती हैं। उस स्थिति में, रणनीति कोई ट्रेडिंग सिग्नल उत्पन्न नहीं करेगी और अवसरों को याद कर सकती है। इसके अलावा, दो समय सीमाओं के बीच कुछ समय अंतराल है जिससे अप्रभावी संकेत हो सकते हैं। इसके अलावा, रणनीति में स्टॉप लॉस तर्क शामिल नहीं है और इसमें अधिक जोखिम हैं।

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

इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः 1) जोखिमों को नियंत्रित करने के लिए स्टॉप लॉस लॉजिक जोड़ें; 2) दक्षता बढ़ाने के लिए टाइमफ्रेम संयोजनों को अनुकूलित करें; 3) ट्रेडिंग सिग्नल को अधिक सख्त बनाने के लिए संयोजन के लिए अधिक समय सीमाएं जोड़ें; 4) सिग्नल की गुणवत्ता में सुधार के लिए फ़िल्टरिंग के लिए अन्य संकेतकों को शामिल करें; 5) लाभ को बेहतर ढंग से नियंत्रित करने के लिए निकास तंत्र विकसित करें, आदि।

निष्कर्ष

मल्टी टाइमफ्रेम ब्रेकआउट रणनीति समय सीमाओं में मूल्य ब्रेकआउट की तुलना करके सिग्नल गुणवत्ता में सुधार करती है और एक अपेक्षाकृत विश्वसनीय प्रवृत्ति निम्नलिखित रणनीति है। लेकिन इसमें कुछ खामियां भी हैं। निरंतर अनुकूलन के माध्यम से, यह एक स्थिर और विश्वसनीय मात्रात्मक ट्रेडिंग रणनीति बन सकती है।


/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's Levels Strategy v1.1", shorttitle = "Levels str 1.1", 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")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf1 = input('W', title = "timeframe 1")
tf2 = input('D', title = "timeframe 2")
src = input(ohlc4, "Source")
ap = input(true, defval = true, title = "use saw filter")
cf = input(true, defval = true, title = "гыу color filter")
showlines = input(true, defval = true, title = "Show lines")
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")

//Levels
level1 = request.security(syminfo.tickerid, tf1, src)
level2 = request.security(syminfo.tickerid, tf2, src)
col = showlines ? silver : na
p1 = plot(level1, linewidth = 3, color = col, title = "Level 1")
p2 = plot(level2, linewidth = 3, color = col, title = "Level 2")

//Signals
up1 = close > level1 and ap == false ? true : low > level1 ? true : false
dn1 = close < level1 and ap == false ? true : high < level1 ? true : false
up2 = close > level2 and ap == false ? true : low > level2 ? true : false
dn2 = close < level2 and ap == false ? true : high < level2 ? true : false

//Trading
size = strategy.position_size
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]

if up1 and up2 and (close < open or cf == false)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if dn1 and dn2 and (close > open or cf == false)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

अधिक