কালমান ফিল্টার ভিত্তিক ট্রেন্ড ট্র্যাকিং কৌশল

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

img

সারসংক্ষেপ

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

কৌশল নীতি

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

  1. মূল চলমান গড় হিসাবে 1 মিনিটের মূল্যের সহজ চলমান গড় (এসএমএ) গণনা করুন;

  2. Kalman মূল চলমান গড় ফিল্টার করে একটি মসৃণ চলমান গড় আউটপুট;

  3. সমতল চলমান গড়ের স্পর্শকাতর কোণ গণনা করা।

  4. প্যারামিটার পিরিয়ড সংজ্ঞায়িত করুন এবং পরিসংখ্যানগতভাবে পিরিয়ডের মধ্যে ট্যাঞ্জেন্ট কোণগুলি যোগ করুন;

  5. সময়সীমার মধ্যে স্পর্শকাতর কোণের যোগফল ৩৬০ ডিগ্রির বেশি হলে ক্রয় সংকেত তৈরি করা; ৩৬০ ডিগ্রির কম হলে বিক্রয় সংকেত তৈরি করা।

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

তাদের মধ্যে, কালমান ফিল্টারটি মূল। কালমান ফিল্টার একটি পুনরাবৃত্তিমূলক অ্যালগরিদম যা বর্তমান অবস্থা পূর্বাভাস দেওয়ার সময় প্রক্রিয়া গোলমাল এবং পরিমাপ গোলমালের মান পূর্বাভাস দেয় এবং আরও সঠিক এবং নির্ভরযোগ্য অবস্থা অনুমান পেতে বর্তমান অবস্থার পূর্বাভাস সংশোধন করতে এই গোলমাল মানগুলি ব্যবহার করে।

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

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

  1. মিথ্যা সংকেত হ্রাস করুন। কালমান ফিল্টারিং কার্যকরভাবে অভিযোজিতভাবে অনুমান করে এবং গোলমাল দূর করে এলোমেলো ওঠানামা দ্বারা সৃষ্ট অনেকগুলি মিথ্যা সংকেত ফিল্টার করে, তৈরি ট্রেডিং সংকেতগুলিকে আরও নির্ভরযোগ্য করে তোলে।

  2. আরও ভাল ট্র্যাকিং এফেক্টঃ মসৃণ গতিশীল গড়ের আকৃতি আরও মসৃণ এবং দামের মাঝারি ও দীর্ঘমেয়াদী প্রবণতা আরও ভালভাবে প্রতিফলিত করে, এইভাবে আরও ভাল প্রবণতা ট্র্যাকিং এফেক্ট অর্জন করে।

  3. নমনীয় সামঞ্জস্যযোগ্য পরামিতি। সামঞ্জস্যযোগ্য পরামিতিগুলির মধ্যে চলমান গড়ের দৈর্ঘ্য, কালমান ফিল্টার এবং পরিসংখ্যান চক্রের পরামিতি অন্তর্ভুক্ত রয়েছে, যা বিভিন্ন বাজারের পরিবেশে নমনীয়ভাবে অভিযোজিত হতে পারে।

  4. নিয়ন্ত্রণযোগ্য ঝুঁকিঃ এই কৌশলটি স্বল্পমেয়াদী ও দীর্ঘমেয়াদী প্রবণতার পরিবর্তে মাঝারি ও দীর্ঘমেয়াদী প্রবণতার উপর বেশি মনোনিবেশ করে, যা ঝুঁকি-ফেরতের ভাল ভারসাম্য অর্জন করে।

  5. বাস্তবায়ন এবং সম্প্রসারণ সহজ। এই কৌশলটির মূল অ্যালগরিদমটি বেশ সংক্ষিপ্ত এবং বাস্তবায়ন এবং পরীক্ষার জন্য সহজ। এটি স্বয়ংক্রিয়ভাবে পরামিতিগুলি অনুকূল করতে মেশিন লার্নিং অ্যালগরিদম প্রবর্তনের মতো সম্প্রসারণের জন্যও জায়গা সরবরাহ করে।

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

এই কৌশলটির প্রধান ঝুঁকিগুলির মধ্যে রয়েছেঃ

  1. প্রবণতা বিপরীত ঝুঁকি। এই কৌশল প্রবণতা ট্র্যাকিং উপর দৃষ্টি নিবদ্ধ করে। একটি ধারালো প্রবণতা বিপরীত ক্ষেত্রে, এটি বৃহত্তর ক্ষতি হতে হবে। প্রতি বাণিজ্য ক্ষতি কমাতে যথাযথভাবে পরিসংখ্যান চক্র সংক্ষিপ্ত দ্বারা এটি প্রশমিত করা যেতে পারে।

  2. প্যারামিটার অপ্টিমাইজেশান ঝুঁকি। অনুপযুক্ত প্যারামিটার সেটিংস ঘন ঘন ট্রেডিং বা সংকেত বিলম্ব হতে পারে। এটি পর্যাপ্ত পরীক্ষা এবং অপ্টিমাইজেশান প্রয়োজন। এটি স্বয়ংক্রিয় অপ্টিমাইজেশান জন্য মেশিন লার্নিং অ্যালগরিদম সঙ্গে একত্রিত করা যেতে পারে।

  3. জটিলতার ঝুঁকি বৃদ্ধি। কালমান ফিল্টার এবং ট্যাঞ্জেন্ট কোণ অ্যালগরিদম প্রবর্তন কোড জটিলতা বৃদ্ধি করে। সঠিক বাস্তবায়ন নিশ্চিত করা প্রয়োজন।

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

