यह एक ट्रेंड-फॉलो-लॉन्ग लाइन ट्रैकिंग रणनीति है जो प्राइस फ्रैक्टल्स के आधार पर ट्रेंड को जज करती है। यह नवीनतम फ्रैक्टल बिंदु के ब्रेकथ्रू के आधार पर पदों को खोलने का निर्णय लेती है। साथ ही, यह अंतिम एन फ्रैक्टल बिंदुओं के औसत मूल्य की गणना करके ट्रेंड दिशा का न्याय करती है और ट्रेंड बदलने पर पदों को बंद करती है।
कीमतों के फ्रैक्टल बिंदुओं की गणना करें. फ्रैक्टल बिंदु को आज के उच्चतम मूल्य के रूप में परिभाषित किया गया है जो पिछले दो दिनों और अगले दो दिनों के उच्चतम कीमतों से अधिक है।
प्रतिरोध के रूप में अंतिम फ्रैक्टल बिंदु की कीमत दर्ज करें.
जब समापन मूल्य अंतिम फ्रैक्टल बिंदु को तोड़ता है, तो यह माना जाता है कि प्रतिरोध को तोड़ दिया गया है और एक लंबी स्थिति स्थापित की गई है।
प्रवृत्ति निर्धारित करने के लिए अंतिम N फ्रैक्टल बिंदुओं के औसत मूल्य की गणना करें। जब औसत मूल्य बढ़ता है, तो यह एक तेजी की प्रवृत्ति है, और जब यह गिरता है, तो यह एक मंदी की प्रवृत्ति है।
यदि लंबी स्थिति के दौरान औसत फ्रैक्टल बिंदु मूल्य नीचे जाता है, तो स्थिति को बंद करें।
इस फ्रैक्टल आधारित रुझान आकलन रणनीति का सबसे बड़ा लाभ यह है कि यह प्रभावी रूप से बाजार शोर को फ़िल्टर कर सकती है और दीर्घकालिक रुझान दिशाओं को निर्धारित कर सकती है। सरल चलती औसत रेखाओं और अन्य संकेतकों की तुलना में, इसमें अचानक असामान्य उतार-चढ़ाव का अधिक प्रतिरोध है।
इसके अतिरिक्त, इस रणनीति के पदों को खोलने और बंद करने के लिए मानदंड बहुत स्पष्ट हैं, जो अक्सर व्यापार से बचता है। यह इसे दीर्घकालिक होल्डिंग के लिए विशेष रूप से उपयुक्त बनाता है।
इस रणनीति का सबसे बड़ा जोखिम खुद फ्रैक्टल बिंदुओं की संभावनावादी प्रकृति में निहित है। फ्रैक्टल पूरी तरह से भविष्यवाणी नहीं कर सकते हैं कि क्या कीमतें निश्चित रूप से उलट जाएंगी, अर्थात, गलत आकलन की संभावना अभी भी मौजूद है। जब गलत आकलन होता है, तो यह नुकसान के जोखिम का सामना करेगा।
इसके अतिरिक्त, फ्रैक्टल बिंदुओं का न्याय करने का समय लंबा है और उच्च आवृत्ति व्यापार के अनुकूल नहीं हो सकता है। यदि आप अल्पकालिक व्यापार का पीछा करते हैं, तो यह रणनीति उपयुक्त नहीं हो सकती है।
फ्रैक्टल बिंदुओं के गलत आकलन की संभावना को ध्यान में रखते हुए, हम निम्नलिखित तरीकों से अनुकूलन कर सकते हैंः
अन्य संकेतकों जैसे बोलिंगर बैंड, चलती औसत आदि के साथ संयोजन करें ताकि केवल फ्रैक्टल बिंदुओं पर आधारित गलत आकलन से बचा जा सके।
फ्रैक्टल बिंदुओं के मापदंडों को समायोजित करें, जैसे कि निर्णय से पहले और बाद की अवधि की संख्या, फ्रैक्टल बिंदु निर्णयों को अनुकूलित करने के लिए।
स्टॉप लॉस रणनीतियाँ जोड़ें, जब हानि कुछ हद तक बढ़ जाती है तो हानि को रोकने के लिए।
फ्रैक्टल ब्रेकआउट रणनीति समग्र रूप से दीर्घकालिक रुझानों का न्याय करने के लिए बहुत उपयुक्त है और दीर्घकालिक निवेशकों द्वारा उपयोग के लिए बहुत उपयुक्त है। जब तक हम पैरामीटर को उचित रूप से समायोजित करते हैं, निर्णय की सटीकता सुनिश्चित करने के आधार पर अन्य फ़िल्टरिंग संकेतक जोड़ते हैं, हम इस रणनीति को काफी अनुकूलित कर सकते हैं और इसे मात्रात्मक निर्णय का एक महत्वपूर्ण हिस्सा बना सकते हैं।
/*backtest start: 2023-11-18 00:00:00 end: 2023-12-18 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Fractal Breakout Strategy (by ChartArt)", shorttitle="CA_-_Fractal_Breakout_Strat", overlay=true) // ChartArt's Fractal Breakout Strategy // // Version 1.0 // Idea by ChartArt on April 24, 2016. // // This long only strategy determines the last fractal top // and enters a trade when the price breaks above the last // fractal top. The strategy also calculates the average // price of the last 2 (or 3) fractal tops to get the trend. // // The strategy exits the long trade when the average of the // fractal tops is falling (when the trend is lower highs). // And the user can manually set a delay of this exit. // // In addition the fractals tops can be colored in blue // and a line can be drawn based on the fractal tops. // This fractal top line is colored by the fractal trend. // // List of my work: // https://www.tradingview.com/u/ChartArt/ // // __ __ ___ __ ___ // / ` |__| /\ |__) | /\ |__) | // \__, | | /~~\ | \ | /~~\ | \ | // // // input n_time = input(title='Always exit each trade after this amount of bars later (Most important strategy setting)', defval=3) price = input(hl2,title='Price type to determine the last fractal top and the fractal breakout, the default is (high+low)/2') // fractal calculation fractal_top = high[2] > high[3] and high[2] > high[4] and high[2] > high[1] and high[2] > high[0] fractal_price = valuewhen(fractal_top, price, 1) use_longer_average = input(true,title='Use Fractal price average of the last 3 fractals instead of the last 2 fractals?') fractal_average = use_longer_average?(fractal_price[1] + fractal_price[2] + fractal_price[3] ) / 3 : (fractal_price[1] + fractal_price[2]) / 2 fractal_trend = fractal_average[0] > fractal_average[1] no_repainting = input(true,title='Use the price of the last bar to prevent repainting?') fractal_breakout = no_repainting?price[1] > fractal_price[0]:price[0] > fractal_price[0] // highlight fractal tops show_highlight = input(true,title='Highlight fractal tops in blue and color all other bars in gray?') highlight = fractal_top?blue:silver barcolor(show_highlight?highlight:na,offset=-2) show_fractal_top_line = input(true,title='Draw a colored line based on the fractal tops?') fractal_top_line = change(fractal_top) != 0 ? price : na fractal_top_line_color = change(fractal_price) > 0 and fractal_breakout == true ? green : change(fractal_price) < 0 and fractal_breakout == false ? red : blue plot(show_fractal_top_line?fractal_top_line:na,offset=-2,color=fractal_top_line_color,linewidth=4) // strategy trade_entry = fractal_trend and fractal_breakout trade_exit = fractal_trend[n_time] and fractal_trend == false if (trade_entry) strategy.entry('Long', strategy.long) if (trade_exit) strategy.close('Long')