মাল্টি-ইন্ডিকেটর ডায়নামিক রিভার্সাল ট্রেডিং সিস্টেম: RSI এবং VWAP সমন্বিত রিভার্সাল কৌশল

RSI VWAP ATR 动态反转 价格行为确认 冷却期 尾随止损 Relative Strength Index Average True Range Dynamic Reversal Price Action Confirmation Cooldown Period Trailing Stop
সৃষ্টির তারিখ: 2025-04-09 17:09:01 অবশেষে সংশোধন করুন: 2025-04-09 17:09:01
অনুলিপি: 2 ক্লিকের সংখ্যা: 419
2
ফোকাস
319
অনুসারী

মাল্টি-ইন্ডিকেটর ডায়নামিক রিভার্সাল ট্রেডিং সিস্টেম: RSI এবং VWAP সমন্বিত রিভার্সাল কৌশল মাল্টি-ইন্ডিকেটর ডায়নামিক রিভার্সাল ট্রেডিং সিস্টেম: RSI এবং VWAP সমন্বিত রিভার্সাল কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটির মূল নীতি নিম্নলিখিত কয়েকটি মূল উপাদানগুলির সমন্বয়ে গঠিতঃ

  1. আরএসআই ওভারবয় ওভারসেল সনাক্তকরণতুলনামূলকভাবে শক্তিশালী সূচক (RSI) ব্যবহার করে বাজারের ওভারবয় (RSI> 72) এবং ওভারসোল (RSI <28) অবস্থা সনাক্ত করুন। যখন RSI ওভারবয় অঞ্চল থেকে নীচে বা ওভারসোল অঞ্চল থেকে উপরে চলে যায়, তখন এটি বাজারের আসন্ন বিপরীত হওয়ার ইঙ্গিত দিতে পারে।

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

  3. মূল্য কার্যকলাপ নিশ্চিতকরণ:

    • শূন্য শর্তঃ বর্তমান বন্ধের দাম পূর্ববর্তী বন্ধের দামের চেয়ে কম (বামে যাওয়ার প্রবণতা) তবে ভিডাব্লুএপি-র চেয়ে বেশি, যা ইঙ্গিত দেয় যে দামগুলি উচ্চ থেকে ফিরে আসতে পারে
    • একাধিক শর্ত তৈরি করুনঃ বর্তমান ক্লোজ-আপ মূল্য পূর্ববর্তী ক্লোজ-আপ মূল্যের চেয়ে বেশি ((উচ্চমুখী প্রবণতা) তবে এখনও ভিডাব্লুএপি-র চেয়ে কম, যা ইঙ্গিত দেয় যে দামগুলি নিম্ন থেকে পুনরুদ্ধার হতে পারে
  4. পরিমাপ ফিল্টার: ট্রেডিং সিগন্যালগুলি পর্যাপ্ত সক্রিয় বাজার পরিবেশে ঘটে তা নিশ্চিত করুন (ট্রান্সফার ভলিউম> 500) এবং কম তরলতার ক্ষেত্রে সিগন্যালগুলি এড়ানো।

  5. কুলিং সময় ব্যবস্থা: লেনদেনের পরে, সিস্টেমটি একটি নির্দিষ্ট সংখ্যক কে লাইন (ডিফল্ট 10 টি) এর জন্য আবার একই দিকের লেনদেনের জন্য অপেক্ষা করতে বাধ্য করে, যাতে অল্প সময়ের মধ্যে অতিরিক্ত লেনদেন করা যায় না।

  6. ডায়নামিক স্টপডাউনএটির উপর ভিত্তি করে স্টপ লস এবং স্টপ স্টপ লেভেল সেট করুন, যা বাজারের অস্থিরতার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে সামঞ্জস্য করতে সক্ষম করে এবং ডিফল্টরূপে 1.5x এটিআর ব্যবহার করে।

  7. ট্র্যাকিং স্টপ লস অপশন: ট্রেডিংয়ের সুবিধাজনক দিক থেকে প্রাপ্ত মুনাফা রক্ষা করার জন্য একটি ট্র্যাকিং স্টপ লস বিকল্প সরবরাহ করা হয়েছে, যা ডিফল্টরূপে মূল্যের 1.5% হিসাবে সেট করা হয়েছে।

সিগন্যাল ট্রিগার লজিকঃ

  • ফাঁকা সংকেতঃ আরএসআই ওভারব্রেড লেভেল অতিক্রম করেছে + লেনদেনের পরিমাণ সর্বনিম্ন মূল্য হ্রাসের চেয়ে বেশি + দামের সমাপ্তি পূর্ববর্তী সমাপ্তির দামের চেয়ে কম তবে ভিডাব্লুএপি-র চেয়ে বেশি + শীতল সময় শেষ হয়েছে
  • অতিরিক্ত সংকেতঃ আরএসআই ওভারসোল্ড স্তর অতিক্রম করেছে + লেনদেনের পরিমাণ সর্বনিম্ন মূল্য হ্রাসের চেয়ে বেশি + দামের সমাপ্তি পূর্ববর্তী সমাপ্তির দামের চেয়ে বেশি তবে ভিডাব্লুএপি-র চেয়ে কম + শীতল সময় শেষ হয়েছে

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

  1. একাধিক নিশ্চিতকরণ ব্যবস্থা: RSI, VWAP এবং প্রাইস অ্যাকশন কনফার্মেশনের সাথে সংযুক্ত, একাধিক শর্তের সাথে মিলিত হওয়ার জন্য একটি সংকেত তৈরি করা হয়, যা কার্যকরভাবে মিথ্যা সংকেতের সম্ভাবনা হ্রাস করে।

  2. বাজারের অস্থিরতার সাথে মানিয়ে নেওয়া: এটিআর-এর মাধ্যমে স্টপ-স্টপ স্তরকে গতিশীলভাবে সামঞ্জস্য করা, যাতে কৌশলটি বাজারের পরিবেশের সাথে সামঞ্জস্যপূর্ণ হতে পারে, উচ্চ অস্থিরতার বাজারে আরও স্বাচ্ছন্দ্যপূর্ণ স্টপ প্রদান করে এবং কম অস্থিরতার বাজারে আরও কঠোর স্টপ প্রদান করে।

  3. তরলতা ফিল্টার: ন্যূনতম লেনদেনের পরিমাণ নিশ্চিত করে যে লেনদেনটি পর্যাপ্ত তরল বাজারের অবস্থার অধীনে ঘটেছে, যাতে স্লাইড পয়েন্টের ঝুঁকি হ্রাস পায়।

  4. অতিরিক্ত লেনদেন রোধ করাকুলিং পিরিয়ড ব্যবস্থা কার্যকরভাবে স্বল্প সময়ের মধ্যে ঘন ঘন লেনদেন প্রতিরোধ করে, লেনদেনের খরচ হ্রাস করে এবং অনুরূপ বাজার অবস্থার অধীনে পুনরায় বাজারে প্রবেশ এড়ায়।

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

  6. মূল্যের উপর ভিত্তি করে স্বীকৃতি: শুধুমাত্র প্রযুক্তিগত সূচকগুলির উপর নির্ভর করে না, তবে মূল্যের ক্রিয়াকলাপের সাথে সংযুক্ত করা হয় ((পূর্ববর্তী ক্লোজিং মূল্য এবং ভিডাব্লুএপি-র অবস্থান সম্পর্কিত ক্লোজিং মূল্য) নিশ্চিতকরণ হিসাবে, সংকেতের গুণমান উন্নত করতে।

  7. ভিজ্যুয়াল ট্রেডিং সিগন্যালকৌশলঃ ট্রেডিং সিগন্যাল এবং মূল রেফারেন্স লাইনগুলি চার্টে দৃশ্যমানভাবে প্রদর্শিত হয় (ভিডাব্লুএপি), যা ব্যবসায়ীদের রিয়েল-টাইম বাজার পরিস্থিতি পর্যবেক্ষণ এবং বিশ্লেষণ করতে সহায়তা করে।

কৌশলগত ঝুঁকি

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

    • সমাধানঃ প্রবণতা ফিল্টার যুক্ত করার কথা বিবেচনা করুন, যাতে প্রবণতা শক্তিশালী হওয়ার সময় একটি বিপরীত সংকেত তৈরি না হয়।
  2. পরামিতি সংবেদনশীলতা: RSI ওভারবয় ওভারসেল থ্রেশহোল্ড ((7228) এবং কুলিং পিরিয়ড ((10 কে লাইন) এর মতো প্যারামিটার সেটিং কৌশলগত পারফরম্যান্সের উপর উল্লেখযোগ্য প্রভাব ফেলে, অনুপযুক্ত প্যারামিটারগুলি সংকেতের গুণমান হ্রাস করতে পারে।

    • সমাধানঃ বিভিন্ন বাজারের অবস্থার জন্য প্যারামিটারগুলিকে ঐতিহাসিক পুনর্বিবেচনার মাধ্যমে অপ্টিমাইজ করা, অথবা স্বনির্ধারিত প্যারামিটারগুলি বাস্তবায়নের কথা বিবেচনা করা।
  3. স্টপ লস লেভেল সেটিং ঝুঁকি১.৫ গুন ATR স্টপ লস হিসেবে কিছু ক্ষেত্রে খুব বেশি টাইট বা খুব বেশি আলগা হতে পারে।

    • সমাধানঃ নির্দিষ্ট ট্রেডিং প্রজাতির উর্ধ্বমুখী বৈশিষ্ট্য অনুসারে এটিআর গুণকটি সামঞ্জস্য করুন, অথবা সমর্থনকারী প্রতিরোধের অবস্থার উপর ভিত্তি করে স্টপ লস সেট বিবেচনা করুন।
  4. VWAP নির্ভরতা: VWAP সাধারণত intraday ট্রেডিংয়ে বেশি কার্যকরী এবং দীর্ঘ সময়ের মধ্যে রেফারেন্সের মূল্য হারাতে পারে।

    • সমাধানঃ দীর্ঘ সময়কালের জন্য অন্যান্য মূল্য রেফারেন্স লাইন ব্যবহার করার কথা বিবেচনা করুন, যেমন মুভিং এভারেজ বা সমর্থনকারী প্রতিরোধের স্তর।
  5. স্থির প্রান্তিকের পরিমাণস্থির লেনদেনের প্রান্তিক মান (500) সমস্ত বাজার শর্ত এবং লেনদেনের জাতের জন্য প্রযোজ্য নাও হতে পারে।

    • সমাধানঃ নির্দিষ্ট থ্রেশহোল্ডের পরিবর্তে আপেক্ষিক ট্র্যাফিকের পরিমাপ (যেমন, ট্র্যাফিকের পরিমাণের সাথে গড় ট্র্যাফিকের অনুপাত) ব্যবহারের কথা বিবেচনা করুন।
  6. বাজার পরিবেশে ফিল্টারের অভাব: এই কৌশলটি কিছু বাজার পরিবেশে ভাল কাজ করতে পারে (যেমন উচ্চ অস্থিরতা বা ব্যাপ্তিগত কম্পন) তবে বাজারের পরিবেশে স্পষ্টভাবে সনাক্তকরণের অভাব রয়েছে।

    • সমাধানঃ বাজার পরিস্থিতি সনাক্তকরণ সূচক যুক্ত করুন, বাজার পরিস্থিতি অনুযায়ী কৌশলগত প্যারামিটারগুলি সামঞ্জস্য করুন বা অস্থায়ীভাবে লেনদেন বন্ধ করুন।
  7. ফান্ড ম্যানেজমেন্ট ফিক্সড: কৌশলটি স্থির মূলধন অনুপাত (১০%) ব্যবহার করে ট্রেড করা হয়, সংকেতের গুণমান বা বাজার ঝুঁকির গতিশীলতার উপর নির্ভর করে পজিশনের আকার পরিবর্তন করা হয় না।

    • সমাধানঃ ডায়নামিক পজিশন ম্যানেজমেন্ট বাস্তবায়ন করুন, সিগন্যাল শক্তি, বাজার অস্থিরতা বা ঝুঁকি-ফেরতের অনুপাতের ভিত্তিতে পজিশন আকারের সমন্বয় করুন।

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

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

    • যুক্তিঃ বিভিন্ন বাজার পরিবেশে, সর্বোত্তম ওভার-বিক্রয় ওভার-বিক্রয় থ্রেশহোল্ড এবং স্টপ লস স্তরগুলির মধ্যে উল্লেখযোগ্য পার্থক্য থাকতে পারে, এবং স্ব-অনুকূলিতকরণ প্যারামিটারগুলি বাজারের পরিবর্তনের সাথে আরও ভালভাবে খাপ খাইয়ে নিতে পারে।
  2. ট্রেন্ড ফিল্টার যোগ করুন: প্রবণতা বিচারক সূচকগুলি প্রবর্তন করুন (যেমন একটি চলমান গড় প্রবণতা বা ADX) এবং একটি শক্তিশালী প্রবণতা পরিবেশে ব্যর্থ হতে পারে এমন একটি বিপরীত সংকেত এড়াতে।

    • যুক্তিঃ বিপরীতমুখী কৌশলগুলি সাধারণত অস্থির বাজারে ভাল কাজ করে, শক্তিশালী প্রবণতাগুলির মধ্যে ভুল সংকেত তৈরি করা সহজ, এবং প্রবণতা ফিল্টার যুক্ত করা কৌশলগুলির সাফল্যের হারকে উল্লেখযোগ্যভাবে বাড়িয়ে তুলতে পারে।
  3. ডায়নামিক পজিশন ব্যবস্থাপনা: সংকেতের শক্তির উপর নির্ভর করে (যেমন RSI এর বিচ্যুতির মাত্রা), বাজারের অস্থিরতা বা প্রত্যাশিত ঝুঁকি-ফেরতের চেয়ে গতিশীলভাবে পজিশন সামঞ্জস্য করার চেয়ে বড়।

    • কারণঃ সিগন্যালের গুণগত মান ভিন্ন, তহবিলের বরাদ্দ যথাযথভাবে সংশোধন করা উচিত, শক্তিশালী সিগন্যালকে আরও বেশি তহবিল বরাদ্দ করা উচিত, দুর্বল সিগন্যালকে সতর্কতার সাথে বরাদ্দ করা উচিত।
  4. বাজার পরিবেশের শ্রেণীবিভাগ: বাজারের পরিবেশ সনাক্তকরণ, প্রবণতা বাজার, অস্থির বাজার এবং উচ্চ অস্থিরতার বাজারগুলিকে আলাদা করার জন্য এবং বিভিন্ন পরিবেশের জন্য কৌশলগত প্যারামিটার বা ট্রেডিং লজিককে সামঞ্জস্য করার জন্য।

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

    • যুক্তিঃ বিভিন্ন লেনদেনের ধরন এবং সময়কালের জন্য স্বাভাবিক লেনদেনের মাত্রা ব্যাপকভাবে পরিবর্তিত হয়, এবং আপেক্ষিক লেনদেনের পরিমাণ সূচকটি বাজারের সক্রিয়তার আরও সঠিক পরিমাপ করতে পারে।
  6. সিগন্যাল মানের রেটিং বৃদ্ধি: একটি সিগন্যাল কোয়ালিটি রেটিং সিস্টেম তৈরি করা হয়েছে, যা বিভিন্ন কারণের উপর ভিত্তি করে সিগন্যালকে রেট দেয় (যেমন আরএসআই বিচ্যুতি, মূল্য এবং ভিডাব্লুএপি দূরত্ব, ট্র্যাফিকের পরিমাণের বিপর্যয় ইত্যাদি) এবং কেবলমাত্র উচ্চ মানের সংকেতগুলি সম্পাদন করে।

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

    • যুক্তিঃ নির্দিষ্ট সময়সীমার মধ্যে বাজার অনিয়মিতভাবে ওঠানামা করতে পারে এবং প্রযুক্তিগত সূচকগুলি ব্যর্থ হতে পারে। এই সময়গুলি এড়ানো কৌশলগত স্থিতিশীলতা বাড়াতে পারে।

সারসংক্ষেপ

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

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

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

কৌশল সোর্স কোড
/*backtest
start: 2024-04-09 00:00:00
end: 2025-04-08 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("BTC/USDT Smart Long & Short (RSI + VWAP + Rejection)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === INPUTS ===
rsiLength     = input.int(14, title="RSI Length")
rsiOverbought = input.int(72, title="RSI Overbought Level")
rsiOversold   = input.int(28, title="RSI Oversold Level")
minVol        = input.float(500, title="Min Volume Filter")
cooldownBars  = input.int(10, title="Cooldown Period (bars)")
atrLength     = input.int(14, title="ATR Length")
atrMultiplier = input.float(1.5, title="SL/TP ATR Multiplier")
useTrailing   = input.bool(true, title="Use Trailing Stop")
trailingPerc  = input.float(1.5, title="Trailing %")

// === INDICATORS ===
rsi  = ta.rsi(close, rsiLength)
vwap = ta.vwap(hlc3)
atr  = ta.atr(atrLength)
vol  = volume

// === COOLDOWN LOGIC ===
var int lastShortBar = na
var int lastLongBar = na
canShort = na(lastShortBar) or (bar_index - lastShortBar > cooldownBars)
canLong  = na(lastLongBar)  or (bar_index - lastLongBar  > cooldownBars)

// === CANDLE REJECTION LOGIC ===
bearishRejection = close < close[1] and close > vwap     // Short filter
bullishRejection = close > close[1] and close < vwap     // Long filter

// === SHORT ENTRY ===
shortSignal = ta.crossunder(rsi, rsiOverbought) and vol > minVol and bearishRejection and canShort
if (shortSignal)
    strategy.entry("Short", strategy.short)
    if useTrailing
        strategy.exit("Short Exit", from_entry="Short", trail_points=trailingPerc * close * 0.01, trail_offset=trailingPerc * close * 0.01)
    else
        sl = atr * atrMultiplier
        tp = atr * atrMultiplier
        strategy.exit("Short Exit", from_entry="Short", profit=tp, loss=sl)
    lastShortBar := bar_index

// === LONG ENTRY ===
longSignal = ta.crossover(rsi, rsiOversold) and vol > minVol and bullishRejection and canLong
if (longSignal)
    strategy.entry("Long", strategy.long)
    if useTrailing
        strategy.exit("Long Exit", from_entry="Long", trail_points=trailingPerc * close * 0.01, trail_offset=trailingPerc * close * 0.01)
    else
        sl = atr * atrMultiplier
        tp = atr * atrMultiplier
        strategy.exit("Long Exit", from_entry="Long", profit=tp, loss=sl)
    lastLongBar := bar_index

// === PLOTS ===
plot(vwap, title="VWAP", color=color.orange, linewidth=2)
plotshape(shortSignal, title="Short Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
plotshape(longSignal, title="Long Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)