রিসোর্স লোড হচ্ছে... লোডিং...

ডনচিয়ান চ্যানেল ট্রেন্ড ট্র্যাকিং কৌশল

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

img

সারসংক্ষেপ

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

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

কৌশলটি প্রথমে ব্যাকটেস্টিংয়ের সময়সীমা নির্ধারণ করে এবং তারপরে দীর্ঘ এবং সংক্ষিপ্ত প্রবেশের নিয়মগুলি নির্ধারণ করে।

লং পজিশনের জন্য, দাম ডনচিয়ান চ্যানেলের উপরের ব্যান্ডের উপরে ভাঙলে লং খুলুন; দাম নীচের ব্যান্ডের নীচে ভাঙলে লং বন্ধ করুন।

শর্ট পজিশনের জন্য, দাম ডনচিয়ান চ্যানেলের নিম্ন স্তরের নীচে ভাঙলে শর্ট খুলুন; দাম উপরের স্তরের উপরে ভাঙলে শর্ট বন্ধ করুন।

কৌশলটি স্টপ লস প্রস্থান প্রক্রিয়া সেট করার জন্য এটিআর সূচককেও অন্তর্ভুক্ত করে। একটি সহগ দ্বারা গুণিত এটিআর মানটি স্টপ লস স্তর হিসাবে ব্যবহৃত হয়।

বিশেষ করে, লং স্টপ লস হল এন্ট্রি প্রাইস বিয়োগ করে ATR স্টপ লস ভ্যালু; শর্ট স্টপ লস হল এন্ট্রি প্রাইস প্লাস ATR স্টপ লস ভ্যালু।

কৌশলটি ডনচিয়ান চ্যানেলের উপরের এবং নীচের ব্যান্ড এবং এটিআর স্টপ লস লাইনকে একটি সম্পূর্ণ ট্রেডিং সিস্টেম গঠনের জন্য প্লট করে।

সুবিধা

  • কিছু ট্রেন্ড ট্র্যাকিং ক্ষমতা দিয়ে ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য ডোনচিয়ান চ্যানেল ব্যবহার করুন।

  • ডনচিয়ান চ্যানেল মসৃণ পরামিতি সামঞ্জস্যযোগ্য, সর্বোত্তম পরামিতি সমন্বয় খুঁজে পেতে পরামিতি অপ্টিমাইজেশান অনুমতি দেয়।

  • এটিআর সহ স্টপ লস প্রক্রিয়াটি কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করতে পারে।

  • দীর্ঘ এবং সংক্ষিপ্ত ট্রেডিং নিয়মগুলি সহজ এবং সহজেই বোঝা যায়, নতুনদের জন্য উপযুক্ত।

  • কোডের কাঠামো পরিষ্কার এবং বোঝা এবং পরিবর্তন করা সহজ।

ঝুঁকি

  • ডনচিয়ান চ্যানেলের দামের প্রবণতা চলাকালীন কিছু হুইপসো ট্রেড হতে পারে।

  • ভুল ATR স্টপ লস রেঞ্জ সেটিং খুব বড় বা খুব সংবেদনশীল স্টপ লস হতে পারে।

  • লং এবং শর্ট পজিশনগুলি খুব বেশি ঘনীভূত হতে পারে, যার জন্য পজিশনের আকার নির্ধারণের নিয়ম প্রয়োজন।

  • কৌশলটি বিভিন্ন পণ্যগুলিতে প্রয়োগযোগ্যতার জন্য পরীক্ষা করা দরকার, স্বাধীন পরামিতি অপ্টিমাইজেশান সহ।

  • ট্রেডিং খরচও বিবেচনা করা প্রয়োজন, উচ্চ খরচের পরিবেশে পরামিতিগুলি সামঞ্জস্য করতে হতে পারে।

উন্নতির সুযোগ

  • ডনচিয়ান চ্যানেলের সময়কালের পরামিতিগুলিকে সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে বের করার জন্য অপ্টিমাইজ করুন।

  • অপ্টিম স্টপ লস রেঞ্জ খুঁজে পেতে বিভিন্ন ATR কোয়ালিফায়েন্ট চেষ্টা করুন।

  • ATR স্টপ লস এর উপরে ট্রেলিং স্টপ লস চালু করার চেষ্টা করুন মুনাফা লক করার জন্য।

  • বাজারের অবস্থার উপর ভিত্তি করে লং/শর্ট পজিশনের অনুপাত সামঞ্জস্য করা।

  • জেনেরিক প্যারামিটার খুঁজতে বিভিন্ন পণ্যের উপর পরামিতি স্থিতিশীলতা পরীক্ষা করুন।

  • স্থিতিশীলতা উন্নত করতে MACD এবং অন্যান্য ফিল্টার অন্তর্ভুক্ত করে গবেষণা।

  • বিভিন্ন ট্রেডিং খরচ পরিবেশে পরামিতির অভিযোজনযোগ্যতা পরীক্ষা করুন।

সংক্ষিপ্তসার

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


/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 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/
// © kriswaters

//@version=4
strategy("Donchian Channels Strategy by KrisWaters", overlay=true ) 

// Date filter
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 = 2017, title = "From Year", minval = 1900)
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 = 9999, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

// Strategy Settings
canEnterLong = input(true, title="Can Enter Long Position")
canEnterShort = input(false, title="Can Enter Short Position")

showLongChannel = input(true, title="Show Donchian Long Channels")
showShortChannel = input(false , title="Show Donchian Short Channels")

useAtrAsStopRule = input(false, title="Enable ATR Stop Rule") 

// DonCcian Channel Lengths
longUpperLength = input(20, minval=1)
longLowerLength = input(10, minval=1)

shortUpperLength = input(10, minval=1)
shortLowerLength = input(20, minval=1)

// Donchian indicator calculations
longUpperValue = highest(high,longUpperLength)
longLowerValue = lowest(low,longLowerLength)

shortUpperValue = highest(high,shortUpperLength)
shortLowerValue = lowest(low,shortLowerLength)

// Plot Donchian Channels
uLong = plot(showLongChannel ? longUpperValue : na, color=color.green, offset=1)
lLong = plot(showLongChannel ? longLowerValue : na, color=color.green, offset=1)

uShort = plot(showShortChannel ? shortUpperValue : na, color=color.red, offset=1)
lShort = plot(showShortChannel ? shortLowerValue : na, color=color.red, offset=1)

// Styling
fill(uLong,lLong, color=color.green, transp=95, title="Long Arkaplan")
fill(uShort,lShort, color=color.red, transp=95, title="Short Arkaplan")

// Stop-loss value calculations
atrMultiplier = 2.0
atrValue = atr(20)
longStopValue = open - (atrMultiplier*atrValue)
shortStopValue = open + (atrMultiplier*atrValue)

// Plot stop-loss line
plot(useAtrAsStopRule ? longStopValue : na, color=color.red, linewidth=2, offset=1)
plot(useAtrAsStopRule ? shortStopValue : na, color=color.red, linewidth=2, offset=1)

// Long and Short Position Rules
if canEnterLong and na(longUpperValue) != true and na(longLowerValue) != true and window()
    strategy.entry("Long", true, stop=longUpperValue)
    strategy.exit("Long Exit", "Long", stop=useAtrAsStopRule ? max(longLowerValue,longStopValue) : longLowerValue)
    
if canEnterShort and na(shortUpperValue) != true and na(shortLowerValue) != true and window()
    strategy.entry("Short", false, stop=shortLowerValue)
    strategy.exit("Short Exit", "Short", stop=useAtrAsStopRule ? min(shortUpperValue,shortStopValue) : shortUpperValue)
    


আরো