অ্যাডাপ্টিভ ইনভার্স হাইপারবোলিক ট্যানজেন্ট সিসিআই মোমেন্টাম ট্রেডিং কৌশল এবং ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা

IFTCCI CCI WMA 动量交易 阈值突破 再入场机制 止损策略
সৃষ্টির তারিখ: 2025-05-27 11:11:47 অবশেষে সংশোধন করুন: 2025-05-27 11:11:47
অনুলিপি: 0 ক্লিকের সংখ্যা: 310
2
ফোকাস
319
অনুসারী

অ্যাডাপ্টিভ ইনভার্স হাইপারবোলিক ট্যানজেন্ট সিসিআই মোমেন্টাম ট্রেডিং কৌশল এবং ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা অ্যাডাপ্টিভ ইনভার্স হাইপারবোলিক ট্যানজেন্ট সিসিআই মোমেন্টাম ট্রেডিং কৌশল এবং ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটির কেন্দ্রবিন্দু হল IFTCCI সূচক, যা নিম্নলিখিত ধাপে গণনা করা হয়ঃ

  1. প্রথমে স্ট্যান্ডার্ড সিসিআই গণনা করুন এবং প্রাথমিক স্ট্যান্ডার্ডাইজেশনের জন্য এটিকে 4 দ্বারা ভাগ করুন
  2. সংবেদনশীলতা সামঞ্জস্য করার জন্য স্ট্যান্ডার্ডাইজড CCI মান 0.1 দ্বারা গুণিত
  3. ভারসাম্যপূর্ণ মুভিং এভারেজ (ডাব্লুএমএ) প্রয়োগ করুন
  4. অবশেষে, মানটি -1 থেকে + 1 এর মধ্যে মানচিত্রিত করা হয়।

এই সূত্রটি হলঃ

v1 = 0.1 * (CCI(close, period) / 4)
v2 = WMA(v1, wma_period)
IFTCCI = (e^(2*v2) - 1) / (e^(2*v2) + 1)

নীতির কার্যকারিতা নিম্নলিখিত কয়েকটি মূল অংশে বিভক্তঃ

  1. শর্ত কিনুন:

    • প্রধান ক্রয় সংকেতঃ IFTCCI সূচকটি -0.95 এর নিচে থেকে -0.94 এর উপরে উঠলে ট্রিগার করা হয়
    • পুনরায় প্রবেশের ক্রয় সংকেতঃ সূচকটি নিম্নতম থেকে কমপক্ষে ০.১ ইউনিট বেড়ে গেলে এটি ট্রিগার হয়
  2. বিক্রয় শর্তাবলী:

    • টার্গেট বিক্রয়ঃ IFTCCI সূচক 0.95 এর উপরে থেকে 0.94 এর নিচে নেমে গেলে ট্রিগার করা হয়
    • স্টপ লস বিক্রয়ঃ সূচকটি যখন পজিশন ধরে রাখার সময় সর্বোচ্চ পয়েন্ট থেকে কমপক্ষে ০.১ ইউনিট কমে যায় তখন ট্রিগার করা হয়
  3. স্ট্যাটাস ট্র্যাক:

    • স্টপ লস হিসাবের জন্য অবস্থান ধরে রাখার সময় সূচকের সর্বোচ্চ মান রেকর্ড করা
    • পুনরায় প্রবেশের বিচার করার জন্য সর্বনিম্ন মানের সমান্তরাল-পরবর্তী সূচকগুলি ট্র্যাক করুন

