অস্থিরতা পার্থক্য স্ট্যান্ডার্ড বিচ্যুতি চলমান গড় ক্রসওভার পরিমাণগত কৌশল

VoVix ATR DEVMA MA SMA stdev EXPANSION CONTRACTION Trailing Stop
সৃষ্টির তারিখ: 2025-07-11 09:39:14 অবশেষে সংশোধন করুন: 2025-08-25 13:05:54
অনুলিপি: 0 ক্লিকের সংখ্যা: 311
2
ফোকাস
319
অনুসারী

অস্থিরতা পার্থক্য স্ট্যান্ডার্ড বিচ্যুতি চলমান গড় ক্রসওভার পরিমাণগত কৌশল অস্থিরতা পার্থক্য স্ট্যান্ডার্ড বিচ্যুতি চলমান গড় ক্রসওভার পরিমাণগত কৌশল

কৌশল ওভারভিউ

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

কৌশলটির কেন্দ্রবিন্দু হল VoVix সূচক, এটি একটি স্ট্যান্ডার্ডাইজড সূচক যা ATR (আসল অস্থিরতার গড়) এর উপর ভিত্তি করে অস্থিরতার হারকে ত্বরান্বিত বা হ্রাস করতে সক্ষম। সিস্টেমটি দুটি DEVMA (অস্থিরতার হার বিচ্যুতি গড় লাইন) এর মধ্যে সম্পর্ক বিশ্লেষণ করে বাজারের অবস্থা নির্ধারণ করে এবং যখন এই সমান্তরালগুলি ক্রস হয় তখন একটি ট্রেডিং সংকেত উত্পন্ন করে। এই পদ্ধতিটি ব্যবসায়ীদের কেবলমাত্র মূল্যের গতিশীলতা অনুসরণ না করে বাজারের অবস্থার পরিবর্তনগুলি পূর্বাভাস দিতে সক্ষম করে।

