
গোল্ডেন ক্রস সেল্টার চ্যানেল ট্রেন্ড ট্র্যাকিং কৌশল হল এমন একটি কৌশল যা শুধুমাত্র ট্রেন্ডের দিকনির্দেশে ট্রেড করে। এটি একটি চলমান গড় গোল্ডেন ক্রস এবং সেল্টার চ্যানেলকে প্রবণতার দিকটি ধরার জন্য প্রবেশের সংকেত হিসাবে ব্যবহার করে।
এই কৌশলটি প্রবণতার দিকনির্দেশের জন্য দুটি চলমান গড় ব্যবহার করে, স্বল্পমেয়াদী চলমান গড় এবং দীর্ঘমেয়াদী চলমান গড়, যা গোল্ডেন ক্রস এবং ডেথ ক্রস গঠন করে। একই সাথে, এটি ব্যবহারকারীর দ্বারা সংজ্ঞায়িত গুণক ব্যবহার করে ক্যাল্টার চ্যানেলের উত্থান-পতন ট্র্যাকটি আঁকতে এবং যখন দাম চ্যানেলটি ভেঙে যায় তখন একটি লেনদেনের সংকেত দেয়।
বিশেষভাবে, কৌশলটি প্রথমে সিদ্ধান্ত নেয় যে দীর্ঘমেয়াদী চলমান গড়টি স্বল্পমেয়াদী চলমান গড়ের উপরে রয়েছে কিনা, যদি তা হয় তবে এটি স্বর্ণের জন্য ক্রস করা হয়, এটি একটি ট্রেন্ড আপ হিসাবে বিচার করা হয়; যদি স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের নীচে থাকে তবে এটি মৃত্যুর জন্য ক্রস করা হয়, এটি একটি ট্রেন্ড ডাউন হিসাবে বিচার করা হয়।
প্রবণতা বিচার উপর ভিত্তি করে, যদি দাম একটি আপট্র্যাক বিরতি, একটি বহু সংকেত উত্পন্ন; যদি দাম একটি ডাউনট্র্যাক পড়ে, একটি বন্ধ সংকেত উত্পন্ন। ব্যবহারকারীরা স্বয়ংক্রিয়ভাবে চলন্ত গড়ের সময়কাল এবং চ্যানেলের প্রস্থ সামঞ্জস্য করতে পারেন, যার ফলে কৌশলটির প্যারামিটারগুলি সামঞ্জস্য করা যায়।
প্রবেশের পরে, কৌশলটি ব্যবহারকারীর সংজ্ঞায়িত স্টপস্টপ লস এটিআর গুণক ব্যবহার করে স্টপস্টপ লস স্তর সেট করে। একই সাথে, কৌশলটি অতিরিক্ত ব্রেকিং স্টপ এবং স্টপ লস শর্ত সরবরাহ করে, যা পজিশনটি আরও নমনীয়ভাবে নিয়ন্ত্রণ করতে পারে।
এই কৌশলটি ট্রেন্ড ট্র্যাকিং এবং চ্যানেল ব্রেকিংয়ের সুবিধাগুলিকে একত্রিত করে, যা কার্যকরভাবে বাজার চলন এবং ট্রেন্ডের সুযোগগুলি ধরতে পারে। এর সুবিধাগুলি নিম্নরূপঃ
গোল্ডেন ক্রস ব্যবহার করে ট্রেন্ডের দিক নির্ণয় করা যায়, যা বড় ট্রেন্ডের সাথে সামঞ্জস্যপূর্ণ নয় এমন নয়েজ ট্রেডিংকে কার্যকরভাবে ফিল্টার করতে পারে।
সেল্টার চ্যানেলের ব্রেকআউট ট্রেন্ডের দিকনির্দেশের সাথে মিলিত হয়, যা বাজারে প্রবেশের সময় সঠিকতা বাড়িয়ে তুলতে পারে।
স্টপ-অফ স্টপ লস ম্যানেজমেন্ট লাভের উপর লকিং এবং ঝুঁকি নিয়ন্ত্রণে সহায়তা করে।
বিভিন্ন জাত এবং বাজারের পরিবেশের জন্য কৌশলগত প্যারামিটারগুলি নমনীয়ভাবে সামঞ্জস্য করা যায়।
আপনি একই সময়ে একাধিক কাজ করতে পারেন, যা আপনার কৌশলকে প্রসারিত করতে পারে।
যদিও এই কৌশলটির অনেক সুবিধা রয়েছে, তবে কিছু ঝুঁকি রয়েছে যা সম্পর্কে সতর্ক হওয়া দরকারঃ
তবে, এই পরিস্থিতির পুনরুদ্ধারের সুযোগ হাতছাড়া হওয়ার ঝুঁকি রয়েছে।
যদি এই প্রবণতা পরিবর্তিত হয়, তাহলে বিপরীতমুখী ক্ষতির ঝুঁকি রয়েছে।
ভুল প্যারামিটার সেট করা হলে, ট্রেডিং খুব সহজ বা খুব ঘন হতে পারে।
রাতারাতি থাকার ঝুঁকি নিতে হবে।
কার্ভ ফিট হওয়ার ঝুঁকি রয়েছে।
প্যারামিটার অপ্টিমাইজেশান, মুভিং এভারেজ চক্রের যথাযথ সমন্বয়, অথবা যথাযথভাবে পজিশনের আকার কমানোর মাধ্যমে ঝুঁকি কমাতে পারে।
এই কৌশলটি আরও উন্নত করার সুযোগ রয়েছেঃ
আপনি আরও বিচার সূচক যুক্ত করতে পারেন, মাল্টি ফ্যাক্টর মডেল তৈরি করতে পারেন, কৌশল accuracy উন্নত করতে পারেন। উদাহরণস্বরূপ, MACD, RSI ইত্যাদি যোগ করুন।
মেশিন লার্নিং-এর উপর ভিত্তি করে প্যারামিটারগুলিকে অপ্টিমাইজ করা যায় যাতে এটি বিভিন্ন বাজারের পরিবেশের সাথে আরও উপযুক্ত হয়।
আপনি আপনার স্টপ-অফ-লস শর্তাবলীকে গতিশীলভাবে সামঞ্জস্য করার কথা বিবেচনা করতে পারেন, যাতে আপনি লাভের নিশ্চয়তা দিয়ে আরও বেশি আয় করতে পারেন।
পজিশনের আকারের পরিবর্তনশীলতার সাথে সামঞ্জস্য রেখে পজিশনের আকার পরিবর্তন করা যেতে পারে।
বিভিন্ন জাতের প্যারামিটার পছন্দগুলি অধ্যয়ন করুন এবং বিভিন্ন জাতের জন্য উপযুক্ত প্যারামিটার সমন্বয় তৈরি করুন।
ট্রেডিং ফি প্রভাব কমাতে ট্রেডিং ফ্রিকোয়েন্সি হ্রাস করার জন্য একটি প্রক্রিয়া যোগ করা।
গোল্ডেন ক্রস সেল্টার চ্যানেল ট্রেন্ড ট্র্যাকিং কৌশল সামগ্রিকভাবে একটি তুলনামূলকভাবে স্থিতিশীল এবং নির্ভরযোগ্য ট্রেন্ড ট্র্যাকিং কৌশল। এটি প্রবণতা বিচার এবং চ্যানেল ব্রেকআপের সুবিধাগুলিকে একত্রিত করে, যা কার্যকরভাবে বাজারের প্রবণতার দিক সনাক্ত করতে এবং উচ্চ সম্ভাব্যতার ব্যবসায়ের সুযোগগুলি বেছে নিতে পারে। প্যারামিটার অপ্টিমাইজেশন এবং প্রক্রিয়া উন্নতির মাধ্যমে, কৌশলটি একটি শক্তিশালী পরিমাণগত ব্যবসায়ের সরঞ্জাম হতে পারে।
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 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/
// © OversoldPOS
//@version=5
// strategy("Keltner Channel Strategy by OversoldPOS", overlay=true,initial_capital = 100000,default_qty_type = strategy.percent_of_equity,default_qty_value = 10, commission_type = strategy.commission.cash_per_order, commission_value = 7)
// Parameters
length = input(21, title="MA Length")
Entrymult = input(1, title="Entry ATR")
profit_mult = input(4, title="Profit Taker")
exit_mult = input(-1, title="Exit ATR")
// Moving Average Type Input
ma_type = input.string("SMA", title="Moving Average Type", options=["SMA", "EMA", "WMA"])
// Calculate Keltner Channels for different ATR multiples
atr_value = ta.atr(length)
basis = switch ma_type
"SMA" => ta.sma(close, length)
"EMA" => ta.ema(close, length)
"WMA" => ta.wma(close, length)
//
EntryKeltLong = basis + Entrymult * ta.atr(10)
EntryKeltShort = basis - Entrymult * ta.atr(10)
upper_channel1 = basis + 1 * ta.atr(10)
lower_channel1 = basis - 1 * ta.atr(10)
upper_channel2 = basis + 2 * ta.atr(10)
lower_channel2 = basis - 2 * ta.atr(10)
upper_channel3 = basis + 3 * ta.atr(10)
lower_channel3 = basis - 3 * ta.atr(10)
upper_channel4 = basis + 4 * ta.atr(10)
lower_channel4 = basis - 4 * ta.atr(10)
// Entry condition parameters
long_entry_condition = input(true, title="Long Positions")
short_entry_condition = input(true, title="Enable Short Positions")
// Additional conditions for long and short entries
is_long_entry = ta.ema(close, 20) > ta.ema(close, 50)
is_short_entry = ta.ema(close, 20) < ta.ema(close, 50)
// Additional conditions for long and short entries
MAShort = input(50, title="Short MA for Golden Cross")
MALong = input(200, title="Long MA for Golden Cross")
is_long_entry2 = ta.ema(close, MAShort) > ta.ema(close, MALong)
is_short_entry2 = ta.ema(close, MAShort) < ta.ema(close, MALong)
// Exit condition parameters
long_exit_condition1_enabled = input(true, title="Enable Long Profit Taker")
long_exit_condition2_enabled = input(true, title="Enable Long Stop")
short_exit_condition1_enabled = input(true, title="Enable Short Profit Taker")
short_exit_condition2_enabled = input(true, title="Enable Short Stop")
// Take Profit condition parameters
take_profit_enabled = input(true, title="Enable Take Profit Condition")
Takeprofit = basis + profit_mult * atr_value
STakeprofit = basis - profit_mult * atr_value
// Long entry condition
long_condition = long_entry_condition and ta.crossover(close, EntryKeltLong) and is_long_entry2
// Short entry condition
short_condition = short_entry_condition and ta.crossunder(close, EntryKeltShort) and is_short_entry2
// Exit conditions
long_exit_condition1 = long_exit_condition1_enabled and close > Takeprofit
long_exit_condition2 = long_exit_condition2_enabled and close < basis + exit_mult * atr_value
short_exit_condition1 = short_exit_condition1_enabled and close < STakeprofit
short_exit_condition2 = short_exit_condition2_enabled and close > basis - exit_mult * atr_value
// Strategy logic
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
if (long_exit_condition1 or long_exit_condition2)
strategy.close("Long")
if (short_exit_condition1 or short_exit_condition2)
strategy.close("Short")
// Moving Averages
var float MA1 = na
var float MA2 = na
if (ma_type == "SMA")
MA1 := ta.sma(close, MAShort)
MA2 := ta.sma(close, MALong)
else if (ma_type == "EMA")
MA1 := ta.ema(close, MAShort)
MA2 := ta.ema(close, MALong)
else if (ma_type == "WMA")
MA1 := ta.wma(close, MAShort)
MA2 := ta.wma(close, MALong)
// Plotting Keltner Channels with adjusted transparency
transparentColor = color.rgb(255, 255, 255, 56)
plot(upper_channel1, color=transparentColor, title="Upper Channel 1")
plot(lower_channel1, color=transparentColor, title="Lower Channel 1")
plot(upper_channel2, color=transparentColor, title="Upper Channel 2")
plot(lower_channel2, color=transparentColor, title="Lower Channel 2")
plot(upper_channel3, color=transparentColor, title="Upper Channel 3")
plot(lower_channel3, color=transparentColor, title="Lower Channel 3")
plot(upper_channel4, color=transparentColor, title="Upper Channel 4")
plot(lower_channel4, color=transparentColor, title="Lower Channel 4")
plot(basis, color=color.white, title="Basis")
plot(MA1, color=color.rgb(4, 248, 216), linewidth=2, title="Middle MA")
plot(MA2, color=color.rgb(220, 7, 248), linewidth=2, title="Long MA")