यह चैनल ब्रेकआउट पर आधारित एक अल्पकालिक ट्रेडिंग रणनीति है। यह ट्रेडों की शुरुआत और अंत निर्धारित करने के लिए चैनल के ऊपरी और निचले रेल के ब्रेकआउट का उपयोग करता है, और तदनुसार ट्रेडिंग निर्णय लेता है। मजबूत ट्रेंडिंग बाजारों में, यह ब्रेकआउट रणनीति सभ्य लाभ उत्पन्न कर सकती है।
इस रणनीति में पहले एक निश्चित अवधि के दौरान चैनल के ऊपरी और निचले रेल के निर्माण के लिए उच्चतम उच्च और निम्नतम निम्न की गणना की जाती है।
यदि कीमत ऊपरी रेल के ऊपर टूट जाती है, तो लंबी हो जाती है। यदि कीमत निचली रेल के नीचे टूट जाती है, तो छोटी हो जाती है।
जोखिमों को नियंत्रित करने के लिए चलती स्टॉप लॉस का प्रयोग करें। स्टॉप लॉस चैनल की मध्य रेखा पर सेट किया जाता है।
दो वैकल्पिक निकास नियम हैंः मध्य रेखा पर लौटें या चलती स्टॉप लॉस का पालन करें। पूर्व लाभ जल्दी महसूस करता है जबकि उत्तरार्द्ध जोखिमों को नियंत्रित करता है।
चैनल अवधि और अन्य मापदंडों को विभिन्न बाजार स्थितियों के लिए रणनीति को अनुकूलित करने के लिए समायोजित किया जा सकता है।
लागू करना सरल है. बस मूल्य-चैनल संबंध की निगरानी करें और व्यापार करने के लिए नियमों का पालन करें.
रुझान के साथ व्यापार करें, कोई विपरीत रुझान जोखिम नहीं।
स्पष्ट और सहज ज्ञान युक्त चैनल स्पष्ट प्रवेश संकेत देता है।
अच्छा लाभ मार्जिन, ज्यादातर मामलों में संतोषजनक लाभ प्राप्त कर सकता है।
विभिन्न बाजारों में अनुकूलन के लिए कई समायोज्य मापदंड।
ब्रेकआउट विफल हो सकता है, फंसने का खतरा मौजूद है। समय पर स्टॉप लॉस की आवश्यकता है।
चैनल के गठन के लिए समय की आवश्यकता होती है, जो कि सीमाबद्ध बाजारों के लिए उपयुक्त नहीं है।
मध्य स्टॉप लॉस पर लौटना बहुत रूढ़िवादी हो सकता है, प्रवृत्तियों को बनाए रखने में असमर्थ हो सकता है।
पैरामीटर अनुकूलन के लिए ऐतिहासिक डेटा की आवश्यकता होती है, लाइव ट्रेडिंग में अति-फिटिंग संभव है।
ब्रेकआउट पॉइंट्स का मैकेनिकल ट्रेडिंग ट्रेडिंग की आवृत्ति और स्लिप की लागत को बढ़ा सकता है।
विभिन्न अवधियों के चैनलों का मूल्यांकन करें और इष्टतम चुनें।
एक बेहतर निकास तंत्र खोजने के लिए मध्य और चलती स्टॉप हानि पर लौटने का परीक्षण करें।
बंद होने की संभावना कम करने के लिए स्टॉप लॉस प्रतिशत को अनुकूलित करें।
अनुचित ब्रेकआउट ट्रेडों से बचने के लिए ट्रेंड फ़िल्टर जोड़ें।
स्थिति के आकार को बढ़ाने पर विचार करें लेकिन जोखिमों को नियंत्रित करें।
कुल मिलाकर, यह एक परिपक्व अल्पकालिक ब्रेकआउट रणनीति है। इसमें स्पष्ट प्रवेश नियम, उचित जोखिम नियंत्रण और सामान्य रूप से अच्छी तरह से काम करता है। पैरामीटर ट्यूनिंग के माध्यम से आगे का सुधार हासिल किया जा सकता है। लेकिन अंतर्निहित सीमाओं को ध्यान में रखा जाना चाहिए, विभिन्न बाजारों के लिए आवश्यक समायोजन। यदि व्यवस्थित रूप से उपयोग किया जाता है, तो इसे लगातार समग्र लाभ प्रदान करना चाहिए।
/*backtest start: 2022-10-18 00:00:00 end: 2023-10-24 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // Strategy testing and optimisation for free Bitmex trading bot // © algotradingcc //@version=4 strategy("Channel Break [for free bot]", overlay=true, default_qty_type= strategy.percent_of_equity, initial_capital = 1000, default_qty_value = 20, commission_type=strategy.commission.percent, commission_value=0.075) //Options buyPeriod = input(13, "Channel Period for Long position") sellPeriod = input(18, "Channel Period for Short position") isMiddleExit = input(true, "Is exit on Base Line?") takeProfit = input(46, "Take Profit (%) for position") stopLoss = input(9, "Stop Loss (%) for position") // Test Start startYear = input(2005, "Test Start Year") startMonth = input(1, "Test Start Month") startDay = input(1, "Test Start Day") startTest = timestamp(startYear,startMonth,startDay,0,0) //Test End endYear = input(2050, "Test End Year") endMonth = input(12, "Test End Month") endDay = input(30, "Test End Day") endTest = timestamp(endYear,endMonth,endDay,23,59) timeRange = time > startTest and time < endTest ? true : false // Long&Short Levels BuyEnter = highest(buyPeriod) BuyExit = isMiddleExit ? (highest(buyPeriod) + lowest(buyPeriod)) / 2: lowest(buyPeriod) SellEnter = lowest(sellPeriod) SellExit = isMiddleExit ? (highest(sellPeriod) + lowest(sellPeriod)) / 2: highest(sellPeriod) // Plot Data plot(BuyEnter, style=plot.style_line, linewidth=2, color=color.blue, title="Buy Enter") plot(BuyExit, style=plot.style_line, linewidth=1, color=color.blue, title="Buy Exit", transp=50) plot(SellEnter, style=plot.style_line, linewidth=2, color=color.red, title="Sell Enter") plot(SellExit, style=plot.style_line, linewidth=1, color=color.red, title="Sell Exit", transp=50) // Calc Take Profits & Stop Loss TP = 0.0 SL = 0.0 if strategy.position_size > 0 TP := strategy.position_avg_price*(1 + takeProfit/100) SL := strategy.position_avg_price*(1 - stopLoss/100) if strategy.position_size > 0 and SL > BuyExit BuyExit := SL if strategy.position_size < 0 TP := strategy.position_avg_price*(1 - takeProfit/100) SL := strategy.position_avg_price*(1 + stopLoss/100) if strategy.position_size < 0 and SL < SellExit SellExit := SL // Long Position if timeRange and strategy.position_size <= 0 strategy.entry("Long", strategy.long, stop = BuyEnter) strategy.exit("Long Exit", "Long", stop=BuyExit, limit = TP, when = strategy.position_size > 0) // Short Position if timeRange and strategy.position_size >= 0 strategy.entry("Short", strategy.short, stop = SellEnter) strategy.exit("Short Exit", "Short", stop=SellExit, limit = TP, when = strategy.position_size < 0) // Close & Cancel when over End of the Test if time > endTest strategy.close_all() strategy.cancel_all()