কৌশল নীতি

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

  1. VoVix স্কোর গণনাএই কৌশলটি প্রথমে VoVix স্কোরের উপর ভিত্তি করে তৈরি করা হয়, যা হল একটি স্ট্যান্ডার্ডাইজড পরিমাপ যা উর্ধ্বমুখী প্রবণতার উপর ভিত্তি করে তৈরি হয়।

    • গাণিতিক সূত্রঃ VoVix স্কোর = (ATR ((দ্রুত) - ATR ((ধীর)) / (StDev ((ATR ((দ্রুত)) + ε)
    • যখন দ্রুত ATR ধীর ATR এর চেয়ে উল্লেখযোগ্যভাবে বেশি থাকে, তখন এটি নির্দেশ করে যে দ্রুত অস্থিরতা বৃদ্ধি পেয়েছে এবং বাজারটি “বিস্তারিত” হচ্ছে।
    • যখন দ্রুত ATR ধীর ATR এর চেয়ে কম থাকে, তখন এটি নির্দেশ করে যে বাজারের “সংকোচন” হচ্ছে।
  2. ডিভার্জ্যান্ট বিশ্লেষণ (ডিইভি): কৌশলটি VoVix স্কোরের স্ট্যান্ডার্ড ডিভার্জেন্সকে পরিমাপ করে, যা বাজারের অস্থিরতার গতিশীলতার বিশৃঙ্খলা বা স্থিতিশীলতা পরিমাপ করে।

    • গাণিতিক সূত্রঃ DEV = StDev ((VoVix স্কোর, পুনরাবৃত্তিমূলক)
    • উচ্চ ডিইভি মানের অর্থ হল অস্থির এবং অনির্দেশ্য তরঙ্গের গতি।
    • নিম্ন ডিইভি মান নির্দেশ করে যে প্রবণতা পরিবর্তন স্থিতিশীল এবং দিকনির্দেশিত।
  3. DEVMA ক্রস: এটি হল প্রধান সংকেত জেনারেটর। কৌশলটি DEV মানের দুটি চলমান গড় গণনা করে এবং যখন এই দুটি লাইন অতিক্রম করে তখন লেনদেনের সংকেত তৈরি করে।

    • গাণিতিক সূত্রঃ fastDEVMA = SMA ((DEV, দ্রুত চক্র), slowDEVMA = SMA ((DEV, ধীর চক্র)
    • (fastDEVMA > slowDEVMA): এটি নির্দেশ করে যে স্বল্পমেয়াদী ওঠানামার পরিমাণ দীর্ঘমেয়াদী ওঠানামার তুলনায় বাড়ছে, যা সাধারণত বাজারকে উল্লেখযোগ্যভাবে প্রসারিত করার ইঙ্গিত দেয়।
    • বিউড ক্রস ((fastDEVMA < slowDEVMA): ইঙ্গিত দেয় যে স্বল্প-মেয়াদী ওঠানামা বিশৃঙ্খলা হ্রাস পাচ্ছে এবং বাজার স্থিতিশীল বা সংকুচিত হচ্ছে।
  4. বাস্তবায়ন ব্যবস্থাসিস্টেমটিতে স্মার্ট স্টপ, স্টপ-অফ এবং ট্র্যাক স্টপ মেশিন রয়েছে, যা সমস্ত ATR মানের গতিশীল সমন্বয়ের উপর ভিত্তি করে তৈরি করা হয়েছে, যা বর্তমান বাজারের ওঠানামার সাথে সামঞ্জস্যপূর্ণ।

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

কোডটি গভীরভাবে বিশ্লেষণ করার পরে, নিম্নলিখিত কৌশলগত সুবিধাগুলি সংক্ষিপ্ত করা যেতে পারেঃ

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

  2. নমনীয়তাএটিআর-ভিত্তিক প্রারম্ভিক পয়েন্ট ব্যবহার করে, কৌশলটি স্বয়ংক্রিয়ভাবে বিভিন্ন বাজার পরিবেশের অস্থিরতার সাথে মানিয়ে নিতে পারে, প্যারামিটারগুলি ম্যানুয়ালি সামঞ্জস্য করার প্রয়োজন নেই।

  3. বাজার অবস্থা সনাক্তকরণ: কৌশলটি প্রসারিত এবং সঙ্কুচিত বাজার অবস্থার মধ্যে একটি স্পষ্ট পার্থক্য করতে সক্ষম, যা ব্যবসায়ীদের বর্তমান বাজার পরিস্থিতি অনুযায়ী তাদের ট্রেডিং কৌশলগুলিকে সামঞ্জস্য করতে সক্ষম করে।

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

  5. ভিজ্যুয়াল ফিডব্যাক: কৌশলটি একটি স্বজ্ঞাত ভিজ্যুয়াল ইন্টারফেস সরবরাহ করে, যার মধ্যে রয়েছে প্রবাহ লাইন, পথ বাক্স এবং কার্যকরী অনুভূমিক লাইন, যা ব্যবসায়ীদের বাজার পরিস্থিতি এবং সংকেতের শক্তি আরও ভালভাবে বুঝতে সহায়তা করে।

  6. মাল্টিটাইম ফ্রেমওয়ার্ক অভিযোজনযোগ্যতা: এই কৌশলটি এমনভাবে ডিজাইন করা হয়েছে যাতে এটি বিভিন্ন সময়সীমার মধ্যে কার্যকরভাবে কাজ করতে পারে এবং এটি স্বল্পমেয়াদী থেকে দীর্ঘমেয়াদী লেনদেনের জন্য প্রযোজ্য।

  7. উচ্চ সম্ভাবনাপুনর্নির্মাণের ফলাফল অনুসারে, এই কৌশলটি নির্দিষ্ট পরিস্থিতিতে 84.09% পর্যন্ত বিজয়ী হার প্রদর্শন করেছে, 2.663 এর মুনাফা ফ্যাক্টর সহ, যা নির্দেশ করে যে এটির বিভিন্ন বাজারের পরিস্থিতিতে ভাল করার সম্ভাবনা রয়েছে।

কৌশলগত ঝুঁকি

যদিও এই কৌশলটির সুস্পষ্ট সুবিধা রয়েছে, তবে এর কিছু সম্ভাব্য ঝুঁকি এবং সীমাবদ্ধতা রয়েছেঃ

  1. প্যারামিটার নির্ভরতা: কৌশলটির কার্যকারিতা মূলত ডিইভিএমএ প্যারামিটারগুলির সঠিক সেটিংয়ের উপর নির্ভর করে। বিভিন্ন বাজারে সেরা ফলাফলের জন্য বিভিন্ন প্যারামিটার সেটিং প্রয়োজন হতে পারে।

  2. সংকেত ফ্রিকোয়েন্সি অস্থির: কিছু বাজার অবস্থার অধীনে, কৌশলগুলি খুব বেশি বা খুব কম ট্রেডিং সংকেত তৈরি করতে পারে, যা সামগ্রিক কর্মক্ষমতা এবং ট্রেডিং ফ্রিকোয়েন্সিকে প্রভাবিত করে।

  3. প্রত্যাহারের ঝুঁকিযদিও কৌশলটি ঝুঁকি ব্যবস্থাপনা ব্যবস্থা গ্রহণ করে, এটি চরম বাজার পরিস্থিতিতে যেমন হঠাৎ উচ্চ ওঠানামা বা স্ন্যাপশট ইভেন্টে উল্লেখযোগ্য প্রত্যাহারের শিকার হতে পারে।

  4. ওভার-অপ্টিমাইজেশন ঝুঁকিএই কৌশলটি বেশ কয়েকটি সামঞ্জস্যপূর্ণ প্যারামিটার নিয়ে গঠিত, যার ফলে এটির অপ্রতিরোধ্য অপ্টিমাইজেশনের ঝুঁকি রয়েছে, যার ফলে এটি ভাল ফিডব্যাক করতে পারে, কিন্তু এটি খারাপ ট্রেডিং করতে পারে।

  5. গণনাগত জটিলতা: কৌশলটি একাধিক স্তরের গাণিতিক গণনার সাথে জড়িত, যা নতুনদের পক্ষে বোঝা এবং সংশোধন করা কঠিন হতে পারে, যা ভুল কনফিগারেশনের ঝুঁকি বাড়ায়।

  6. ঐতিহাসিক পারফরম্যান্সের উপর ভিত্তি করে প্রত্যাশা: কৌশলটির উচ্চ সাফল্যের হার একটি নির্দিষ্ট ঐতিহাসিক সময়ের উপর ভিত্তি করে তৈরি করা হয়েছে এবং ভবিষ্যতে একই রকম হবে এমন কোন গ্যারান্টি নেই।

  7. টাইম ফ্রেম নির্দিষ্টকরণ: কিছু প্যারামিটার সেটিং নির্দিষ্ট টাইম ফ্রেমে ভাল কাজ করতে পারে, কিন্তু অন্য টাইম ফ্রেমে খারাপ কাজ করতে পারে এবং বিভিন্ন টাইম ফ্রেমের জন্য অপ্টিমাইজ করা প্রয়োজন।

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

কোডের গভীর বিশ্লেষণের মাধ্যমে নিম্নলিখিত সম্ভাব্য অপ্টিমাইজেশান দিকগুলি চিহ্নিত করা যায়ঃ

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

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

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

  4. বৈচিত্র্যের উৎসATR: ATR এর পরিবর্তে বিভিন্ন ওঠানামা গণনার পদ্ধতি (যেমন পার্কিনসন ওঠানামা, গারম্যান-ক্লাস ওঠানামা) চেষ্টা করুন, যা কিছু বাজার অবস্থার অধীনে আরও ভাল ফলাফল দিতে পারে।

  5. সময় ফিল্টার উন্নত: বিদ্যমান ট্রেডিং সময় ব্যবস্থাপনা সিস্টেমের উন্নতি, আরো জটিল সময় ফিল্টার যোগ করা, যেমন শুধুমাত্র নির্দিষ্ট বাজারের অবস্থার অধীনে নির্দিষ্ট সময়ে ট্রেডিং, নিম্ন দক্ষতার সময়গুলি এড়ানো।

  6. অবস্থান ব্যবস্থাপনা অপ্টিমাইজেশান: একটি আরো উন্নত পজিশন ম্যানেজমেন্ট সিস্টেম বাস্তবায়ন, গতিশীলভাবে সংকেত শক্তি, বাজার অবস্থা এবং অস্থিরতা স্তর অনুযায়ী লেনদেনের আকার সামঞ্জস্য।

  7. সিকোয়েন্স সিগন্যাল বিশ্লেষণ: ক্রমাগত সংকেত বিশ্লেষণ যোগ করা, উচ্চ মানের সংকেতগুলির ক্রমিক প্যাটার্ন সনাক্ত করা, ট্রেডিং সিদ্ধান্তের সঠিকতা আরও উন্নত করা।

  8. মাল্টি টাইম ফ্রেম বিশ্লেষণ: মাল্টি-টাইম ফ্রেম বিশ্লেষণকে একত্রিত করা, যাতে ট্রেডিং সিগন্যালগুলি বৃহত্তর টাইম ফ্রেমের বাজারের দিকনির্দেশের সাথে সামঞ্জস্যপূর্ণ থাকে এবং বিপরীতমুখী ট্রেডিংয়ের সম্ভাবনা হ্রাস করে।

সারসংক্ষেপ

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

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

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

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

কৌশল সোর্স কোড
//@version=5
strategy("VoVix DEVMA Clean", shorttitle="VoVix", overlay=false)

//==============================================================================
// VoVix DEVMA Configuration
//==============================================================================
group_devma = "VoVix DEVMA Configuration"
devLen = input.int(59, "Deviation Lookback", minval=15, maxval=60, group=group_devma)
fastVoVixLen = input.int(20, "Fast VoVix Length", minval=10, maxval=50, group=group_devma)
slowVoVixLen = input.int(60, "Slow VoVix Length", minval=30, maxval=100, group=group_devma)

//==============================================================================
// Adaptive Intelligence
//==============================================================================
group_adaptive = "Adaptive Intelligence"
ENABLE_ADAPTIVE = input.bool(true, "Enable Adaptive Features", group=group_adaptive)
ADAPTIVE_TIME_EXIT = input.bool(true, "Adaptive Time-Based Exit", group=group_adaptive)

//==============================================================================
// Intelligent Execution
//==============================================================================
group_execution = "Intelligent Execution"
tradeQty = input.int(1, "Trade Quantity", minval=1, maxval=100, group=group_execution)
USE_SMART_STOPS = input.bool(true, "Smart Stop Loss", group=group_execution)
ATR_SL_MULTIPLIER = input.float(2.0, "Stop Loss ATR Multiplier", minval=0.5, maxval=5.0, step=0.1, group=group_execution)
ATR_TP_MULTIPLIER = input.float(3.0, "Take Profit ATR Multiplier", minval=1.0, maxval=10.0, step=0.1, group=group_execution)
USE_TRAILING_STOP = input.bool(true, "Use Trailing Stop", group=group_execution)
TRAIL_POINTS_MULT = input.float(0.5, "Trail Points ATR Multiplier", minval=0.5, maxval=5.0, step=0.1, group=group_execution)
TRAIL_OFFSET_MULT = input.float(0.5, "Trail Offset ATR Multiplier", minval=0.1, maxval=2.0, step=0.1, group=group_execution)
max_bars_in_trade = input.int(18, "Maximum Bars in Trade", group=group_execution, minval=1, maxval=100)

//==============================================================================
// ADAPTIVE VARIABLES (simplified)
//==============================================================================
var array<float> trade_returns = array.new_float(30)
var array<int> trade_durations = array.new_int(20)
var int total_trades = 0
var float win_rate = 0.5
var int avg_winning_duration = 20
var float adaptive_time_exit_mult = 1.0

// Calculate ATR
atr_value = ta.atr(14)

//==============================================================================
// CORE DEVMA CALCULATIONS
//==============================================================================
vovix_source = (ta.atr(fastVoVixLen) - ta.atr(slowVoVixLen)) / (ta.stdev(ta.atr(fastVoVixLen), devLen) + 1e-6)
dev = ta.stdev(vovix_source, devLen)
fastDEVMA = ta.sma(dev, fastVoVixLen)
slowDEVMA = ta.sma(dev, slowVoVixLen)

//==============================================================================
// SIGNAL LOGIC
//==============================================================================
devma_diff = fastDEVMA - slowDEVMA
bullCross = ta.crossover(fastDEVMA, slowDEVMA) and devma_diff > 0
bearCross = ta.crossunder(fastDEVMA, slowDEVMA) and math.abs(devma_diff) > 0

// Signal strength calculation  
signal_strength = math.abs(devma_diff) / dev * 100
signal_quality = signal_strength > 5.0 ? "ELITE" : signal_strength > 3.0 ? "STRONG" : signal_strength > 1.0 ? "GOOD" : "WEAK"

//==============================================================================
// EXECUTION LOGIC
//==============================================================================
can_enter_new_trade = strategy.position_size == 0

// Apply adaptive time exit 
adaptive_max_bars = max_bars_in_trade
if ENABLE_ADAPTIVE and ADAPTIVE_TIME_EXIT
    if win_rate > 0.85
        adaptive_max_bars := math.round(max_bars_in_trade * adaptive_time_exit_mult * 1.5)
    else if win_rate > 0.75
        adaptive_max_bars := math.round(max_bars_in_trade * adaptive_time_exit_mult * 1.25)
    else
        adaptive_max_bars := math.round(max_bars_in_trade * adaptive_time_exit_mult)

//==============================================================================
// ADAPTIVE MEMORY SYSTEM (simplified)
//==============================================================================
if strategy.closedtrades > strategy.closedtrades[1] and barstate.isconfirmed
    last_trade_pnl = strategy.closedtrades.profit(strategy.closedtrades - 1)
    last_trade_return = last_trade_pnl / strategy.initial_capital
    last_trade_bars = strategy.closedtrades.exit_bar_index(strategy.closedtrades - 1) - strategy.closedtrades.entry_bar_index(strategy.closedtrades - 1)
    
    // Track performance (merged array)
    array.unshift(trade_returns, last_trade_return)
    if array.size(trade_returns) > 30
        array.pop(trade_returns)
    
    // Track trade duration for winners
    if last_trade_pnl > 0
        array.unshift(trade_durations, last_trade_bars)
        if array.size(trade_durations) > 20
            array.pop(trade_durations)
    
    total_trades += 1
    
    // Update win rate
    if array.size(trade_returns) >= 10
        wins = 0
        for i = 0 to array.size(trade_returns) - 1
            if array.get(trade_returns, i) > 0
                wins += 1
        win_rate := wins / array.size(trade_returns)

// Adaptive parameter adjustment
if ENABLE_ADAPTIVE and array.size(trade_returns) >= 5 and total_trades % 3 == 0
    if array.size(trade_durations) > 5
        duration_sum = 0
        for i = 0 to math.min(array.size(trade_durations) - 1, 9)
            duration_sum += array.get(trade_durations, i)
        avg_winning_duration := math.round(duration_sum / math.min(array.size(trade_durations), 10))

    if ADAPTIVE_TIME_EXIT and avg_winning_duration > 0
        adaptive_time_exit_mult := math.max(0.5, math.min(2.0, avg_winning_duration / max_bars_in_trade))

//==============================================================================
// TRADE ENTRY LOGIC
//==============================================================================
// Entry function to reduce code duplication
f_enter_trade(isLong, entryName, exitName, comment) =>
    stop_distance = atr_value * ATR_SL_MULTIPLIER
    profit_distance = atr_value * ATR_TP_MULTIPLIER
    
    stop_loss = USE_SMART_STOPS ? (isLong ? close - stop_distance : close + stop_distance) : na
    take_profit = isLong ? close + profit_distance : close - profit_distance
    
    strategy.entry(entryName, isLong ? strategy.long : strategy.short, qty=tradeQty, comment=comment)
    
    if USE_TRAILING_STOP
        trail_points = atr_value * TRAIL_POINTS_MULT
        trail_offset = atr_value * TRAIL_OFFSET_MULT
        strategy.exit(exitName, entryName, stop=stop_loss, limit=take_profit, trail_points=trail_points, trail_offset=trail_offset)
    else
        strategy.exit(exitName, entryName, stop=stop_loss, limit=take_profit)

// LONG ENTRIES
if bullCross and can_enter_new_trade and barstate.isconfirmed
    f_enter_trade(true, "ExpansionLong", "ExitExpLong", "Expansion→LONG")

// SHORT ENTRIES
if bearCross and can_enter_new_trade and barstate.isconfirmed
    f_enter_trade(false, "ContractionShort", "ExitConShort", "Contraction→SHORT")

// Time-based exit
if strategy.position_size != 0
    bars_in_trade = bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1)
    if bars_in_trade >= adaptive_max_bars and barstate.isconfirmed
        strategy.close_all(comment="Time Exit " + str.tostring(bars_in_trade) + "b")

//==============================================================================
// BASIC PLOTS (CORE STRATEGY LINES ONLY)
//==============================================================================
plot(fastDEVMA, "FastDEVMA", color=fastDEVMA > fastDEVMA[1] ? color.green : color.maroon, linewidth=2)
plot(slowDEVMA, "SlowDEVMA", color=slowDEVMA > slowDEVMA[1] ? color.aqua : color.orange, linewidth=2)
plot(dev, "StdDev", color=color.new(color.purple, 60), linewidth=1)

//==============================================================================
// ALERTS
//==============================================================================
if bullCross
    alert("VoVix EXPANSION: " + signal_quality, alert.freq_once_per_bar)
if bearCross
    alert("VoVix CONTRACTION: " + signal_quality, alert.freq_once_per_bar)