ট্র্যাকিং লাইন কৌশল


সৃষ্টির তারিখ: 2023-12-01 18:31:39 অবশেষে সংশোধন করুন: 2023-12-01 18:31:39
অনুলিপি: 1 ক্লিকের সংখ্যা: 606
1
ফোকাস
1619
অনুসারী

ট্র্যাকিং লাইন কৌশল

ওভারভিউ

ট্র্যাকিং লাইন কৌশল হল একটি প্রবণতা ট্র্যাকিং কৌশল যা বুলিন ব্যান্ডের সূচক এবং গড় বাস্তব ওঠানামা ((এটিআর)) এর উপর ভিত্তি করে। এটি গতিশীলভাবে প্রবণতা বিচার লাইনকে সামঞ্জস্য করে, বুলিন ব্যান্ডটি ভেঙে যাওয়ার সময় ট্র্যাকিংয়ের উপরে এবং বুলিন ব্যান্ডটি ভেঙে যাওয়ার সময় ট্র্যাকিংয়ের নিচে সামঞ্জস্য করে, যাতে প্রবণতা বিচার এবং ট্র্যাকিং করা যায়।

কৌশল নীতি

এই কৌশলটি প্রথমে বুলিন বন্ডের উর্ধ্ব-নিম্ন ট্রেলার এবং গড় বাস্তব ওভারলে ব্যাপ্তি গণনা করে। তারপর সিদ্ধান্ত নেয় যে দামটি বুলিন বন্ডের উর্ধ্ব-নিম্ন ট্রেলার ভেঙেছে কিনা।

যখন দামটি ট্রেনে উঠে যায়, এটিআর ফিল্টারটি চালু থাকলে, ট্রেন্ডের বিচার লাইনটি সর্বনিম্ন মূল্য হ্রাস করে এটিআর সেট করা হয়; এটিআর ফিল্টারটি চালু না থাকলে, এটি সরাসরি সর্বনিম্ন মূল্য সেট করা হয়।

যখন দামটি ট্র্যাক থেকে বেরিয়ে যায়, এটিআর ফিল্টারটি চালু থাকলে ট্রেন্ড বিচার লাইনটি সর্বোচ্চ মূল্য এবং এটিআর হিসাবে সেট করা হয়; এটিআর ফিল্টারটি চালু না থাকলে, এটি সরাসরি সর্বোচ্চ মূল্য হিসাবে সেট করা হয়।

এইভাবে, প্রবণতা বিচারক লাইনটি গতিশীলভাবে দামের ব্রেকথ্রু বুলিনের সাথে ট্র্যাকের নীচে সামঞ্জস্য করতে পারে, যার ফলে প্রবণতা বিচার করা যায়।

যখন বর্তমান প্রবণতা বিচার লাইনটি পূর্ববর্তী প্রবণতা বিচার লাইনের চেয়ে বেশি থাকে, তখন এটি একটি উত্থান প্রবণতাতে রয়েছে; যখন বর্তমান প্রবণতা বিচার লাইনটি পূর্ববর্তী প্রবণতা বিচার লাইনের চেয়ে কম থাকে, তখন এটি একটি পতন প্রবণতাতে রয়েছে।

ট্রেন্ডের উপর নির্ভর করে, এই কৌশলটি একাধিক কমান্ড অপারেশন করতে পারে।

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

  • প্রবণতা বিচার লাইন পরিবর্তনশীলভাবে সামঞ্জস্য করে, মূল্যের প্রবণতাকে নমনীয়ভাবে ধরতে সক্ষম
  • ব্রাইন ব্যান্ডের সাথে মিলিত, এটি মূল্য বিপর্যয়ের সময় ট্রেন্ডের বিপর্যয় নির্ধারণ করতে সহায়তা করে
  • এটিআর প্যারামিটার প্রবর্তন করা হয়েছে, যা কিছু মিথ্যা ব্রেকিং সিগন্যাল ফিল্টার করতে পারে

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

  • ভুলভাবে বাছাই করা ব্রিন-ব্যান্ডের প্যারামিটারগুলি ঘন ঘন মিথ্যা ভাঙ্গার কারণ হতে পারে
  • এটিআর প্যারামিটারগুলি খুব বড় নির্বাচন করা হয়েছে, যা ট্রেন্ড পাল্টানোর সুযোগ মিস করতে পারে
  • চরমপন্থা থেকে ক্ষতি রোধে ক্ষতি বন্ধের বিষয়টি বিবেচনা করা উচিত

