
এই কৌশলটি একটি মাল্টি-ইনডিকেটর ট্রেডিং ট্র্যাকিং সিস্টেম যা মূলত চলমান গড়ের ক্রস, অপেক্ষাকৃত দুর্বল সূচক (RSI) এবং বোলিংগার ব্যান্ডস (Bollinger Bands) দ্বারা ট্রেডিং সিগন্যাল নিশ্চিত করে। এই কৌশলটি 15 মিনিটের সময়কালের উপর কাজ করে, সহজ চলমান গড় (SMA) এর ক্রস ব্যবহার করে প্রধান প্রবণতা বিচার করার ভিত্তিতে, আরএসআই সূচক ব্যবহার করে অতিরিক্ত বাজার বা বিক্রির অবস্থাকে ফিল্টার করে এবং সম্ভাব্য মূল্যের চরম অঞ্চলগুলিকে বোলিং বন্ডের মাধ্যমে চিহ্নিত করে। ঝুঁকি ব্যবস্থাপনার ক্ষেত্রে, গড় বাস্তব তরঙ্গের (ATR) উপর ভিত্তি করে একটি গতিশীল স্টপ লস এবং লাভের লক্ষ্যমাত্রা সেট করা হয়, যা বাজারের অস্থিরতার সাথে স্বয়ংক্রিয়ভাবে সামঞ্জস্যপূর্ণ। সামগ্রিকভাবে, এই কৌশলটি একাধিক প্রযুক্তিগত সূচকগুলির সমন্বয়মূলক ভূমিকা দ্বারা প্রভাবিত হয়, যা প্রবণতির মধ্যে স্বল্পমেয়াস্থ দামের ওঠামকতা ক্যাপচার করার চেষ্টা
কোয়ান্টাম ট্রেডিং কৌশলটির মূল নীতিটি হ’ল একাধিক প্রযুক্তিগত সূচকের সাথে ট্রেডিং সিগন্যাল তৈরি এবং ফিল্টার করা, যার মূলত নিম্নলিখিত কয়েকটি মূল উপাদান রয়েছেঃ
প্রবণতা সনাক্তকরণ: ট্রেন্ডের দিকনির্দেশের প্রধান ভিত্তি হিসাবে 5 পিরিয়ড এবং 20 পিরিয়ডের সরল চলমান গড় ((এসএমএ) এর ক্রস ব্যবহার করুন। যখন 5 পিরিয়ডের এসএমএ ঊর্ধ্বমুখী হয়ে 20 পিরিয়ডের এসএমএ অতিক্রম করে, তখন এটিকে ঊর্ধ্বমুখী ট্রেন্ড হিসাবে চিহ্নিত করা হয় এবং এটি একটি কেনার সংকেত দেয়। যখন 5 পিরিয়ডের এসএমএ ঊর্ধ্বমুখী হয়ে 20 পিরিয়ডের এসএমএ অতিক্রম করে, তখন এটিকে ঊর্ধ্বমুখী ট্রেন্ড হিসাবে চিহ্নিত করা হয় এবং এটি একটি বিক্রয় সংকেত দেয়।
ভর ফিল্টারতুলনামূলকভাবে দুর্বল সূচক (আরএসআই) ব্যবহার করে সম্ভাব্য অতিরিক্ত ক্রয় বা বিক্রয় অবস্থা ফিল্টার করুন। ক্রয়ের শর্তটি আরএসআই 70 এর নীচে, অতিরিক্ত ক্রয় অঞ্চলে প্রবেশ করা এড়ানো; বিক্রয় শর্তটি আরএসআই 30 এর চেয়ে বেশি, অতিরিক্ত বিক্রয় অঞ্চলে খালি করা এড়ানো।
রেঞ্জ সনাক্তকরণ: বোলিংগার ব্যান্ডের মাধ্যমে দামের তুলনামূলক অবস্থান চিহ্নিত করা। ক্রয় সংকেতগুলিকে উচ্চতর রেলের চেয়ে কম দামের প্রয়োজন হয় না, বিক্রয় সংকেতগুলিকে নিম্নতর রেলের চেয়ে কম দামের প্রয়োজন হয় না, কার্যকরভাবে দামের চূড়ান্ত অঞ্চলে লেনদেন এড়ানো যায়।
ঝুঁকি ব্যবস্থাপনা সিস্টেম
পজিশন ব্যবস্থাপনানীতিমালা অনুযায়ী, প্রতিটি লেনদেনের ঝুঁকি অ্যাকাউন্টের তহবিলের ১% এর বেশি নয় এবং একক লেনদেনের ক্ষতি গ্রহণযোগ্য সীমার মধ্যে রয়েছে।
কোড বাস্তবায়নের পরে, কৌশলটি প্রথমে বিভিন্ন প্রযুক্তিগত সূচকের মান গণনা করে এবং তারপরে স্পষ্ট প্রবেশের শর্ত এবং প্রস্থান নিয়ম সংজ্ঞায়িত করে। যখন ক্রয় শর্ত পূরণ হয়, তখন সমস্ত খালি অবস্থানগুলিকে সমতল করা হয় এবং মাল্টি-হেড অবস্থানগুলি স্থাপন করা হয়, সেই সাথে সংশ্লিষ্ট স্টপ এবং লাভের স্তর সেট করা হয়। যখন বিক্রয় শর্ত পূরণ হয়, তখন সমস্ত মাল্টি-হেড অবস্থানগুলিকে সমতল করা হয় এবং খালি অবস্থানগুলি স্থাপন করা হয়, সেই সাথে সংশ্লিষ্ট স্টপ এবং লাভের স্তর সেট করা হয়। কৌশলটি “var” কীওয়ার্ড ব্যবহার করে স্টপ এবং লাভের দাম সংরক্ষণ করে, যাতে নিশ্চিত হয় যে এই দামগুলি প্রস্থান শর্তগুলি ট্রিগার করার আগে কার্যকর থাকে। অবশেষে, কৌশলটির ভিজ্যুয়াল উপাদানগুলি সম্পর্কিত সূচক এবং সংকেতগুলি ম্যাপ করে যাতে ব্যবসায়ীরা বাজারের অবস্থা এবং ট্রেডিং লজিককে স্বজ্ঞাতভাবে বুঝতে পারে।
কোডের কাঠামো এবং লজিকের গভীর বিশ্লেষণের মাধ্যমে, এই কৌশলটি একাধিক দিক থেকে উপকারীতা দেখায়ঃ
মাল্টিমিডিয়েটর সমন্বিত নিশ্চিতকরণকৌশলঃ তিনটি ভিন্ন ধরণের প্রযুক্তিগত সূচককে একত্রিত করে, যেমন চলমান গড়, আরএসআই এবং ব্রিন, একটি সংকেত নিশ্চিতকরণ ব্যবস্থা তৈরি করে যা একটি একক সূচক দ্বারা সম্ভাব্য মিথ্যা সংকেতের ঝুঁকি হ্রাস করে। এই একাধিক ফিল্টারিং ব্যবস্থাটি ট্রেডিং সিগন্যালের গুণমান এবং নির্ভরযোগ্যতা উন্নত করতে সহায়তা করে।
স্বনির্ধারিত ঝুঁকি ব্যবস্থাপনা: এটিআর ভিত্তিক গতিশীল স্টপ এবং লাভের লক্ষ্য সেটআপ ব্যবহার করে, বাজারের অস্থিরতার সাথে স্বয়ংক্রিয়ভাবে ঝুঁকির প্যারামিটারগুলি সামঞ্জস্য করতে সক্ষম। উচ্চ অস্থিরতার বাজারে স্বয়ংক্রিয়ভাবে স্টপ স্পেসিফিকেশন প্রসারিত করুন এবং স্বয়ংক্রিয়ভাবে কম অস্থিরতার বাজারে স্টপ স্পেসিফিকেশন সংক্ষিপ্ত করুন, বিভিন্ন বাজারের পরিবেশে স্থির স্টপ সীমাবদ্ধতা এড়ান।
ট্রেন্ড ট্র্যাকিং এবং অস্থিরতা ফিল্টারিং: কৌশলটি কেবল ট্রেন্ডের দিকনির্দেশনা অনুসরণ করে না (SMA ক্রস) তবে RSI এবং BRI এর মাধ্যমে চরম অঞ্চলে দামের ট্রেডিং সিগন্যালগুলি ফিল্টার করে, যা ট্রেন্ড সংশোধন পর্যায়ে ক্ষতির সম্ভাবনা হ্রাস করে।
সুস্পষ্ট পজিশন ব্যবস্থাপনা: প্রতিটি লেনদেনের ঝুঁকি অ্যাকাউন্টের 1% এর বেশি নয় বলে সুস্পষ্টভাবে উল্লেখ করা হয়েছে, তহবিল পরিচালনার জন্য সুস্পষ্ট নির্দেশিকা সরবরাহ করা হয়েছে, যা দীর্ঘমেয়াদী স্থিতিশীল কার্যক্রমে সহায়তা করে।
সিগন্যাল ভিজুয়ালাইজেশনকোডটিতে একটি উন্নত ভিজ্যুয়ালাইজেশন উপাদান রয়েছে যার মধ্যে রয়েছে মুভিং এভারেজ, ব্রিনব্যান্ড, ক্রয় ও বিক্রয় সংকেত এবং স্টপ এবং লাভের স্তরের গ্রাফিং, যা ব্যবসায়ীদের কৌশল পরিচালনার স্থিতি এবং বাজারের অবস্থার উপর রিয়েল-টাইমে নজর রাখতে সহায়তা করে।
প্রবেশ ও প্রস্থান যৌক্তিক
বিপরীত সিগন্যাল সমতলীকরণের সূচনা করেবিপরীত সিগন্যালের সময়, কৌশলটি বিদ্যমান হোল্ডিংগুলিকে খালি করে এবং নতুন পজিশন তৈরি করে, যা বাজারের প্রবণতা পরিবর্তনের সাথে সাথে হোল্ডিংয়ের দিকটি দ্রুত সামঞ্জস্য করতে এবং ভুল দিকের এক্সপোজার হ্রাস করতে সহায়তা করে।
যদিও এই কৌশলটি ব্যাপকভাবে পরিকল্পিত, তবে এর মধ্যে কিছু সম্ভাব্য ঝুঁকি এবং সীমাবদ্ধতা রয়েছেঃ
স্বল্পমেয়াদী গড় সংবেদনশীলতা৫-চক্রের এসএমএ-র ব্যবহার দ্রুত গড় হিসাবে খুব সংবেদনশীল হতে পারে, যা ক্রস-সিগন্যালের ঘন ঘন উত্পাদন করতে পারে, যার ফলে অত্যধিক লেনদেন এবং কমিশন ক্ষয় হয়। সমাধানের উপায় হিসাবে, গড় সমতলীকরণ বা ক্রস-ব্রিজারে লেনদেন স্থগিত করা বিবেচনা করা যেতে পারে।
স্থির গুণিতক ATR বন্ধ: যদিও এটিআর গতিশীল স্টপ সেটিং ব্যবহার করা হয়, তবে নির্দিষ্ট 2x এটিআর ব্যবহার করা কিছু বাজারের পরিস্থিতিতে যথেষ্ট নমনীয় নাও হতে পারে। উচ্চ অস্থিরতার বাজারে এটিআর খুব প্রশস্ত হতে পারে এবং কম অস্থিরতার বাজারে এটিআর খুব সংকীর্ণ হতে পারে। এটির গুণকগুলি বিভিন্ন বাজারের পর্যায়ে গতিশীলতার সাথে সামঞ্জস্য করার পরামর্শ দেওয়া হয়।
RSI স্থিরকৌশলঃ নির্দিষ্ট RSI থ্রেশহোল্ডগুলি ব্যবহার করুন (70 এবং 30) সমস্ত বাজার পরিস্থিতিতে প্রযোজ্য নাও হতে পারে। শক্তিশালী ট্রেন্ডিং বাজারে, RSI দীর্ঘ সময়ের জন্য উচ্চ বা নিম্ন স্তরে থাকতে পারে, যার ফলে কার্যকর সংকেত মিস করা যায়। RSI থ্রেশহোল্ডগুলিকে বাজারের প্রবণতা শক্তির গতিশীলতার সাথে সামঞ্জস্য করার বিষয়ে বিবেচনা করা যেতে পারে।
প্রযুক্তিগত সূচকগুলির উপর নির্ভরশীলতার সীমাবদ্ধতাকৌশলটি সম্পূর্ণরূপে প্রযুক্তিগত সূচকগুলির উপর নির্ভর করে, মৌলিক বিষয়গুলির বিবেচনা করার অভাব রয়েছে। যখন বড় মৌলিক ঘটনাগুলি বাজারে প্রভাব ফেলে, তখন খাঁটি প্রযুক্তিগত বিশ্লেষণ ব্যর্থ হতে পারে। কিছু মৌলিক ফিল্টারিং প্রক্রিয়া বা বড় ঘটনা ঝুঁকি ব্যবস্থাপনার নিয়মগুলি সংহত করার পরামর্শ দেওয়া হয়েছে।
প্রত্যাহারের ঝুঁকি: যদিও কৌশলটি একটি ক্ষতির ব্যবস্থা গ্রহণ করে, তবে চরম বাজার পরিস্থিতিতে (যেমন ঝলকানি বা উড়ন্ত) প্রকৃত ক্ষতির কার্যকর মূল্য নির্ধারিত মূল্যের চেয়ে অনেক কম হতে পারে, যার ফলে অপ্রত্যাশিত ক্ষতির কারণ হতে পারে। সর্বোচ্চ প্রত্যাহার নিয়ন্ত্রণ ব্যবস্থা যুক্ত করার বিষয়টি বিবেচনা করা উচিত।
প্যারামিটার অপ্টিমাইজেশান ঝুঁকিকোডে ব্যবহৃত প্যারামিটারগুলি (যেমন 5 এবং 20 চক্রের এসএমএ, 14 চক্রের আরএসআই এবং এটিআর) historicalতিহাসিক ডেটার সাথে অতিরিক্ত সামঞ্জস্যের ঝুঁকিতে থাকতে পারে। প্যারামিটারগুলির স্থিতিশীলতা পরীক্ষা করার পরামর্শ দেওয়া হয়, যাতে কৌশলটি বিভিন্ন প্যারামিটার সেটিংসে এখনও অপেক্ষাকৃত স্থিতিশীল কর্মক্ষমতা বজায় রাখতে পারে।
তরলতা ঝুঁকি: কম তরলতার বাজারে লেনদেন করার সময়, স্লাইড পয়েন্ট প্রসারিত হওয়ার ঝুঁকি থাকতে পারে, প্রকৃত লেনদেনের ফলাফলগুলি পুনরুদ্ধারের ফলাফলের সাথে বড় পার্থক্য থাকতে পারে। তরলতা ফিল্টার শর্তগুলি বাড়ানোর বিষয়টি বিবেচনা করা উচিত এবং অত্যন্ত কম তরলতার পরিস্থিতিতে লেনদেন এড়ানো উচিত।
কোডের গভীর বিশ্লেষণের উপর ভিত্তি করে, নিম্নলিখিত সম্ভাব্য অপ্টিমাইজেশান দিকগুলি রয়েছেঃ
গতিশীল প্যারামিটার সমন্বয় প্রক্রিয়া: বাজারের অস্থিরতা বা প্রবণতা শক্তির উপর ভিত্তি করে গতিশীল প্যারামিটার সমন্বয় ব্যবস্থা চালু করুন, যেমন উচ্চ অস্থির বাজারে আরএসআই থ্রেশহোল্ডের পরিধি বাড়ানো বা শক্তিশালী প্রবণতা বাজারে গড় লাইন চক্রের সমন্বয় করা, যাতে কৌশলটি আরও অভিযোজিত হয়। অপ্টিমাইজেশনের কারণঃ স্থির প্যারামিটারগুলি বিভিন্ন বাজারের পরিবেশে ব্যাপকভাবে পরিবর্তিত হয় এবং গতিশীল প্যারামিটারগুলি কৌশলকে বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নিতে সহায়তা করে।
প্রবণতা বৃদ্ধি ফিল্টার করুনট্রেডিং সিগন্যালগুলি কেবলমাত্র যখন ট্রেন্ডটি স্পষ্ট হয় তখনই কার্যকর করা হয়। অপ্টিমাইজেশনের কারণঃ প্রান্তিক বাজারগুলিতে ঘন ঘন ট্রেডিং এড়ানো, সংকেতের গুণমান উন্নত করা, কমিশন ব্যয় হ্রাস করা।
সময় ফিল্টার: সময় ফিল্টারিং ব্যবস্থা বাড়ানো, অস্থিরতা বা কম তরলতার সাথে লেনদেনের সময়গুলি এড়ানো। অপ্টিমাইজেশনের কারণঃ কিছু নির্দিষ্ট সময়ের মধ্যে (যেমন এশিয়ান, ইউরোপীয় এবং আমেরিকান ট্রেডিং সময়ের পরিবর্তন) বাজারের আচরণের বিশেষ প্যাটার্ন থাকতে পারে, লক্ষ্যযুক্ত অপ্টিমাইজেশন কৌশল স্থিতিশীলতা বাড়িয়ে তুলতে পারে।
সিঁড়ি স্টপ: আংশিক মুনাফা সমতল করার জন্য একটি সিঁড়িযুক্ত স্টপ মেশিনের বাস্তবায়ন, যা আংশিক মুনাফা লক করে এবং বড় প্রবণতা ধরে রাখার সম্ভাবনা রাখে। অপ্টিমাইজেশনের কারণঃ বর্তমান কৌশলটির স্থির স্টপটি শক্তিশালী প্রবণতা থেকে তাড়াতাড়ি বেরিয়ে আসতে পারে, সিঁড়ি স্টপটি লাভের সমাপ্তি এবং ট্রেন্ড ট্র্যাকিংয়ের দ্বন্দ্বকে ভারসাম্য করতে পারে।
বহু-সময়-প্রান্তিক নিশ্চিতকরণ
সংযোজন ক্ষমতা সূচক
মেশিন লার্নিং অপ্টিমাইজেশন: মেশিন লার্নিং অ্যালগরিদম প্রবর্তন করুন গতিশীল অপ্টিমাইজেশান প্যারামিটার বা সিগন্যাল ওজন, বাজার পরিবর্তনের জন্য কৌশলগুলির অভিযোজনশীলতা উন্নত করুন। অপ্টিমাইজেশান যুক্তিঃ বাজারের অবস্থার পরিবর্তন, স্ট্যাটিক কৌশলগুলি সহজেই ব্যর্থ হয়, এবং মেশিন লার্নিং কৌশলগুলিকে বাজারের বিবর্তনের সাথে সামঞ্জস্য রাখতে সহায়তা করতে পারে।
তহবিল ব্যবস্থাপনা কৌশল বৃদ্ধি: সিস্টেমের পারফরম্যান্সের গতিশীলতা অনুসারে পজিশনের আকার সামঞ্জস্য করুন, ক্রমাগত লাভের সময় পজিশন বাড়ান এবং ক্রমাগত লোকসানের সময় পজিশন হ্রাস করুন। অপ্টিমাইজেশনের কারণঃ তহবিলের ব্যবহারের দক্ষতা বাড়ানো, কৌশলটি ভাল পারফরম্যান্সের সময় উপার্জন সর্বাধিক করা, কৌশলটি খারাপ পারফরম্যান্সের সময় ঝুঁকি নিয়ন্ত্রণ করা।
মাল্টি-ইনডিকেটর ডায়নামিক ক্রস ট্রেন্ড ট্র্যাকিং কোয়ান্টিফিকেশন কৌশল হল একটি সমন্বিত ট্রেডিং সিস্টেম যা চলমান গড় ক্রস, আরএসআই ফিল্টার এবং ব্রিন বন্ড নিশ্চিতকরণকে একত্রিত করে। একাধিক প্রযুক্তিগত সূচকগুলির সমন্বয় দ্বারা, কৌশলটি প্রবণতা পরিবর্তনের পয়েন্টগুলিকে ক্যাপচার করার সাথে সাথে চরম মূল্যের অঞ্চলের সংকেতগুলিকে কার্যকরভাবে ফিল্টার করে এবং এটিআর-ভিত্তিক ডায়নামিক ঝুঁকি ব্যবস্থাপনার মাধ্যমে বিভিন্ন বাজারের অবস্থার সাথে অভিযোজিত হয়।
যদিও এই কৌশলটির সুস্পষ্ট সুবিধাগুলি রয়েছে, যেমন মাল্টি-ইনডিকেটর সমন্বয় নিশ্চিতকরণ, স্ব-অনুকূলিত ঝুঁকি ব্যবস্থাপনা, তবে স্বল্পমেয়াদী গড় রেখার অত্যধিক সংবেদনশীলতা, স্থির প্যারামিটার সীমাবদ্ধতার মতো ঝুঁকি রয়েছে। এই সীমাবদ্ধতার জন্য, গতিশীল প্যারামিটার সমন্বয় ব্যবস্থা, প্রবণতা শক্তি ফিল্টার বাড়ানো এবং সিঁড়ি থামার মতো অপ্টিমাইজেশন দিকগুলি বাস্তবায়নের মাধ্যমে কৌশলটির স্থায়িত্ব এবং অভিযোজনশীলতা আরও বাড়ানোর পরামর্শ দেওয়া হয়েছে।
সামগ্রিকভাবে, এটি একটি মোটামুটি ভালভাবে পরিকল্পিত, সমন্বিত, পরিমাণগত ট্রেডিং কৌশল যা সিগন্যাল জেনারেশন, ঝুঁকি নিয়ন্ত্রণ এবং পজিশন ম্যানেজমেন্টের মতো গুরুত্বপূর্ণ বিষয়গুলিকে ভারসাম্যপূর্ণভাবে বিবেচনা করে, ডিজিটাল সম্পদের দিনের ট্রেডিংয়ের জন্য একটি সুনির্দিষ্ট, সুনির্দিষ্ট, যুক্তিসঙ্গত পদ্ধতিগত কাঠামো সরবরাহ করে। ক্রমাগত অপ্টিমাইজেশন এবং প্যারামিটার সামঞ্জস্যের মাধ্যমে, কৌশলটি বিভিন্ন বাজারের পরিবেশে তুলনামূলকভাবে স্থিতিশীল কর্মক্ষমতা বজায় রাখার সম্ভাবনা রয়েছে।
/*backtest
start: 2025-03-24 00:00:00
end: 2025-03-24 13:00:00
period: 3m
basePeriod: 3m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Crypto Futures Day Trading Strategy", overlay=true)
// --- Indicators ---
// Moving Averages
sma5 = ta.sma(close, 5)
sma20 = ta.sma(close, 20)
// Relative Strength Index (RSI)
rsi14 = ta.rsi(close, 14)
// Bollinger Bands
basis = ta.sma(close, 20)
dev = 2 * ta.stdev(close, 20)
upperBB = basis + dev
lowerBB = basis - dev
// Average True Range (ATR)
atr14 = ta.atr(14)
// --- Entry Conditions ---
// Long Entry: 5 SMA crosses above 20 SMA, RSI < 70, price below upper BB
longCondition = ta.crossover(sma5, sma20) and rsi14 < 70 and close < upperBB
// Short Entry: 5 SMA crosses below 20 SMA, RSI > 30, price above lower BB
shortCondition = ta.crossunder(sma5, sma20) and rsi14 > 30 and close > lowerBB
// --- Stop-Loss and Take-Profit Variables ---
// Use 'var' to persist values across bars until updated
var float longSL = na
var float longTP = na
var float shortSL = na
var float shortTP = na
// --- Entry Logic ---
// Long Entry: Close any short position, enter long, set SL and TP
if (longCondition)
strategy.close("Short") // Close existing short position
strategy.entry("Long", strategy.long) // Enter long position
longSL := close - 2 * atr14 // Set stop-loss 2 ATR below entry
longTP := close + 4 * atr14 // Set take-profit 4 ATR above entry
// Short Entry: Close any long position, enter short, set SL and TP
if (shortCondition)
strategy.close("Long") // Close existing long position
strategy.entry("Short", strategy.short) // Enter short position
shortSL := close + 2 * atr14 // Set stop-loss 2 ATR above entry
shortTP := close - 4 * atr14 // Set take-profit 4 ATR below entry
// --- Exit Logic ---
// Exit Long: Apply stop-loss and take-profit when in a long position
if (strategy.position_size > 0)
strategy.exit("Exit Long", "Long", stop=longSL, limit=longTP)
// Exit Short: Apply stop-loss and take-profit when in a short position
if (strategy.position_size < 0)
strategy.exit("Exit Short", "Short", stop=shortSL, limit=shortTP)
// --- Plotting ---
// Plot Moving Averages
plot(sma5, color=color.blue, title="SMA5", linewidth=2)
plot(sma20, color=color.red, title="SMA20", linewidth=2)
// Plot Bollinger Bands
plot(upperBB, color=color.green, title="Upper BB", linewidth=1)
plot(lowerBB, color=color.green, title="Lower BB", linewidth=1)
// Plot Buy and Sell Signals
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Plot Stop-Loss and Take-Profit Levels (only when in a position)
plot(strategy.position_size > 0 ? longSL : na, color=color.red, style=plot.style_linebr, title="Long SL")
plot(strategy.position_size > 0 ? longTP : na, color=color.green, style=plot.style_linebr, title="Long TP")
plot(strategy.position_size < 0 ? shortSL : na, color=color.red, style=plot.style_linebr, title="Short SL")
plot(strategy.position_size < 0 ? shortTP : na, color=color.green, style=plot.style_linebr, title="Short TP")
// --- Optional Alerts ---
// Uncomment these lines to enable alerts in TradingView
// alertcondition(longCondition, title="Buy Alert", message="Buy Signal Detected")
// alertcondition(shortCondition, title="Sell Alert", message="Sell Signal Detected")