ATR এবং স্ট্যান্ডার্ড ডেভিয়েশন চ্যানেলের উপর ভিত্তি করে ট্রেন্ড অনুসরণকারী ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-01-05 16:34:27 অবশেষে সংশোধন করুন: 2024-01-05 16:34:27
অনুলিপি: 0 ক্লিকের সংখ্যা: 931
1
ফোকাস
1617
অনুসারী

ATR এবং স্ট্যান্ডার্ড ডেভিয়েশন চ্যানেলের উপর ভিত্তি করে ট্রেন্ড অনুসরণকারী ট্রেডিং কৌশল

ওভারভিউ

এটিআর ট্রেন্ড ট্র্যাকিং কৌশল একটি ট্রেন্ড ট্র্যাকিং ট্রেডিং কৌশল যা স্টপ লস সেট করে এবং স্ট্যান্ডার্ড ডিফারেনশিয়াল চ্যানেল ব্যবহার করে বাজারে প্রবেশের সময় নির্ধারণ করে। এই কৌশলটি শেয়ার সূচক, ফরেক্স, পণ্য ইত্যাদির জন্য প্রযোজ্য।

কৌশল নীতি

এই কৌশলটি ATR সূচক ব্যবহার করে একটি স্টপ মূল্য সেট করে। ATR সূচকটি বাজারের অস্থিরতার পরিমাণকে প্রতিফলিত করে এবং স্টপ দূরত্বটি গতিশীলভাবে সেট করতে পারে। কৌশলটি ATR মানটি ATR চক্র এবং গুণকগুলি প্রবেশ করে এবং তারপরে গুণকগুলিকে স্টপ দূরত্ব হিসাবে গুণ করে। বিশেষত, এটিআর স্টপ লাইনের গণনা সূত্রটি হ’লঃ

ATR线 = 前一日ATR线 ± nLoss(nLoss = nATRMultip * ATR值)

若收盘价 > ATR线,ATR线上调至收盘价 - nLoss 
若收盘价 < ATR线,ATR线下调至收盘价 + nLoss

এইভাবে, এটিআর লাইনগুলি গতিশীলভাবে মূল্যের ওঠানামা অনুসারে সামঞ্জস্য করতে পারে, যার ফলে ট্রেন্ড ট্র্যাকিং স্টপ লস সম্ভব হয়।

এটিআর স্টপ ছাড়াও, স্ট্যান্ডার্ড ডিফেন্ডার চ্যানেলের সময় নির্ধারণের জন্য কৌশলটি ব্যবহৃত হয়। স্ট্যান্ডার্ড ডিফেন্ডার চ্যানেলের গণনা সূত্রটি হলঃ

中线 = ATR止损线
上轨 = 中线 + n倍标准差
下轨 = 中线 - n倍标准差  

যখন দাম নীচে থেকে নীচে মধ্যরেখা অতিক্রম করে, তখন বেশি করুন; যখন দাম উপরে থেকে নীচে মধ্যরেখা অতিক্রম করে, তখন খালি করুন।

কৌশলগত সুবিধা

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

এছাড়া, স্ট্যান্ডার্ড ডিফারেনশিয়াল কানালের সাহায্যে বাজারে প্রবেশের সময় নির্ধারণের ফলে, দামের সামান্য ওঠানামার কারণে ঘন ঘন পজিশন খোলার বিষয়টি এড়ানো যায়।

ঝুঁকি ও সমাধান

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

আরেকটি ঝুঁকি হল যে, স্ট্যান্ডার্ড ডিভার্টি চ্যানেলের প্যারামিটারগুলি ভুলভাবে সেট করা হয়েছে, যার ফলে পজিশন খোলার ফ্রিকোয়েন্সি খুব বেশি বা খুব কম হতে পারে। প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে সর্বোত্তম প্যারামিটারগুলি খুঁজে পাওয়া যায়।

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

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ

  1. এটিআর চক্র এবং গুণিতক অপ্টিমাইজেশান। এই দুটি প্যারামিটার সামঞ্জস্য করা আরও ভাল স্টপ লস প্রভাব অর্জন করতে পারে।

  2. স্ট্যান্ডার্ড ডিভাইস চ্যানেল প্যারামিটার অপ্টিমাইজেশন. চ্যানেল প্যারামিটার অপ্টিমাইজ করুন, আরও ভাল প্রবেশাধিকার লাভ করুন।

  3. অন্যান্য সূচক ফিল্টার যোগ করুন। আপনি চলমান গড়, K- লাইন আকৃতি এবং অন্যান্য সূচক যোগ করতে পারেন, যা প্রবণতা দিক নির্ণয় করতে সহায়তা করে এবং মুনাফা হার বাড়ায়।

  4. পজিশন খোলার এবং পজিশন লজিক অপ্টিমাইজ করুন। আপনি যখন দামটি স্ট্যান্ডার্ড ডিফারেনশিয়াল চ্যানেলের কাছে পৌঁছেছেন তখন আপনি আবার K-লাইন ফর্ম্যাটটি নিশ্চিত করার পরে পজিশন খুলতে পারেন।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
strategy(title="Average True Range Strategy", overlay = true)
nATRPeriod = input(11) //Hur många perioder ATR är på
nATRMultip = input(0.5) //Hur många gånger nuvarande ATR multipliceras med
xATR = atr(nATRPeriod)
nLoss = nATRMultip * xATR
xATRTrailingStop =  iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss),
                     iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss), 
                      iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))
pos = iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), -1,
	   iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), 1, nz(pos[1], 0))) 

stdev3 = 14*stdev(xATR, nATRPeriod)
band1 = xATRTrailingStop+stdev3 //Översta stdev bandet
band2 = xATRTrailingStop-stdev3 //Nedersta stdev bandet


// Datum och tid
FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2013, title = "From Year", minval = 2013)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2020, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start 
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest slut
startTimeOk()  => true
initial_capital = 100000

take = close > xATRTrailingStop

if( startTimeOk() ) and (pos == 1)
//if (pos == 1) 
    strategy.entry("Long", strategy.long, comment = "KOP")
    strategy.exit("Long", when = take)
   
if( startTimeOk() ) and (pos == -1)
//if (pos == -1)
    strategy.entry("Short", strategy.short, comment = "SALJ")
   
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
plot(xATRTrailingStop, color=red, title="ATR Trailing Stop") //Mittersta linjen som är triggerlinjen för köp/sälj
plot(band1, color=red)
plot(band2, color=blue)