কিছু ঝুঁকি এড়াতে প্যারামিটারগুলি সামঞ্জস্য করা যায়, স্টপ লস চালু করা যায়। অন্যান্য সূচকগুলির সাথে মিলিতভাবে ফিল্টার করা যায়, যা বিরতির কার্যকারিতা বাড়ায়।

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

  • সেরা কনফিগারেশন খুঁজতে ব্রিনবেন্ড এবং ATR এর প্যারামিটারগুলি অপ্টিমাইজ করুন
  • ভুয়া ব্রেকআপগুলি ফিল্টার করার জন্য অন্যান্য মানদণ্ড যুক্ত করুন
  • নির্দিষ্ট লেনদেনের জাতের জন্য ব্রিনব্যান্ড এবং এটিআর চক্র নির্বাচন করুন

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © Dreadblitz
//@version=4
//
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ //

strategy(title = " Strategy Follow Line Indicator ",
         shorttitle = "S-FLI",
         overlay = true,
         precision = 8,
         calc_on_order_fills = true,
         calc_on_every_tick = true,
         backtest_fill_limits_assumption = 0,
         default_qty_type = strategy.fixed,
         default_qty_value = 2,
         initial_capital = 10000,
         pyramiding=1,
         currency = currency.USD,
         linktoseries = true)

//
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ //

backTestSectionFrom = input(title = "═══════════════ From ═══════════════", defval = true, type = input.bool)

FromMonth         = input(defval = 1, title = "Month", minval = 1)
FromDay           = input(defval = 1, title = "Day", minval = 1)
FromYear          = input(defval = 2014, title = "Year", minval = 2000)

backTestSectionTo = input(title = "════════════════ To ════════════════", defval = true, type = input.bool)
ToMonth           = input(defval = 31, title = "Month", minval = 1)
ToDay             = input(defval = 12, title = "Day", minval = 1)
ToYear            = input(defval = 9999, title = "Year", minval = 2000)

Config            = input(title = "══════════════ Config ══════════════", defval = true, type = input.bool)
BBperiod          = input(defval = 21,     title = "BB Period",    type = input.integer, minval = 1)
BBdeviations      = input(defval = 1.00,     title = "BB Deviations",    type = input.float, minval = 0.1, step=0.05)
UseATRfilter      = input(defval = true, title = "ATR Filter",  type = input.bool)
ATRperiod         = input(defval = 5,     title = "ATR Period",    type = input.integer, minval = 1)
hl                = input(defval = false, title = "Hide Labels",  type = input.bool)


backTestPeriod() => true

//
//
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ //

BBUpper=sma (close,BBperiod)+stdev(close, BBperiod)*BBdeviations
BBLower=sma (close,BBperiod)-stdev(close, BBperiod)*BBdeviations
//
TrendLine = 0.0
iTrend = 0.0
buy = 0.0
sell = 0.0
//
BBSignal = close>BBUpper? 1 : close<BBLower? -1 : 0
// 
if BBSignal == 1 and UseATRfilter == 1
    TrendLine:=low-atr(ATRperiod)
    if TrendLine<TrendLine[1] 
        TrendLine:=TrendLine[1]
if BBSignal == -1 and UseATRfilter == 1
    TrendLine:=high+atr(ATRperiod)
    if TrendLine>TrendLine[1]
        TrendLine:=TrendLine[1]
if BBSignal == 0 and UseATRfilter == 1
    TrendLine:=TrendLine[1]
//
if BBSignal == 1 and UseATRfilter == 0
    TrendLine:=low
    if TrendLine<TrendLine[1] 
        TrendLine:=TrendLine[1]
if BBSignal == -1 and UseATRfilter == 0
    TrendLine:=high
    if TrendLine>TrendLine[1]
        TrendLine:=TrendLine[1]
if BBSignal == 0 and UseATRfilter == 0
    TrendLine:=TrendLine[1]
//
iTrend:=iTrend[1]
if TrendLine>TrendLine[1] 
    iTrend:=1
if TrendLine<TrendLine[1] 
    iTrend:=-1
//
buy:=iTrend[1]==-1 and iTrend==1 ? 1 : na
sell:=iTrend[1]==1 and iTrend==-1? 1 : na
//
plot(TrendLine, color=iTrend > 0?color.blue:color.red ,style=plot.style_line,linewidth=2,transp=0,title="Trend Line") 
plotshape(buy == 1 and hl == false? TrendLine-atr(8) :na, text='💣', style= shape.labelup, location=location.absolute, color=color.blue, textcolor=color.white, offset=0, transp=0,size=size.auto)
plotshape(sell == 1 and hl == false ?TrendLine+atr(8):na, text='🔨', style=shape.labeldown, location=location.absolute, color=color.red, textcolor=color.white, offset=0, transp=0,size=size.auto)

// Strategy Entry
if (backTestPeriod())
    strategy.entry("long", true, 1, when = buy == 1)
    strategy.entry("short", false, 1, when = sell == 1)