অভিযোজিত সুপারট্রেন্ড চ্যানেলের উপর ভিত্তি করে ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-09-20 15:17:51 অবশেষে সংশোধন করুন: 2023-09-20 15:17:51
অনুলিপি: 1 ক্লিকের সংখ্যা: 810
1
ফোকাস
1617
অনুসারী

ওভারভিউ

এই কৌশলটি ডাবল স্তর সুপারট্রেন্ড চ্যানেল তৈরি করে, দামের বিরতি চ্যানেলের সাথে একত্রিত হয়ে ট্রেডিং সিগন্যাল তৈরি করে। দামের ওঠানামা ব্যবহার করে চ্যানেলের প্রস্থকে সামঞ্জস্য করে স্ব-অনুকূলিতকরণের প্রভাব অর্জন করে। এটি প্রবণতা অনুসরণকারী কৌশলগুলির মধ্যে একটি।

কৌশল নীতি

  1. দামের স্ট্যান্ডার্ড ডিফেন্ডার এবং ওঠানামার ATR গণনা করুন, ওঠানামার উপর ভিত্তি করে ওভারট্রেন্ডিং চ্যানেলের প্রস্থটি সামঞ্জস্য করুন।

  2. ডাবল লেয়ার সুপার ট্রেন্ডিং চ্যানেল তৈরি করা হয়েছে, অভ্যন্তরীণ চ্যানেলটি আরও সংবেদনশীল এবং বাইরের চ্যানেলটি আরও স্থিতিশীল।

  3. যখন দাম একটি অভ্যন্তরীণ বা বহিরাগত চ্যানেল অতিক্রম করে তখন একটি ক্রয় বা বিক্রয় সংকেত তৈরি হয়।

  4. ডাবল-লেভেল চ্যানেল কাঠামো ব্যবহার করে, কিছু ভুয়া ব্রেকআউট ফিল্টার করা যায়।

  5. তরঙ্গের হার এটিআর চ্যানেলের প্রস্থকে সামঞ্জস্য করার জন্য ব্যবহৃত হয়, যখন তরঙ্গের পরিমাণ বৃদ্ধি পায় তখন চ্যানেলের প্রস্থ বৃদ্ধি পায়, স্ব-অনুকূলিতকরণের প্রভাব অর্জনের জন্য।

সামর্থ্য বিশ্লেষণ

  1. সুপার ট্রেন্ড চ্যানেল ব্যবহার করা সহজ এবং প্রবণতা ভালভাবে অনুসরণ করা যায়।

  2. ডাবল লেয়ার চ্যানেল কাঠামো সংকেত মান উন্নত করতে পারে, যা মিথ্যা ব্রেকফাস্ট ফিল্টার করে।

  3. চ্যানেলের প্রস্থের সাথে সামঞ্জস্য রেখে প্রবণতা হ্রাস পায়, যাতে চ্যানেলটি বিভিন্ন বাজারের অবস্থার সাথে আরও সামঞ্জস্যপূর্ণ হয়।

  4. এটি বাস্তবায়ন করা সহজ এবং প্যারামিটারগুলি সামঞ্জস্য করা সহজ।

  5. চ্যানেল এবং ব্রেকআপের দৃশ্যমানতা, একটি স্বজ্ঞাত লেনদেনের সংকেত তৈরি করে।

ঝুঁকি বিশ্লেষণ

  1. ব্রেকিং সিগন্যালের ফলে ভুল বোঝাবুঝি হতে পারে এবং অপ্রয়োজনীয় ক্ষতি হতে পারে।

  2. ট্রেন্ডের দিকনির্দেশনা না জানার ফলে বিপরীতমুখী লেনদেনের ঝুঁকি রয়েছে।

  3. এই পরিবর্তনগুলি খুব সংবেদনশীল এবং খুব বড় হতে পারে।

  4. প্যারামিটার অপ্টিমাইজেশনের ভুল ব্যবহারের ফলে ওভার-অপ্টিমাইজেশন হতে পারে।

  5. ট্রেন্ড ট্র্যাকিংয়ের কৌশল হিসেবে, ডুডল ট্রেডিংয়ের সময় কম লাভ বা ক্ষতির সম্ভাবনা থাকে।

