গতিশীল ব্রেকআউট স্ট্রাকচার কোয়ান্টিটেটিভ ব্যাকটেস্টিং কৌশল: এসএমসি নীতির উপর ভিত্তি করে মাল্টি-টাইম ফ্রেম ট্রেন্ড ক্যাপচার সিস্টেম

SMC BOS 结构突破 动态入场 趋势捕捉 风险管理 RR比率 量化回测 动态止损 智能货币概念
সৃষ্টির তারিখ: 2025-07-25 13:37:08 অবশেষে সংশোধন করুন: 2025-07-25 13:37:08
অনুলিপি: 0 ক্লিকের সংখ্যা: 309
2
ফোকাস
319
অনুসারী

গতিশীল ব্রেকআউট স্ট্রাকচার কোয়ান্টিটেটিভ ব্যাকটেস্টিং কৌশল: এসএমসি নীতির উপর ভিত্তি করে মাল্টি-টাইম ফ্রেম ট্রেন্ড ক্যাপচার সিস্টেম গতিশীল ব্রেকআউট স্ট্রাকচার কোয়ান্টিটেটিভ ব্যাকটেস্টিং কৌশল: এসএমসি নীতির উপর ভিত্তি করে মাল্টি-টাইম ফ্রেম ট্রেন্ড ক্যাপচার সিস্টেম

ওভারভিউ

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

