লাইন কৌশল অনুসরণ করুন

লেখক:চাওঝাং, তারিখঃ ২০২৩-১২-০১ ১৮ঃ৩১ঃ৩৯
ট্যাগঃ

img

সারসংক্ষেপ

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

কৌশলগত যুক্তি

কৌশলটি প্রথমে বলিংজার ব্যান্ডের উপরের এবং নীচের ব্যান্ডগুলি, পাশাপাশি গড় সত্য পরিসীমা গণনা করে। তারপরে এটি মূল্যায়ন করে যে দামটি বলিংজার উপরের ব্যান্ডের উপরে বা নীচের ব্যান্ডের নীচে ভেঙে যায় কিনা।

যখন মূল্য উপরের ব্যান্ডের উপরে ভেঙে যায়, যদি ATR ফিল্টার সক্ষম করা হয়, তাহলে প্রবণতা লাইনটি সর্বনিম্ন মূল্য বিয়োগ ATR এ সেট করা হয়। যদি ATR ফিল্টার নিষ্ক্রিয় করা হয়, তবে প্রবণতা লাইন সরাসরি সর্বনিম্ন মূল্যে সেট করা হয়।

যখন মূল্য নিম্নতম ব্যান্ডের নীচে ভাঙ্গবে, যদি ATR ফিল্টার সক্ষম করা হয়, তাহলে ট্রেন্ড লাইনটি সর্বোচ্চ মূল্য প্লাস ATR এ সেট করা হবে। যদি ATR ফিল্টার নিষ্ক্রিয় করা হয়, তাহলে ট্রেন্ড লাইন সরাসরি সর্বোচ্চ মূল্যে সেট করা হবে।

সুতরাং, ট্রেন্ড ট্র্যাকিংয়ের জন্য বোলিংজার ব্যান্ডের দামের ব্রেকআউটের উপর ভিত্তি করে প্রবণতা বিচার লাইনটি গতিশীলভাবে সামঞ্জস্য করা যেতে পারে।

যখন বর্তমান প্রবণতা লাইন পূর্ববর্তী এক উচ্চতর, এটি একটি আপ ট্রেন্ড ইঙ্গিত। যখন বর্তমান প্রবণতা লাইন পূর্ববর্তী এক কম, এটি একটি নিম্নমুখী প্রবণতা ইঙ্গিত।

ট্রেডিং সিগন্যালগুলি তখন দীর্ঘ বা সংক্ষিপ্ত যেতে প্রবণতা বিচারের উপর ভিত্তি করে উত্পন্ন করা যেতে পারে।

সুবিধা বিশ্লেষণ

  • গতিশীলভাবে প্রবণতা রেখা সামঞ্জস্য করে দামের প্রবণতা নমনীয়ভাবে ধরতে পারে
  • বোলিংজার ব্যান্ডের সাথে একত্রিত করা ব্যান্ড ব্রেকআউটের উপর প্রবণতা বিপরীত সময়মত বিচার করতে পারে
  • ATR ফিল্টার প্রবর্তন কিছু মিথ্যা ব্রেকআউট সংকেত এড়াতে পারেন

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

  • ভুল বিবি পরামিতিগুলি ঘন ঘন মিথ্যা ব্রেকআউট হতে পারে
  • অত্যধিক এটিআর পরামিতি প্রবণতা বিপরীত করার সুযোগ মিস করতে পারে
  • চরম গতি থেকে ক্ষতি রোধ করার জন্য স্টপ লস বিবেচনা করতে হবে

কিছু ঝুঁকি প্যারামিটার টিউনিংয়ের মাধ্যমে হ্রাস করা যেতে পারে, স্টপ লস প্রবর্তন করে। ব্রেকআউট বৈধতা উন্নত করতে সংকেত ফিল্টারিংয়ের জন্য অন্যান্য সূচকগুলির সাথেও একত্রিত হতে পারে।

অপ্টিমাইজেশান নির্দেশাবলী

  • সেরা কনফিগারেশন খুঁজে পেতে BB এবং ATR পরামিতি অপ্টিমাইজ করুন
  • মিথ্যা ব্রেকআউট ফিল্টার করার জন্য অন্যান্য সূচক যোগ করুন
  • নির্দিষ্ট ট্রেডিং যন্ত্রের উপর ভিত্তি করে BB এবং 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) 

আরো