উপরোক্ত ঝুঁকিগুলি বিবেচনা করে, এই কৌশলটির অপ্টিমাইজেশান দিকগুলির মধ্যে রয়েছেঃ

  1. স্টপ লস এবং পজিশন সাইজিং প্রবর্তন করুন। উপযুক্ত স্টপ লস একক বাণিজ্য ক্ষতির ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করতে পারে; গতিশীল অবস্থান সাইজিং বাজারের অবস্থার অনুযায়ী ঝুঁকি hedge পজিশন সামঞ্জস্য করতে পারেন।

  2. স্বয়ংক্রিয় প্যারামিটার অপ্টিমাইজেশন। অতিরিক্ত অপ্টিমাইজেশান ঝুঁকি এড়াতে মেশিন লার্নিং অপ্টিমাইজেশন অ্যালগরিদম স্বয়ংক্রিয় প্যারামিটার অপ্টিমাইজেশন অর্জন করতে পারে।

  3. অন্যান্য সূচককে একত্রিত করা। কৌশল স্থিতিশীলতা বাড়ানোর জন্য সূচক সমন্বয় গঠনের জন্য কৌশলটিতে কিছু অন্যান্য সূচককে একত্রিত করা যেতে পারে।

  4. কার্যকারিতা মূল্যায়ন বাড়ানো। আরও ব্যাপক এবং সঠিক সিদ্ধান্তের জন্য কৌশলগুলির কার্যকারিতা এবং স্থিতিশীলতা মূল্যায়নের জন্য আরও ঝুঁকি-সমন্বিত পরিমাপক প্রবর্তন করা।

  5. আরও পণ্যগুলিতে প্রসারিত করুন। যদি কার্যকর হয় তবে এটি আরও পণ্যগুলিতে প্রসারিত করার বিষয়ে বিবেচনা করা যেতে পারে। মাঝারি এবং দীর্ঘমেয়াদে, এটি সমৃদ্ধ নমুনা সংগ্রহ করে এবং ক্রস-পণ্য পরামিতি অপ্টিমাইজেশানকে সহজ করে তোলে।

সিদ্ধান্ত

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


/*backtest
start: 2024-01-17 00:00:00
end: 2024-01-24 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//@library=math
strategy("策略360°(测试)", overlay=true)

// 定义1分钟均线
ma1 = request.security(syminfo.tickerid, "1", ta.sma(close, 1)) // 在这里使用了 math.sma() 函数
//plot(ma1, color=color.yellow, title="原始均线")

// 定义卡尔曼滤波函数,参考了[1](https://www.tradingview.com/pine-script-docs/en/v5/language/Methods.html)和[2](https://www.tradingview.com/pine-script-docs/en/v5/language/Operators.html)的代码
kalman(x, g) => 
    kf = 0.0 
    dk = x - nz(kf[1], x) // 在这里使用了 nz() 函数
    smooth = nz(kf[1], x) + dk * math.sqrt(g * 2) // 在这里使用了 math.sqrt() 函数
    velo = 0.0 
    velo := nz(velo[1], 0) + g * dk // 在这里使用了 nz() 函数
    kf := smooth + velo 
    kf 

// 定义卡尔曼滤波后的均线
ma2 = kalman(ma1, 0.01) 
plot(ma2, color=color.blue, title="卡尔曼滤波后的均线")

// 定义切线角
angle = math.todegrees(math.atan(ma2 - ma2[1])) // 在这里使用了 math.degrees() 和 math.atan() 函数

// 定义累加的切线角
cum_angle = 0.0
cum_angle := nz(cum_angle[1], 0) + angle // 在这里使用了 nz() 函数

// 定义30分钟周期
period = 30 // 您可以根据您的需要修改这个参数

// 定义周期内的切线角总和
sum_angle = 0.0
sum_angle := math.sum(angle, period) // 在这里使用了 math.sum() 函数,把周期内的切线角总和改成简单地把 5 个切线角相加

// 定义买入和卖出条件
buy = sum_angle > 360// 在这里使用了 math.radians() 函数
sell = sum_angle < -360

// 执行买入和卖出操作
strategy.entry("Long", strategy.long, when=buy)
strategy.close("Short", when=buy)
strategy.entry("Short", strategy.short, when=sell)
strategy.close("Long", when=sell)

// 绘制曲线图
plot(sum_angle, color=color.green, title="周期内的切线角总和")
plot(angle, color=color.red, title="切线角") // 这是我为您添加的代码,用于显示实时计算的切线角


আরো