কৌশল নীতি

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

  1. কাঠামোগত উচ্চতা এবং নিম্নতা সনাক্তকরণসিস্টেম ব্যবহারঃta.pivothighএবংta.pivotlowএকটি ফাংশন, যা ব্যবহারকারীর দ্বারা সংজ্ঞায়িত সংবেদনশীলতা পরামিতিগুলির উপর ভিত্তি করে দামের ওঠানামা করে উচ্চ এবং নিম্ন চিহ্নিত করে। এই উচ্চ এবং নিম্নগুলি বাজার কাঠামোর মৌলিক কাঠামো গঠন করে।

  2. কাঠামোগত ভাঙ্গন সনাক্তকরণ: যখন দাম একটি নতুন উচ্চ উচ্চতা তৈরি করে (যদিও পূর্ববর্তী উচ্চতা থেকে উচ্চতর) বা নিম্ন নিম্ন (যদিও পূর্ববর্তী নিম্নের চেয়ে কম) সিস্টেমটি একটি কাঠামোগত ব্রেকিং ইভেন্ট হিসাবে চিহ্নিত করে। অত্যধিক লেনদেন রোধ করার জন্য, কৌশলটি সর্বনিম্ন ব্যবধানের শর্ত নির্ধারণ করে।minGapBars), সাম্প্রতিক বিপর্যয়ের পর পর্যাপ্ত মূল্য বৃদ্ধি নিশ্চিত করা।

  3. ভর্তি নিশ্চিত করুনকাঠামোগত বিপর্যয়ের পরে, কৌশলটি গতিশীলতা নিশ্চিতকরণের জন্য অনুরোধ করে - মাল্টিহেড সংকেতটি খোলার দামের চেয়ে বেশি বন্ধের দামের প্রয়োজন ((উপরে) এবং খালি হেড সংকেতটি খোলার দামের চেয়ে কম বন্ধের দামের প্রয়োজন ((নিচে) । এই নিশ্চিতকরণ পদক্ষেপটি লেনদেনের নির্ভুলতা বাড়ায়।

  4. ঝুঁকি ব্যবস্থাপনা: প্রতিটি লেনদেনের জন্য একটি নির্দিষ্ট পয়েন্টের স্টপ লস সেট করুনslPips), এবং ব্যবহারকারীর সংজ্ঞায়িত রিস্ক-রিটার্ন অনুপাতের উপর ভিত্তি করে (rr) গতিশীলভাবে লাভের লক্ষ্যমাত্রা গণনা করা। উদাহরণস্বরূপ, 100 পয়েন্টের স্টপ লস এবং 2.0 এর রিস্ক-রিটার্ন অনুপাত সেট করা হলে 200 পয়েন্টের লাভের লক্ষ্যমাত্রা স্বয়ংক্রিয়ভাবে গণনা করা হবে।

  5. স্বয়ংক্রিয়ভাবেট্রেডিংভিউ ব্যবহার করেঃstrategy.entryএবংstrategy.exitফাংশন, যা নিশ্চিতকরণ সংকেত উপস্থিত হলে স্বয়ংক্রিয়ভাবে লেনদেন সম্পাদন করে এবং সংশ্লিষ্ট স্টপ লস এবং লাভের স্তর সেট করে।

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

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

গভীর বিশ্লেষণ কোড বাস্তবায়ন, কৌশল নিম্নলিখিত উল্লেখযোগ্য সুবিধা আছেঃ

  1. বাজারের কাঠামোর উপর ভিত্তি করে সঠিক প্রবেশ: কৌশলগুলি মূল কাঠামোগত ব্রেকপয়েন্টগুলি সনাক্ত করে একটি বড় প্রবণতার প্রাথমিক পর্যায়ে ক্যাপচার করতে সক্ষম হয়, যা একটি উচ্চ বিজয়ী প্রবেশের সুযোগ সরবরাহ করে। প্রচলিত সূচকের তুলনায় কাঠামোগত ব্রেকপয়েন্টগুলি প্রবণতা পরিবর্তনের প্রাথমিক সনাক্তকরণ করতে পারে।

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

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

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

  5. সময়ের ফ্রেমওয়ার্কের মধ্যে সামঞ্জস্যতা: যদিও 15 মিনিট, 1 ঘন্টা এবং 4 ঘন্টা চক্রের জন্য অপ্টিমাইজ করা হয়েছে, কৌশলগত যুক্তিটি যে কোনও কাঠামোর প্রতি শ্রদ্ধাশীল বাজার এবং সময় ফ্রেমে প্রযোজ্য, যা অত্যন্ত নমনীয়তা সরবরাহ করে।

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

  7. কোন পুনরায় চিত্রিত সংকেত: কৌশলটি নিশ্চিত মূল্যের আচরণের উপর ভিত্তি করে তৈরি করা হয়েছে, যা প্রচলিত সূচক পুনর্নির্মাণের সমস্যা এড়ায় এবং আরও নির্ভরযোগ্য ফলাফল প্রদান করে।

কৌশলগত ঝুঁকি

যদিও এই কৌশলটির অনেক সুবিধা রয়েছে, তবে নিম্নলিখিত সম্ভাব্য ঝুঁকিগুলি সম্পর্কে সতর্কতা অবলম্বন করা উচিতঃ

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

  2. সংবেদনশীলতা পরামিতি সংবেদনশীলতাsensitivityপ্যারামিটারটি খুব কম সেট করলে অনেক বেশি ট্রেডিং সিগন্যাল পাওয়া যায় এবং খুব বেশি সেট করলে গুরুত্বপূর্ণ টার্নিং পয়েন্টগুলি মিস করা যায়। ট্রেডারদের নির্দিষ্ট বাজার এবং সময় ফ্রেমের জন্য অপ্টিমাইজেশান টেস্টিং করতে হবে।

  3. স্থির ক্ষতির ঝুঁকি: স্থির পয়েন্ট স্টপ ব্যবহার করে পরিবর্তে অস্থিরতা বা কাঠামোর উপর ভিত্তি করে স্টপ করা, উচ্চ অস্থিরতার সময় স্টপ খুব সংকীর্ণ হতে পারে এবং নিম্ন অস্থিরতার সময় স্টপ খুব প্রশস্ত হতে পারে। একটি অভিযোজিত স্টপিং ব্যবস্থা বাস্তবায়নের বিষয়টি বিবেচনা করা এই ঝুঁকিটি হ্রাস করতে পারে।

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

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

  6. তহবিল ব্যবস্থাপনা ঝুঁকি: ডিফল্টরূপে স্থির তহবিলের শতাংশ (১০%) ব্যবহার করে পজিশন পরিচালনা করা হয়, যা সমস্ত অ্যাকাউন্টের আকার এবং ঝুঁকি সহনশীলতার জন্য উপযুক্ত নাও হতে পারে। ব্যবসায়ীরা এই পরামিতিটি ব্যক্তিগত পরিস্থিতি অনুসারে সামঞ্জস্য করতে হবে।

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

কোড বিশ্লেষণের উপর ভিত্তি করে, এই কৌশলটির কয়েকটি মূল অপ্টিমাইজেশান রয়েছেঃ

  1. যোগ করা হয়েছেসংমিশ্রিত ট্র্যাফিক বিশ্লেষণের মাধ্যমে ব্রেকথ্রু কার্যকারিতার বিচার উল্লেখযোগ্যভাবে উন্নত করা যেতে পারে। উচ্চ ট্র্যাফিক ভলিউম সহ ব্রেকথ্রু সাধারণত আরও নির্ভরযোগ্য হয়, কম ট্র্যাফিক ভলিউম একটি মিথ্যা ব্রেকথ্রু সংকেত হতে পারে। অতিরিক্ত প্রবেশের ফিল্টার হিসাবে একটি ট্র্যাফিক ভলিউম ব্রেকথ্রু থ্রেশহোল্ড যুক্ত করার বিষয়টি বিবেচনা করা যেতে পারে।

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

  3. স্বনির্ধারিত ঝুঁকি ব্যবস্থাপনা: বাজারের অস্থিরতার উপর ভিত্তি করে (এটিআর) গতিশীলভাবে স্টপ এবং লাভের লক্ষ্যগুলিকে সামঞ্জস্য করে, নির্দিষ্ট পয়েন্ট ব্যবহার করার পরিবর্তে, বিভিন্ন বাজার অবস্থার সাথে আরও ভালভাবে খাপ খাইয়ে নিতে পারে। উচ্চ অস্থিরতার সময় বৃহত্তর স্টপ ব্যবহার করুন এবং নিম্ন অস্থিরতার সময় সংকীর্ণ স্টপ ব্যবহার করুন।

  4. মাল্টিপল টাইম ফ্রেম বিশ্লেষণ যোগ করুন (MTF)ট্রেডিং ফিল্টার হিসেবে, শুধুমাত্র যখন বর্তমান সময় ফ্রেমটি উচ্চতর সময় ফ্রেমের ট্রেন্ডের সাথে সামঞ্জস্যপূর্ণ থাকে, তখনই ট্রেডিং করা যায়, যা কৌশলগত সাফল্যের হারকে উল্লেখযোগ্যভাবে উন্নত করে।

  5. মূল মূল্য অঞ্চল ব্যবহারসমর্থন/প্রতিরোধের অঞ্চল, তরল অঞ্চল বা ন্যায্য মূল্যের ফাঁক (FVG) চিহ্নিত করুন এবং সংহত করুন অতিরিক্ত নিশ্চিতকরণ ব্যবস্থা হিসাবে, এই মূল অঞ্চলগুলির কাছাকাছি কাঠামোগত ভাঙ্গন সংকেতকে অগ্রাধিকার দিন।

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

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

  8. ভর্তির সময়কে অনুকূলিত করুনবিবেচনা করুন যে আপনি যদি নিশ্চিত হয়ে থাকেন যে আপনি একটি স্ট্রাকচারাল ব্রেকথ্রু পেয়েছেন, তাহলে আপনি যদি আপনার মূল সমর্থন/প্রতিরোধের অবস্থানে ফিরে যাওয়ার জন্য অপেক্ষা করেন, তাহলে আপনি আরও ভাল প্রবেশের মূল্য এবং কম স্টপ-ড্র্যাপ পাবেন।

সারসংক্ষেপ

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

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

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

কৌশল সোর্স কোড
/*backtest
start: 2024-07-25 00:00:00
end: 2025-07-23 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("SMC BOS Strategy for XAUUSD", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === USER INPUTS ===
sensitivity     = input.int(3, minval=1, title="Swing Sensitivity")
minGapBars      = input.int(10, title="Minimum Bars Between BOS")
rr              = input.float(2.0, title="Risk/Reward Ratio")
slPips          = input.float(100.0, title="Stop Loss (in pips)")

// === SWING HIGH/LOW DETECTION ===
swingHigh       = ta.pivothigh(high, sensitivity, sensitivity)
swingLow        = ta.pivotlow(low, sensitivity, sensitivity)

// === STRUCTURE STATE ===
var float lastHigh     = na
var float lastLow      = na
var int   lastBOSBar   = na

bosLong         = false
bosShort        = false

// === BOS LOGIC ===
if not na(swingHigh)
    bosShort := high > nz(lastHigh) and (na(lastBOSBar) or bar_index - lastBOSBar > minGapBars)
    if bosShort
        lastBOSBar := bar_index
    lastHigh := high

if not na(swingLow)
    bosLong := low < nz(lastLow) and (na(lastBOSBar) or bar_index - lastBOSBar > minGapBars)
    if bosLong
        lastBOSBar := bar_index
    lastLow := low

// === ENTRY CONDITIONS ===
longSignal      = bosLong and close > open
shortSignal     = bosShort and close < open

// === TP / SL SETTINGS ===
slTicks         = slPips * syminfo.mintick
tpTicks         = slTicks * rr

// === STRATEGY EXECUTION ===
if longSignal
    strategy.entry("Buy", strategy.long)
    strategy.exit("TP/SL", from_entry="Buy", stop=close - slTicks, limit=close + tpTicks)

if shortSignal
    strategy.entry("Sell", strategy.short)
    strategy.exit("TP/SL", from_entry="Sell", stop=close + slTicks, limit=close - tpTicks)

// === LABEL PLOTS ===
plotshape(bosLong, title="BOS Long", location=location.belowbar, style=shape.labelup, color=color.green, text="BOS", textcolor=color.white)
plotshape(bosShort, title="BOS Short", location=location.abovebar, style=shape.labeldown, color=color.red, text="BOS", textcolor=color.white)