পুরো কৌশলটি শতকরা তহবিল পরিচালনা করে, প্রতিটি লেনদেনের জন্য ১০০% উপলব্ধ তহবিল ব্যবহার করে এবং প্যারিসিং নিষিদ্ধ করে। কৌশলটি প্রতিটি কে লাইনের গঠনের সাথে সাথে রিয়েল-টাইমে সংকেত গণনা করে যাতে বাজারের গতিশীলতা সময়মত ধরা যায়।

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

  1. স্পষ্ট প্রবেশ ও প্রস্থান নিয়মএই কৌশলটি সঠিক সংখ্যার উপর ভিত্তি করে স্পষ্ট ট্রেডিং সিগন্যাল সরবরাহ করে, যা ট্রেডিং সিদ্ধান্তকে আরও বস্তুনিষ্ঠ এবং শৃঙ্খলাবদ্ধ করে।

  2. গতিশীল ঝুঁকি ব্যবস্থাপনা ব্যবস্থাবিল্ট-ইন স্টপ লস মেকানিজম কার্যকরভাবে একক লেনদেনের ক্ষতি সীমাবদ্ধ করতে পারে, যখন বাজারটি পূর্বনির্ধারিত মাত্রা অতিক্রম করে তখন স্বয়ংক্রিয়ভাবে বেরিয়ে যায়, তহবিল সুরক্ষিত করে।

  3. বাজারের সাথে সামঞ্জস্যপূর্ণআইএফটিসিসিআই সূচকটি বিপরীত ডাবল কার্ভের ডাবল কার্ভের পরিবর্তনের মাধ্যমে সূচকটির মানকে -1 থেকে +1 এর মধ্যে ওলটপালট করে, এটির প্রাকৃতিক একীকরণের বৈশিষ্ট্য রয়েছে, যা বিভিন্ন অস্থিরতার বাজারের পরিবেশে প্রযোজ্য।

  4. সিগন্যাল মসৃণ করুন, মিথ্যা ভাঙ্গন হ্রাস করুন: ভারযুক্ত মোবাইল গড় ব্যবহার করে মূল সিসিআইকে মসৃণভাবে পরিচালনা করা হয়, কার্যকরভাবে শব্দ এবং মিথ্যা সংকেত হ্রাস করে এবং লেনদেনের সংকেতের নির্ভরযোগ্যতা বাড়ায়।

  5. স্মার্ট রি-এন্ট্রি ব্যবস্থা: যখন বাজার বেরিয়ে যায় এবং তারপরে পুনরায় প্রবণতা ফিরে আসে, পুনরায় প্রবেশের প্রক্রিয়াটি সিস্টেমকে সুযোগগুলি পুনরায় কাজে লাগাতে এবং কৌশলটির লাভজনকতা বাড়ানোর অনুমতি দেয়।

  6. ভাল ভিজ্যুয়ালাইজেশন: কৌশলটি চার্টগুলিতে পরিষ্কার পটভূমির রঙের পরিবর্তনগুলি প্রদর্শন করে, যা ব্যবসায়ীদের বাজারের অবস্থা এবং ট্রেডিং সংকেতগুলি বুঝতে সহায়তা করে।

  7. প্যারামিটার সমন্বয়যোগ্যতা: সমস্ত মূল প্যারামিটারগুলি ইনপুট ইন্টারফেসের মাধ্যমে সামঞ্জস্য করা যায়, যাতে কৌশলগুলি বিভিন্ন বাজার পরিস্থিতি এবং ব্যক্তিগত ঝুঁকি পছন্দগুলির সাথে খাপ খাইয়ে নিতে পারে।

