কাফম্যানের অভিযোজিত চলমান গড় প্রবণতা ট্র্যাকিং কৌশল

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

img

সারসংক্ষেপ

এই কৌশলটি মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতা ধরার জন্য প্রবণতা দিক নির্ধারণের জন্য কাফম্যানের অভিযোজিত চলমান গড় (কামা) ব্যবহার করে। এটি যখন কামা লাইন উপরে চলে যায় তখন দীর্ঘ হয় এবং যখন কামা লাইন নীচে চলে যায় তখন শর্ট হয়। কৌশলটি ট্রেডিং সংকেতগুলির গুণমান উন্নত করতে চলমান গড়ের প্রবণতা ট্র্যাকিং ক্ষমতা এবং কামার গতিশীল সমন্বয় বৈশিষ্ট্যকে একত্রিত করে।

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

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

কৌশলটি প্রথমে KAMA এর মান গণনা করে। তারপর এটি KAMA লাইনের দীর্ঘ / সংক্ষিপ্ত অবস্থা নির্ধারণ করেঃ যখন বন্ধ মূল্য KAMA লাইনের উপরে অতিক্রম করে তখন একটি ক্রয় সংকেত উত্পন্ন হয় এবং বন্ধ মূল্য KAMA লাইনের নীচে অতিক্রম করে তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। এই ট্রেডিং সংকেতগুলির উপর ভিত্তি করে অবস্থানগুলি খোলা হয়।

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

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

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

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

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

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

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

এই কৌশলটি মূলত নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করার জন্য এখনও অনেক জায়গা রয়েছেঃ

  1. সিগন্যালের গুণমান উন্নত করতে সিগন্যাল ফিল্টারিংয়ের জন্য অন্যান্য সূচক, যেমন এমএসিডি, দোলক ইত্যাদি একত্রিত করুন।

  2. একক বাণিজ্য হ্রাস নিয়ন্ত্রণ করতে স্টপ লস কৌশল যেমন স্টপ লস বা ইক্যুইটি কার্ভ ভিত্তিক স্টপ যুক্ত করুন।

  3. প্রবণতা ধরাতে কামাকে আরও কার্যকর করার জন্য পরামিতিগুলি অনুকূলিত করুন।

  4. উচ্চতর সময়সীমা ব্যবহার করে প্রধান প্রবণতা দিক নির্ধারণের জন্য মাল্টি-টাইমফ্রেম বিশ্লেষণ যুক্ত করুন।

  5. যন্ত্রপাতিগুলির মধ্যে অভিযোজন করার জন্য স্বয়ংক্রিয়ভাবে প্যারামিটারগুলি অনুকূল করতে মেশিন লার্নিং পদ্ধতি ব্যবহার করুন।

সিদ্ধান্ত

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


/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=3
strategy(title = "Noro's KAMA Strategy", shorttitle="KAMA str", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
length = input(3, minval = 1) 
fast = input(2, minval = 1)
slow = input(30, minval = 1)
src = input(title = "Source",  defval = close)
type = input(defval = "Trend", options = ["Trend", "Crossing"], title = "Type")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//KAMA
volatility = sum(abs(src-src[1]), length)
change = abs(src[1]-src[length])
er = iff(volatility != 0, change/volatility, 0)
fastSC = 2/(fast+1)
slowSC = 2/(slow+1)
sc = pow((er*(fastSC-slowSC))+slowSC, 2)
bid = hl2
kama = 0.0
kama := nz(kama[1])+(sc*(bid-nz(kama[1])))
plot(kama, color = black, title = "KAMA", trackprice = false, style = line, linewidth = 3)

//Signals
up = false
dn = false
up := (type == "Crossing" and kama > kama[1]) or (type == "Trend" and close > kama)
dn := (type == "Crossing" and kama < kama[1]) or (type == "Trend" and close < kama)

//Trading
size = strategy.position_size
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if up
    strategy.entry("L", strategy.long, needlong ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if dn
    strategy.entry("S", strategy.short, needshort ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

আরো