
এই কৌশলটি অ্যান্ড্রু আব্রাহামের একটি প্রবন্ধের উপর ভিত্তি করে তৈরি করা হয়েছে যা 1998 সালের সেপ্টেম্বরে ট্রেডিং টেকনোলজি বিশ্লেষক ট্রেডিং ম্যাগাজিনে প্রকাশিত হয়েছিল। এটি গতিশীলভাবে শেয়ারের দামের প্রবণতা অনুসরণ করার জন্য ডিজাইন করা হয়েছিল এবং এর ভিত্তিতে ট্রেডিং সংকেত তৈরি করা হয়েছিল।
এই কৌশলটি প্রথমে সাম্প্রতিক 21 দিনের গড় প্রকৃত ওলট-পালট পরিসীমাকে রেফারেন্স থ্রেশহোল্ড হিসাবে গণনা করে, তারপরে সাম্প্রতিক 21 দিনের সর্বোচ্চ এবং সর্বনিম্ন মূল্য গণনা করে এবং এর ভিত্তিতে একটি চ্যানেলের উপরের নীচের সীমা নির্ধারণ করে, চ্যানেলের উপরের সীমাটি সাম্প্রতিক 21 দিনের সর্বোচ্চ মূল্য হ্রাস করে গড় প্রকৃত ওলট-পালট পরিসীমা থেকে 3 গুণ, এবং নিম্ন সীমাটি সাম্প্রতিক 21 দিনের সর্বনিম্ন মূল্যের সাথে গড় প্রকৃত ওলট-পালট পরিসীমা থেকে 3 গুণ যোগ করে। যখন গ্রহণের ডিস্কটি চ্যানেলের উপরের সীমাটির উপরে থাকে, তখন চাপের সংকেত হিসাবে পোল করা হয়; যখন গ্রহণের ডিস্কটি চ্যানেলের নীচের সীমাটির নীচে থাকে, তখন শোষণের সংকেত হিসাবে।
এই কৌশলটির সবচেয়ে বড় সুবিধা হ’ল দামের প্রবণতাকে গতিশীলভাবে অনুসরণ করা যায়, যার ভিত্তিতে ট্রেডিং সংকেত উত্পন্ন হয়। স্থির প্যারামিটারগুলির সাথে চলমান গড় কৌশলগুলির তুলনায়, এটি মূল্য পরিবর্তনের প্রবণতাকে আরও ভালভাবে ক্যাপচার করতে পারে। তদুপরি, সত্যিকারের ওঠানামা পরিসরের সাথে সংযুক্ত করে একটি চ্যানেল তৈরি করা হয়, কেবলমাত্র সর্বোচ্চ মূল্যের ন্যূনতম মূল্যের ভিত্তিতে চ্যানেল সীমাবদ্ধতার ত্রুটিগুলি এড়ানো যায়। চ্যানেলের উপরের এবং নীচের সীমাবদ্ধতার ওঠানামা খুব যুক্তিসঙ্গত, এবং কিছু পরিমাণে ভুয়া বিরতি এড়ানো যায়। স্বনির্ধারিত বিপরীত প্যারামিটারগুলিও কৌশলটির নমনীয়তা বাড়ায়।
এই কৌশলটি মূলত দুটি দিকের ঝুঁকি নিয়ে গঠিতঃ প্রথমত, ট্রেডিং সিগন্যালের সংখ্যা বাড়ানোর সাথে সাথে অতিরিক্ত ট্রেডিংয়ের ঝুঁকি; দ্বিতীয়ত, প্যারামিটার সেট করার সময় ভুল হওয়ার ঝুঁকি। এই কৌশলটি গতিশীল প্যারামিটারগুলি গ্রহণ করার কারণে, ট্রেডিং সিগন্যালগুলি প্রচলিত মুভিং এভারেজ কৌশলগুলির তুলনায় আরও বেশি ঘন ঘন হয়, যা কিছু পরিমাণে অতিরিক্ত ট্রেডিংয়ের ঝুঁকি নিয়ে আসতে পারে। এছাড়াও, যদি প্যারামিটারগুলি ভুলভাবে সেট করা হয়, যেমন সময়কাল খুব সংক্ষিপ্ত বা চ্যানেল সীমাবদ্ধতার সংখ্যা খুব ছোট, তবে ভুয়া সংকেত বাড়িয়ে ঝুঁকি বাড়ায়।
ঝুঁকি নিয়ন্ত্রণের জন্য, প্যারামিটারগুলি যথাযথভাবে সামঞ্জস্য করা যেতে পারে, দীর্ঘ সময়ের সময়কাল বেছে নেওয়া যেতে পারে এবং চ্যানেলের উপরের এবং নীচের সীমাবদ্ধতা যথাযথভাবে শিথিল করা যেতে পারে। অতিরিক্তভাবে, একক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস কৌশল যুক্ত করার বিষয়টি বিবেচনা করা যেতে পারে।
এই কৌশলটির অপ্টিমাইজেশনের জন্য আরও অনেক জায়গা রয়েছে। উদাহরণস্বরূপ, মিথ্যা ব্রেকডাউন এড়াতে আরএসআই, কেডি ইত্যাদির মতো অন্যান্য ফিল্টারিং সূচকগুলির সাথে একত্রিত করার বিষয়টি বিবেচনা করা যেতে পারে। মেশিন লার্নিং পদ্ধতির মাধ্যমে প্যারামিটারগুলি স্বয়ংক্রিয়ভাবে অপ্টিমাইজ করার চেষ্টা করা যেতে পারে। এছাড়াও, বিভিন্ন স্টক এবং বাজারের পরিবেশে প্যারামিটারগুলির সর্বোত্তম মানগুলিও পরিবর্তিত হতে পারে। সুতরাং আমরা একটি প্যারামিটার অপ্টিমাইজেশন প্রক্রিয়া তৈরি করার বিষয়টিও বিবেচনা করতে পারি, যাতে স্টক এবং বাজারের বৈশিষ্ট্যগুলির গতিশীলতার উপর ভিত্তি করে সর্বোত্তম প্যারামিটারগুলি বেছে নেওয়া যায়, যার ফলে কৌশল স্থিতিশীলতা বাড়ায়।
এই কৌশলটি সামগ্রিকভাবে একটি খুব ব্যবহারিক প্রবণতা ট্র্যাকিং কৌশল। প্রচলিত মুভিং এভারেজ কৌশলগুলির তুলনায় এটি আরও নমনীয় এবং বুদ্ধিমান, দামের পরিবর্তনের প্রবণতাকে গতিশীলভাবে ক্যাপচার করতে সক্ষম। যখন প্যারামিটারগুলি যথাযথভাবে সামঞ্জস্য করা হয়, তখন এর ট্রেডিং সিগন্যালের গুণমান বেশি থাকে এবং ভাল রিটার্ন পাওয়া যায়। পরবর্তীকালে আরও অপ্টিমাইজেশনের মাধ্যমে এই কৌশলটির কার্যকারিতা স্থায়ীভাবে উন্নত হওয়ার আশা করা যায়। এটি রিয়েল-স্টোর পরীক্ষার এবং প্রয়োগের জন্য উপযুক্ত।
/*backtest
start: 2023-02-15 00:00:00
end: 2024-02-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 10/10/2018
// This is plots the indicator developed by Andrew Abraham
// in the Trading the Trend article of TASC September 1998
// It was modified, result values wass averages.
////////////////////////////////////////////////////////////
strategy(title="Trend Trader AVR Backtest", overlay = true)
Length = input(21, minval=1),
LengthMA = input(21, minval=1),
Multiplier = input(3, minval=1)
reverse = input(false, title="Trade reverse")
avgTR = wma(atr(1), Length)
highestC = highest(Length)
lowestC = lowest(Length)
hiLimit = highestC[1]-(avgTR[1] * Multiplier)
loLimit = lowestC[1]+(avgTR[1] * Multiplier)
ret = 0.0
ret := iff(close > hiLimit and close > loLimit, hiLimit,
iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0)))
nResMA = ema(ret, LengthMA)
pos = 0
pos := iff(close < nResMA, -1,
iff(close > nResMA, 1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nResMA, color= blue , title="Trend Trader AVR")