
এই কৌশলটি একটি ট্রেন্ড অনুসরণকারী ট্রেডিং সিস্টেম যা কোরাল ট্রেন্ড সূচককে ডনচিয়ান চ্যানেলের সাথে একত্রিত করে। বাজারের গতিবেগ এবং ট্রেন্ড ব্রেকথ্রুগুলির একাধিক নিশ্চিতকরণ সঠিকভাবে ক্যাপচার করার মাধ্যমে, অস্থির বাজারে মিথ্যা সংকেতগুলি কার্যকরভাবে ফিল্টার করা হয়, যার ফলে ট্রেডিং নির্ভুলতা উন্নত হয়। কৌশলটি অভিযোজিত চলমান গড় প্রযুক্তি ব্যবহার করে, যা বাজারের অবস্থা অনুসারে গতিশীলভাবে পরামিতিগুলি সামঞ্জস্য করতে পারে, যাতে এটি বিভিন্ন বাজার পরিবেশে স্থিতিশীল কর্মক্ষমতা বজায় রাখতে পারে।
কৌশলটির মূল যুক্তি দুটি প্রধান সূচকের সমন্বয়ের উপর ভিত্তি করে:
যখন দুটি সূচক একই সময়ে ঊর্ধ্বমুখী প্রবণতা নিশ্চিত করে (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)