অপ্টিমাইজেশান দিক

  1. বিভিন্ন প্যারামিটারের মাধ্যমে চ্যানেলের স্বনির্ধারণের প্রভাব পরীক্ষা করা।

  2. এই প্রবণতাকে মূল্যায়ন করার জন্য গড় রেখার মতো সূচক ব্যবহার করুন।

  3. ভুয়া ব্রেকিং এড়াতে ব্রেকিং নিশ্চিতকরণ ব্যবস্থাকে অপ্টিমাইজ করুন।

  4. স্টপ লস কৌশল যুক্ত করুন, একক ক্ষতি নিয়ন্ত্রণ করুন।

  5. ট্রেডিং ফ্রিকোয়েন্সির উপর চ্যানেল প্যারামিটারগুলির প্রভাব মূল্যায়ন করা।

  6. মেশিন লার্নিং অ্যালগরিদমের মাধ্যমে প্যারামিটারগুলিকে গতিশীলভাবে অপ্টিমাইজ করা যায়।

সারসংক্ষেপ

এই কৌশলটি দামের প্রবণতা ক্যাপচার করতে দ্বি-স্তরের স্ব-অনুকূলিত সুপারট্রেন্ডিং চ্যানেল ব্যবহার করে। সুবিধাগুলি সহজ এবং স্বজ্ঞাত, যা কার্যকরভাবে প্রবণতা অনুসরণ করতে পারে। তবে কিছু ব্রেকথ্রু ভুল বিচার এবং প্রবণতা বিচার ভুল হওয়ার ঝুঁকিও রয়েছে। প্যারামিটার অপ্টিমাইজেশন এবং সহায়ক ব্যবস্থার পরিপূরক দ্বারা কৌশলটির কার্যকারিতা আরও উন্নত করা যেতে পারে, এটি একটি স্থিতিশীল এবং দক্ষ প্রবণতা ট্র্যাকিং সিস্টেম তৈরি করতে পারে।

কৌশল সোর্স কোড
/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("SuperTrend Cloud Strategy", shorttitle="SuperTrend Cloud Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital = 1000)

//Inputs
multi = input(title="Multiplier", type=input.float, step=0.1, defval=3, minval=1)
period = input(title="Period", type=input.integer, step=1, defval=10, minval=1)
SelfAdjust = input(title="Self-Adjusting", type=input.bool, defval = false)


////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

dev = stdev(close, period)
stdDev = (dev / close) * 100 + 1
MultDev = SelfAdjust ? multi * stdDev : multi

up_lev1 = hl2 - MultDev * atr(period)
dn_lev1 = hl2 + MultDev * atr(period)
up_lev2 = hl2 - (MultDev * 2 * atr(period))
dn_lev2 = hl2 + (MultDev * 2 * atr(period))

up_trend1 = 0.0
up_trend1 := close[1] > up_trend1[1] ? max(up_lev1, up_trend1[1]) : up_lev1
up_trend2 = 0.0
up_trend2 := close[1] > up_trend2[1] ? max(up_lev2, up_trend2[1]) : up_lev2

down_trend1 = 0.0
down_trend1 := close[1] < down_trend1[1] ? min(dn_lev1, down_trend1[1]) : dn_lev1
down_trend2 = 0.0
down_trend2 := close[1] < down_trend2[1] ? min(dn_lev2, down_trend2[1]) : dn_lev2

trend1 = 0
trend1 := close > down_trend1[1] ? 1: close < up_trend1[1] ? -1 : nz(trend1[1], 1)
trend2 = 0
trend2 := close > down_trend2[1] ? 1: close < up_trend2[1] ? -1 : nz(trend2[1], 1)

st_line1 = trend1 == 1 ? up_trend1 : down_trend1
st_line2 = trend2 == 1 ? up_trend2 : down_trend2

// Plotting
plot1 = plot(st_line1, color = trend1 == 1 ? color.green : color.red , style = plot.style_line, linewidth = 1, title = "SuperTrend 1")
plot2 = plot(st_line2, color = trend2 == 1 ? color.green : color.red , style = plot.style_line, linewidth = 1, title = "SuperTrend 2")
fill(plot1, plot2, color = color.aqua, title = "Cloud")

buy = crossover(close, st_line1) and close > st_line2 or crossover(close, st_line2) and close > st_line1
sell = crossunder(close, st_line1) and close < st_line2 or crossunder(close, st_line2) and close < st_line1

if(buy and time_cond)
    strategy.entry("long", long = true , comment="long")

if (close < st_line1 and time_cond or close < st_line2 and time_cond)
    strategy.close("long")
    
if (not time_cond)
    strategy.close_all()