यह रणनीति एक ट्रेंड फॉलो ट्रेडिंग सिस्टम है जो कोरल ट्रेंड इंडिकेटर को डॉनचियन चैनल के साथ जोड़ती है। बाजार की गति को सटीक रूप से कैप्चर करके और ट्रेंड ब्रेकआउट की कई पुष्टि प्रदान करके, यह प्रभावी रूप से दोलन बाजारों में झूठे संकेतों को फ़िल्टर करता है और ट्रेडिंग सटीकता में सुधार करता है। यह रणनीति अनुकूलनशील चलती औसत तकनीकों का उपयोग करती है जो विभिन्न बाजार स्थितियों में स्थिर प्रदर्शन बनाए रखने के लिए पैरामीटर को गतिशील रूप से समायोजित कर सकती है।
मूल तर्क दो मुख्य संकेतकों के सामंजस्य प्रभाव पर आधारित हैः 1. कोरल ट्रेंड इंडिकेटरः (उच्च + निम्न + बंद) / 3 के एक चिकनी मूल्य की गणना करता है और प्रवृत्ति की दिशा निर्धारित करने के लिए वर्तमान समापन मूल्य के साथ इसकी तुलना करता है। 2. डोंचियन चैनल: यह निर्धारित करता है कि क्या कीमत उपयोगकर्ता द्वारा परिभाषित अवधि के भीतर उच्चतम और निम्नतम कीमतों की गणना करके प्रमुख स्तरों को तोड़ती है।
प्रणाली लंबे संकेत उत्पन्न करती है जब दोनों संकेतक एक उभरते रुझान की पुष्टि करते हैं (coralTrendVal == 1 और donchianTrendVal == 1), और छोटे संकेत जब दोनों एक गिरावट की पुष्टि करते हैं (coralTrendVal == -1 और donchianTrendVal == -1) । रणनीति वर्तमान प्रवृत्ति स्थिति को ट्रैक करने और दोहराव संकेतों से बचने के लिए एक राज्य मशीन (ट्रेंडस्टेट) का उपयोग करती है।
यह रणनीति कई प्रवृत्ति पुष्टिकरण तंत्र और लचीली पैरामीटर सेटिंग्स के माध्यम से एक मजबूत प्रवृत्ति के बाद प्रणाली प्राप्त करती है। इसकी अनुकूली विशेषताएं और स्पष्ट संकेत तर्क इसे विभिन्न ट्रेडिंग समय सीमाओं और बाजार वातावरण के लिए उपयुक्त बनाते हैं। सुझाए गए अनुकूलन दिशाओं के माध्यम से, रणनीति प्रदर्शन में और सुधार के लिए जगह है। लाइव ट्रेडिंग के लिए आवेदन करते समय, जोखिम प्रबंधन उपायों को शामिल करने और विशिष्ट ट्रेडिंग उपकरणों की विशेषताओं के अनुसार मापदंडों को अनुकूलित करने की सिफारिश की जाती है।
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-16 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("Coral Tides Strategy", shorttitle="CoralTidesStrat", overlay=true) // === Inputs === dlen = input.int(defval=20, title="Donchian Channel Period", minval=10) coralPeriod = input.int(defval=14, title="Coral Trend Period") // === Functions === // Coral Trend Calculation coralTrend(period) => smooth = (high + low + close) / 3 coral = ta.ema(smooth, period) trend = 0 trend := close > coral ? 1 : close < coral ? -1 : trend[1] [trend, coral] // Donchian Trend Calculation donchianTrend(len) => hh = ta.highest(high, len) ll = ta.lowest(low, len) trend = 0 trend := close > hh[1] ? 1 : close < ll[1] ? -1 : trend[1] trend // === Trend Calculation === [coralTrendVal, coralLine] = coralTrend(coralPeriod) donchianTrendVal = donchianTrend(dlen) // === Signal Logic === var int trendState = 0 buySignal = false sellSignal = false if (coralTrendVal == 1 and donchianTrendVal == 1 and trendState != 1) buySignal := true sellSignal := false trendState := 1 else if (coralTrendVal == -1 and donchianTrendVal == -1 and trendState != -1) sellSignal := true buySignal := false trendState := -1 else buySignal := false sellSignal := false // === Strategy Execution === // Entry Signals if (buySignal) strategy.entry("Long", strategy.long) if (sellSignal) strategy.entry("Short", strategy.short) // === Plots === // Coral Trend Line plot(coralLine, color=color.green, linewidth=2, title="Coral Trend Line") // Buy/Sell Signal Labels if buySignal label.new(bar_index, low, "BUY", color=color.green, textcolor=color.white, style=label.style_label_down, size=size.normal) if sellSignal label.new(bar_index, high, "SELL", color=color.red, textcolor=color.white, style=label.style_label_up, size=size.normal)