এই কৌশলটি VIDYA (ভেরিয়েবল ইনডেক্স ডায়নামিক এভারেজ) সূচকের উপর ভিত্তি করে একটি ট্রেডিং সিস্টেমের প্রবণতা অনুসরণ করে। এই কৌশলটি গতিশীলভাবে ওজন সামঞ্জস্য করে বাজারের অস্থিরতার সাথে খাপ খাইয়ে নেয়, আরও সঠিক প্রবণতা সনাক্তকরণ এবং ট্রেডিং সিগন্যাল উত্পাদন অর্জনের জন্য চ্যান্ডে'র মোমেন্টাম অ্যাসিললেটর (সিএমও) এবং স্ট্যান্ডার্ড ডিভিয়েশন (স্ট্যাণ্ডার্ড ডিভিয়েশন) গণনার পদ্ধতিগুলি একত্রিত করে। সিস্টেমটি ঐতিহ্যবাহী চলমান গড়ের উপরে একটি অভিযোজিত প্রক্রিয়া প্রবর্তন করে, বাজারের অবস্থার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে সংবেদনশীলতা সামঞ্জস্য করে।
এই কৌশলটির কেন্দ্রবিন্দু হচ্ছে ভিডিয়ায়া সূচক। এর হিসাব প্রক্রিয়ার মধ্যে নিম্নলিখিত গুরুত্বপূর্ণ ধাপগুলি অন্তর্ভুক্ত রয়েছেঃ
কৌশলটি ব্যবহারকারীদের উদ্বায়ীতা সহগ গণনার জন্য সিএমও বা স্ট্যান্ডার্ড বিচ্যুতির মধ্যে বেছে নিতে দেয়, নমনীয়তা বৃদ্ধি করে। সিএমও মোড একটি স্থির 9-অবধি চক্র ব্যবহার করে, যখন স্টডিভ মোড বেস সময়ের সাথে ধারাবাহিকতা বজায় রাখে।
ভিআইডিওয়াইএ কৌশলটি উদ্ভাবনী অভিযোজিত ওজন প্রক্রিয়াগুলির মাধ্যমে সমাধান অনুসরণ করে তুলনামূলকভাবে নির্ভরযোগ্য প্রবণতা সরবরাহ করে। সরলতা এবং ব্যবহারের সহজতা বজায় রেখে কৌশলটি গতিশীল সামঞ্জস্যের মাধ্যমে বাজারের পরিবর্তনের সাথে অভিযোজনযোগ্যতা উন্নত করে। যদিও কিছু অন্তর্নিহিত সীমাবদ্ধতা রয়েছে, তবে সরবরাহিত অপ্টিমাইজেশান দিকগুলি কৌশল স্থিতিশীলতা এবং নির্ভরযোগ্যতা আরও বাড়িয়ে তুলতে পারে। দ্বৈত গণনার পদ্ধতিগুলি বিভিন্ন বাজারের পরিবেশে প্রয়োগের জন্য আরও নমনীয়তা সরবরাহ করে।
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-04 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © GriffinJames //@version=5 strategy("VIDYA Strategy", overlay=true, initial_capital=25000) // Inputs src = input(close, title="Source") pds = input.int(21, title="Length") fixCMO = input.bool(true, title="Fixed CMO Length (9)?") select = input.bool(true, title="Calculation Method: CMO/StDev?") alpha = 2 / (pds + 1) momm = ta.change(src) // Functions to calculate MOM f1(m) => m >= 0.0 ? m : 0.0 f2(m) => m >= 0.0 ? 0.0 : -m m1 = f1(momm) m2 = f2(momm) sm1 = fixCMO ? math.sum(m1, 9) : math.sum(m1, pds) sm2 = fixCMO ? math.sum(m2, 9) : math.sum(m2, pds) percent(nom, div) => 100 * nom / div chandeMO = na(percent(sm1 - sm2, sm1 + sm2)) ? 0 : percent(sm1 - sm2, sm1 + sm2) // Select calculation method k = select ? math.abs(chandeMO) / 100 : ta.stdev(src, pds) // Calculate VIDYA var float VIDYA = na VIDYA := na(VIDYA[1]) ? src : alpha * k * src + (1 - alpha * k) * VIDYA[1] // Conditions for long and short col12 = VIDYA > VIDYA[1] col32 = VIDYA < VIDYA[1] // Plot VIDYA with dynamic colors color2 = col12 ? color.new(color.blue, 0) : col32 ? color.new(color.maroon, 0) : color.new(color.blue, 0) plot(VIDYA, "VAR", color=color2, linewidth=2) // Long and Short Strategy if (col12) strategy.entry("Go Long", strategy.long) if (col32) strategy.entry("Go Short", strategy.short) // Alert for VIDYA color change alertcondition(ta.cross(VIDYA, VIDYA[1]), title="Color ALARM!", message="VIDYA has changed color!")