
यह रणनीति एक प्रवृत्ति अनुगमन ट्रेडिंग प्रणाली है जो कोरल ट्रेंड संकेतक को डोन्चियन चैनल के साथ जोड़ती है। बाजार की गति और प्रवृत्ति सफलताओं की कई पुष्टियों को सटीक रूप से कैप्चर करके, अस्थिर बाजार में झूठे संकेतों को प्रभावी ढंग से फ़िल्टर किया जाता है, जिससे ट्रेडिंग की सटीकता में सुधार होता है। यह रणनीति अनुकूली चलती औसत प्रौद्योगिकी का उपयोग करती है, जो बाजार की स्थितियों के अनुसार मापदंडों को गतिशील रूप से समायोजित कर सकती है, ताकि यह विभिन्न बाजार परिवेशों में स्थिर प्रदर्शन बनाए रख सके।
रणनीति का मूल तर्क दो मुख्य संकेतकों के तालमेल पर आधारित है:
जब दोनों संकेतक ऊपर की ओर रुझान की पुष्टि करते हैं (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)