কৌশলগত ঝুঁকি

  1. বাজারে ঘন ঘন লেনদেন: ব্যাপ্তিযুক্ত বাজারে, সূচকগুলি প্রায়শই নিম্নমানের কাছাকাছি ওঠানামা করতে পারে, যার ফলে একাধিক ক্রয়-বিক্রয় সংকেত তৈরি হয়, যার ফলে অত্যধিক লেনদেন এবং ফি ক্ষয় হয়। সমাধান: অতিরিক্ত ফিল্টারিং কন্ডিশন যেমন টাইম ফিল্টারিং বা ট্রেন্ড ফিল্টারিং যুক্ত করা যেতে পারে, যা অস্থির বাজারে ট্রেডিং ফ্রিকোয়েন্সি হ্রাস করতে পারে।

  2. স্টপডাউড স্থিরকরণের সমস্যা: বর্তমান কৌশলটি স্টপ ল্যাম্পেজ হিসাবে একটি স্থির মান ((0.1 ইউনিট) ব্যবহার করে, যা বিভিন্ন অস্থির বাজার পরিবেশে অত্যধিক বা অত্যধিক ছোট হতে পারে। সমাধান: স্বনির্ধারিত স্টপ আউটপুট ডিজাইন করা যেতে পারে, বাজারের সাম্প্রতিক অস্থিরতার গতিশীলতা অনুযায়ী স্টপ আউটপুট সামঞ্জস্য করা যেতে পারে।

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

  4. পুনরায় ভর্তির সময়সীমার ঝুঁকি: বর্তমান পুনরায় প্রবেশের প্রক্রিয়াটি নির্দিষ্ট রিবাউন্ডের উপর ভিত্তি করে এবং বাজারের একটি ভুয়া ব্রেকডাউনের সময় অকাল পুনরায় প্রবেশের সম্ভাবনা রয়েছে। সমাধান: অতিরিক্ত নিশ্চিতকরণ শর্ত যুক্ত করুন, যেমন পরিমাণ নিশ্চিতকরণ বা অন্যান্য প্রযুক্তিগত সূচকগুলির সাথে সঙ্গতিপূর্ণ সংকেত।

  5. একক সূচক নির্ভরতাআইএফটিসিসিআই-এর একক সূচকের উপর ভিত্তি করে সিদ্ধান্ত নেওয়ার কৌশল, মাল্টি-ডাইমেনশনাল বাজার বিশ্লেষণের অভাব। সমাধান: RSI, MACD বা উর্ধ্বগতি সূচকগুলির মতো একটি পরিপূরক সূচক প্যাকেজ প্রবর্তন করুন, যা একাধিক দৃষ্টিকোণ থেকে বাজারকে নিশ্চিত করে।

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

  1. মাল্টি টাইম ফ্রেম বিশ্লেষণ ইন্টিগ্রেশন: বর্তমান কৌশল শুধুমাত্র একটি একক সময় ফ্রেমে কাজ করে এবং একাধিক সময় ফ্রেম বিশ্লেষণকে একত্রিত করতে পারে, যেমন ট্রেডিং দিক ফিল্টার হিসাবে উচ্চতর সময় ফ্রেমের আইএফটিসিসিআই সূচক ব্যবহার করে এবং শুধুমাত্র বৃহত্তর প্রবণতা দিকের সাথে ট্রেড করে। এটি বিপরীতমুখী ট্রেডিং কমাতে এবং বিজয়ী হার বাড়াতে পারে।

  2. গতিশীল থ্রেশহোল্ড সমন্বয়: স্থির থ্রেশহোল্ড (−০.৯৫/০.৯৫) পরিবর্তন করে বাজারের অস্থিরতার উপর ভিত্তি করে পরিবর্তিত থ্রেশহোল্ড ব্যবহার করুন। কম অস্থিরতার পরিবেশে একটি সংকীর্ণ থ্রেশহোল্ড ব্যবহার করুন এবং উচ্চ অস্থিরতার পরিবেশে একটি প্রশস্ত থ্রেশহোল্ড ব্যবহার করুন, বিভিন্ন বাজারের অবস্থার অধীনে সংকেত উত্পাদনের চাহিদার সাথে খাপ খাইয়ে নিতে।

  3. পরিমাণ নিশ্চিতকরণ ব্যবস্থা: ট্র্যাফিক ভলিউম বিশ্লেষণ উপাদান যোগ করা, যা সিগন্যাল তৈরির সময় উল্লেখযোগ্য ট্র্যাফিক ভলিউম সমর্থন প্রয়োজন, নিম্নমানের বিরতি সংকেতগুলি ফিল্টার করতে পারে এবং মিথ্যা বিরতির ক্ষতি হ্রাস করতে পারে।

  4. তহবিল ব্যবস্থাপনা অপ্টিমাইজেশন: বর্তমান কৌশলটি স্থির শতাংশ ব্যবহার করে পজিশন পরিচালনা করে, যা বাজারের অস্থিরতা এবং বিজয়ী হারের উপর ভিত্তি করে একটি স্ব-অনুকূলিত তহবিল পরিচালনার সিস্টেম হিসাবে উন্নত করা যেতে পারে, উচ্চ আত্মবিশ্বাসের সংকেতে পজিশন বাড়ানো এবং নিম্ন আত্মবিশ্বাসের সংকেতে পজিশন হ্রাস করা যায়।

  5. মেশিন লার্নিং: মেশিন লার্নিং অ্যালগরিদম ব্যবহার করে IFTCCI সূচকের প্যারামিটারগুলি (CCI চক্র এবং WMA চক্র) স্ব-অনুকূলিতকরণ অপ্টিমাইজ করুন, বিভিন্ন বাজার পরিস্থিতির উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে সর্বোত্তম প্যারামিটার সমন্বয়কে সামঞ্জস্য করুন, কৌশলটির অভিযোজনযোগ্যতা বাড়ান।

  6. সময় ফিল্টার করুন: ট্রেডিং টাইম ফিল্টার যোগ করুন, বাজার খোলার এবং বন্ধের আগে উচ্চ ওঠানামা সময় বা গুরুত্বপূর্ণ অর্থনৈতিক তথ্য প্রকাশের সময় এড়িয়ে চলুন, যাতে অপ্রত্যাশিত ঘটনাগুলির কারণে অপ্রত্যাশিত ওঠানামা কম হয়।

  7. পারস্পরিক সম্পর্ক বিশ্লেষণ: অন্যান্য বাজার বা সম্পদের সাথে সম্পর্কিত বিশ্লেষণের প্রবর্তন, যখন একাধিক সম্পর্কিত বাজার একই সাথে অনুরূপ সংকেত দেয় তখন ট্রেডিং সিগন্যালের বিশ্বাসযোগ্যতা বাড়ায় এবং কৌশলটির স্থিতিশীলতা বাড়ায়।

সারসংক্ষেপ

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

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

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

কৌশল সোর্স কোড
/*backtest
start: 2024-05-27 00:00:00
end: 2025-01-20 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/

// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © erkankuskonmaz

//@version=5
strategy("IFTCCI Buy Sell Signal Strategy",
         overlay=false,
         pyramiding=0,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=100,
         calc_on_every_tick=true) // NEW LINE: Enables real-time signal generation.

// --- Indicator Settings and Calculations (IFTCCIv2) ---
group_indicator_params = "Indicator Parameters (IFTCCIv2)"
ccilength_param = input.int(5, "CCI Period", group=group_indicator_params)
wmalength_param = input.int(9, title="Smoothing Period (WMA)", group=group_indicator_params)

// IFTCCIv2 Calculation
v1_calc = 0.1 * (ta.cci(close, ccilength_param) / 4)
v2_calc = ta.wma(v1_calc, wmalength_param)
indicator_value_ift = (math.exp(2 * v2_calc) - 1) / (math.exp(2 * v2_calc) + 1)

// --- Strategy Rule Inputs ---
group_entry_rules = "Buy Signal Conditions"
entry_low_prev_max = input.float(-0.95, title="Primary Buy: Previous Bar Max Value", group=group_entry_rules)
entry_low_curr_min = input.float(-0.94, title="Primary Buy: Current Bar Min Value", group=group_entry_rules)
reentry_trigger_units = input.float(0.10, title="Re-entry: Rise from Lowest Value", group=group_entry_rules)

group_exit_rules = "Sell Signal Conditions (Exit Position)"
exit_high_prev_min = input.float(0.95, title="Target Sell: Previous Bar Min Value", group=group_exit_rules)
exit_high_curr_max = input.float(0.94, title="Target Sell: Current Bar Max Value", group=group_exit_rules)
stop_loss_units = input.float(0.10, title="Stop Loss: Drop from Peak Value", group=group_exit_rules)

// --- Indicator Values for Strategy ---
float ind_val = indicator_value_ift
float ind_val_prev = indicator_value_ift[1]

// --- State Tracking Variables ---
var float highest_indicator_since_long_entry = na
var bool track_for_reentry_after_close = false
var float lowest_indicator_since_reentry_tracking_started = na

// --- Update State Logic ---
// 1. Update the highest indicator value since entering long position
if strategy.position_size > 0
    if strategy.position_size[1] <= 0
        highest_indicator_since_long_entry := ind_val
    else
        highest_indicator_since_long_entry := math.max(highest_indicator_since_long_entry, ind_val)
else
    if strategy.position_size[1] > 0
        highest_indicator_since_long_entry := na

// 2. Update re-entry tracking mechanism
if strategy.position_size[1] > 0 and strategy.position_size == 0
    track_for_reentry_after_close := true
    lowest_indicator_since_reentry_tracking_started := ind_val
else if strategy.position_size > 0
    track_for_reentry_after_close := false
    lowest_indicator_since_reentry_tracking_started := na
else if track_for_reentry_after_close and strategy.position_size == 0
    if not na(lowest_indicator_since_reentry_tracking_started)
        lowest_indicator_since_reentry_tracking_started := math.min(lowest_indicator_since_reentry_tracking_started, ind_val)
    else
        lowest_indicator_since_reentry_tracking_started := ind_val

// --- Buy Conditions (Long Entry) ---
bool can_enter_new_position = strategy.opentrades == 0

// Condition 1: Main Buy Condition
bool condition_main_buy_cross = ind_val_prev <= entry_low_prev_max and ind_val >= entry_low_curr_min
bool main_long_entry_trigger = condition_main_buy_cross and can_enter_new_position

// Condition 2: Re-entry Buy Condition
bool condition_re_entry_trigger = false
if track_for_reentry_after_close and not na(lowest_indicator_since_reentry_tracking_started) and can_enter_new_position
    if ind_val >= lowest_indicator_since_reentry_tracking_started + reentry_trigger_units
        condition_re_entry_trigger := true

// Combined Buy Condition
bool final_long_entry_condition = main_long_entry_trigger or condition_re_entry_trigger

// --- Sell Conditions (Long Exit) ---
bool currently_in_long_position = strategy.position_size > 0

// Sell Condition 1: Target Sell
bool condition_sell_target = ind_val_prev >= exit_high_prev_min and ind_val <= exit_high_curr_max

// Sell Condition 2: Stop Loss
bool condition_sell_stop_loss = false
if currently_in_long_position and not na(highest_indicator_since_long_entry)
    if ind_val <= highest_indicator_since_long_entry - stop_loss_units
        condition_sell_stop_loss := true

// Combined Sell Condition
bool final_long_exit_condition = currently_in_long_position and (condition_sell_target or condition_sell_stop_loss)

// --- Strategy Orders ---
if (final_long_entry_condition)
    entry_comment = main_long_entry_trigger ? "Buy (Primary)" : "Buy (Re-entry)"
    strategy.entry("Buy ID", strategy.long, comment=entry_comment)

if (final_long_exit_condition)
    exit_comment = condition_sell_target ? "Sell (Target)" : "Sell (Stop)"
    strategy.close("Buy ID", comment=exit_comment)

// --- Plot Indicator and Strategy Markers ---
plot(indicator_value_ift, title="IFTCCI Value", color=color.rgb(0, 0, 0), linewidth=2)
hline(0, "Mid Level", color=color.new(#787b86, 50), linestyle=hline.style_dotted)
hline(0.95, "Upper Reference (+0.95)", color=color.new(#002fff, 10), linestyle=hline.style_dashed)
hline(-0.95, "Lower Reference (-0.95)", color=color.new(#002fff, 10), linestyle=hline.style_dashed)

// Background Coloring on Entry and Exit Signals
color background_color = final_long_entry_condition ? color.new(color.green, 81) : final_long_exit_condition ? color.new(color.red, 81) : na
bgcolor(background_color, title="Signal Background")