বহু-সূচক সংশ্লেষণ বহু-মাত্রিক সিদ্ধান্ত গ্রহণের ট্রেডিং সিস্টেম — RSI, MACD, বলিঙ্গার ব্যান্ড, ভলিউম এবং প্রবণতার উপর ভিত্তি করে পরিমাণগত কৌশল

RSI MACD BB SMA VOLUME
সৃষ্টির তারিখ: 2025-02-27 09:41:04 অবশেষে সংশোধন করুন: 2025-02-27 09:41:04
অনুলিপি: 0 ক্লিকের সংখ্যা: 736
2
ফোকাস
319
অনুসারী

বহু-সূচক সংশ্লেষণ বহু-মাত্রিক সিদ্ধান্ত গ্রহণের ট্রেডিং সিস্টেম — RSI, MACD, বলিঙ্গার ব্যান্ড, ভলিউম এবং প্রবণতার উপর ভিত্তি করে পরিমাণগত কৌশল বহু-সূচক সংশ্লেষণ বহু-মাত্রিক সিদ্ধান্ত গ্রহণের ট্রেডিং সিস্টেম — RSI, MACD, বলিঙ্গার ব্যান্ড, ভলিউম এবং প্রবণতার উপর ভিত্তি করে পরিমাণগত কৌশল

ওভারভিউ

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

কৌশল নীতি

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

  1. সূচক গণনাএই কৌশলটি মূলত পাঁচটি মূল সূচকের উপর ভিত্তি করে গঠিতঃ

    • RSI ((Relative Strength to Weakness Index): মূল্যের গতিবিধি মূল্যায়ন করার জন্য ১৮টি চক্রের সেটিং ব্যবহার করে
    • MACD ((Moving Average Convergence Spread): 12/26/9 চক্রের সমন্বয় ব্যবহার করে প্রবণতার পরিবর্তনগুলি সনাক্ত করুন
    • ব্রিন বন্ডঃ মূল্যের অস্থিরতা মূল্যায়ন করতে ২০টি চক্রের সাথে ২.৫ গুণ স্ট্যান্ডার্ড ডিফেন্স সেটআপ ব্যবহার করে
    • লেনদেনের পরিমাণঃ লেনদেনের সক্রিয়তার মূল্যায়ন, 20 চক্রের গড়ের বিপরীতে
    • মূল্য প্রবণতাঃ মধ্যমেয়াদী প্রবণতা দিকটি 50 চক্রের গড় লাইন দ্বারা বিচার করা হয়
  2. সংকেত শর্ত সংজ্ঞা: প্রতিটি সূচকের জন্য পজিটিভ ও বিপরীতমুখী শর্ত নির্ধারণ করুনঃ

    • RSI: ৩০ এর নিচে বাজি, ৭০ এর ওপরে বাজি
    • MACD: MACD লাইনটি সিগন্যাল লাইনের চেয়ে উর্ধ্বমুখী, বিপরীতভাবে পতনশীল
    • বুলিন বন্ডঃ বুলিন বন্ডের মধ্যে দাম উর্ধ্বমুখী, নীচের ট্র্যাকের নীচে দাম নিম্নমুখী
    • লেনদেনের পরিমাণঃ 20 দিনের গড়ের চেয়ে বেশি মুনাফা, মুনাফা হ্রাসের চেয়ে কম
    • দামের প্রবণতাঃ ৫০ দিনের গড়ের উপরে বিজোড়, নীচে বিজোড়
  3. মাল্টি-ইনডিকেটর সিনথেসিস: কোডটি পজিশন এবং পজিশন সংকেতের সংখ্যা গণনা করে, যখন কমপক্ষে 3 টি সূচক পজিশন দেখায় তখন একটি মাল্টি-ডাইমেনশনাল ক্রয় সংকেত তৈরি হয়, যখন কমপক্ষে 3 টি সূচক পজিশন দেখায় তখন একটি মাল্টি-ডাইমেনশনাল বিক্রয় সংকেত তৈরি হয়।

  4. লেনদেন: ক্রয় শর্ত পূরণ হলে মাল্টি হেড পজিশনে প্রবেশ করুন, বিক্রয় শর্ত পূরণ হলে খালি হেড পজিশনে প্রবেশ করুন।

এই কৌশলটির সুবিধা হল যে এটি একটি একক সূচকের উপর নির্ভর করে না, বরং একাধিক সূচককে একসাথে নিশ্চিত করার জন্য অনুরোধ করে, এই “বহুসংখ্যক ভোট” প্রক্রিয়াটি ভুল সিদ্ধান্তের সম্ভাবনাকে হ্রাস করে।

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

কোডটি গভীরভাবে বিশ্লেষণ করলে, এই কৌশলটির উল্লেখযোগ্য সুবিধাগুলি তুলে ধরা যায়ঃ

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

  2. নমনীয়তা: গতিশীলতা সূচক (আরএসআই), প্রবণতা সূচক (এমএসিডি, গড়) এবং অস্থিরতা সূচক (ব্রিন বন্ড) এর সমন্বয়ে, কৌশলটি প্রবণতা বাজার এবং ঝড়ের বাজার সহ বিভিন্ন বাজারের পরিবেশের সাথে খাপ খাইয়ে নিতে পারে।

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

  4. তথ্যের স্বচ্ছতা: স্ট্যাটাস টেবিল ফাংশনটি ব্যবসায়ীদের প্রতিটি সূচকের বর্তমান অবস্থা এক নজরে দেখতে দেয়, কৌশলটির ব্যাখ্যাযোগ্যতা এবং ব্যবহারকারীর বিশ্বাসযোগ্যতা বাড়ায়।

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

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

  7. ফান্ড ম্যানেজমেন্ট ইন্টিগ্রেশনকৌশলঃ প্রতি লেনদেনের জন্য অ্যাকাউন্টের ১৫% তহবিল ব্যবহার করে এবং ০.০৭৫% লেনদেনের খরচ বিবেচনা করে, যা সম্পূর্ণ লেনদেনের সিস্টেমের নকশার ধারণাকে প্রতিফলিত করে।

কৌশলগত ঝুঁকি

যদিও এই কৌশলটি স্থিতিশীলতা বৃদ্ধির জন্য একাধিক সূচককে একত্রিত করেছে, তবুও নিম্নলিখিত সম্ভাব্য ঝুঁকি রয়েছেঃ

  1. পরামিতি সংবেদনশীলতা: প্রতিটি সূচকের প্যারামিটার সেটিং (যেমন আরএসআই দৈর্ঘ্য, বুলিন বন্ডের গুণিতক ইত্যাদি) কৌশলগত পারফরম্যান্সের উপর উল্লেখযোগ্য প্রভাব ফেলে। অনুপযুক্ত প্যারামিটারগুলি অত্যধিক ট্রেডিং বা গুরুত্বপূর্ণ সংকেত মিস করতে পারে। সমাধানটি হ’ল একটি নির্দিষ্ট বাজারের জন্য সর্বোত্তম প্যারামিটার সংমিশ্রণটি খুঁজে বের করার জন্য পুনরাবৃত্তি অপ্টিমাইজেশন করা।

  2. সূচকগুলির মধ্যে সম্পর্ক: কিছু সূচকের মধ্যে উচ্চতর সম্পর্ক থাকতে পারে (যেমন MACD এবং মূল্য প্রবণতা), যা সিগন্যালের পুনরাবৃত্তি হতে পারে, মাল্টি-ডিমেনশনাল বিশ্লেষণের কার্যকারিতা হ্রাস করে। সমাধানটি হ’ল তুলনামূলকভাবে কম সম্পর্কযুক্ত বিকল্প সূচক যেমন তুলনামূলকভাবে ওঠানামা সূচক বা তহবিল প্রবাহ সূচক।

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

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

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

  6. ডেটা পিছিয়ে পড়া: বেশিরভাগ প্রযুক্তিগত সূচকগুলি পিছিয়ে পড়া সূচক, যার ফলে প্রবেশের পয়েন্টটি অনুপযুক্ত হতে পারে। সমাধানটি হ’ল কিছু নেতৃস্থানীয় সূচক বা মূল্য আচরণের বিশ্লেষণ যুক্ত করা, বাজার টার্নপয়েন্টগুলিকে অগ্রিমভাবে ধরা।

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

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

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

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

  3. সময়সীমা সমন্বয়: মাল্টি-টাইম ফ্রেম বিশ্লেষণের প্রবর্তন, যার ফলে স্বল্প ও দীর্ঘমেয়াদী সময়ের ফ্রেমের সংকেত একমত হলেই লেনদেন করা হয়। এই অপ্টিমাইজেশানটি আরও বেশি গোলমাল সংকেতগুলিকে ফিল্টার করতে এবং আরও নির্ভরযোগ্য প্রবণতা পরিবর্তনগুলি ধরতে সক্ষম করে।

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

  5. বাজার পরিবেশের শ্রেণীবিভাগ: বাজার পরিবেশে সনাক্তকরণ মডিউল যুক্ত করুন, বিভিন্ন ধরণের বাজারে বিভিন্ন ট্রেডিং লজিক বা প্যারামিটার সেটিং ব্যবহার করুন (প্রবণতা, কম্পন, সহিংসতা) যা অপ্রয়োজনীয় বাজার পরিবেশে লেনদেনের ঝুঁকি হ্রাস করবে।

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

  7. অতিরিক্ত পরিস্রাবণ

সারসংক্ষেপ

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

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

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

কৌশল সোর্স কোড
/*backtest
start: 2024-03-15 18:40:00
end: 2024-12-21 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("3/5 Indicator Strategy with Table", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15, commission_type=strategy.commission.percent, commission_value=0.075)

// —————— Input Parameters —————— //
rsiLength = input.int(18, "RSI Length", minval=1)
macdFast = input.int(12, "MACD Fast", minval=1)
macdSlow = input.int(26, "MACD Slow", minval=1)
macdSignal = input.int(9, "MACD Signal", minval=1)
bbLength = input.int(20, "BB Length", minval=1)
bbMult = input.float(2.5, "BB Multiplier", minval=0.1)

// —————— Indicator Calculations ——————
// Bollinger Bands
bbBasis = ta.sma(close, bbLength)
dev = bbMult * ta.stdev(close, bbLength)
upperBB = bbBasis + dev
lowerBB = bbBasis - dev

// MACD
[macdLine, signalLine, histLine] = ta.macd(close, macdFast, macdSlow, macdSignal)

// RSI
rsi = ta.rsi(close, rsiLength)

// —————— Indicator Conditions ——————
rsiBullish = rsi < 30
rsiBearish = rsi > 70

macdBullish = macdLine > signalLine
macdBearish = macdLine < signalLine

bbBullish = close > lowerBB and close < upperBB
bbBearish = close < lowerBB

volumeBullish = volume > ta.sma(volume, 20)
volumeBearish = volume < ta.sma(volume, 20)

priceTrendBullish = close > ta.sma(close, 50)
priceTrendBearish = close < ta.sma(close, 50)

// —————— Signal Logic ——————
bullishSignals = ( (rsiBullish ? 1 : 0) + (macdBullish ? 1 : 0) + (bbBullish ? 1 : 0) + (volumeBullish ? 1 : 0) + (priceTrendBullish ? 1 : 0))

bearishSignals = ( (rsiBearish ? 1 : 0) + (macdBearish ? 1 : 0) + (bbBearish ? 1 : 0) + (volumeBearish ? 1 : 0) + (priceTrendBearish ? 1 : 0))

longCondition = bullishSignals >= 3
shortCondition = bearishSignals >= 3

// —————— Status Table ——————
var table statusTable = table.new(position.top_right, 2, 6, border_width=1)
if barstate.islastconfirmedhistory
    // Clear previous data
    table.cell(statusTable, 0, 0, "Indicator", text_size=size.small, bgcolor=color.gray)
    table.cell(statusTable, 1, 0, "Status", text_size=size.small, bgcolor=color.gray)
    
    // RSI Status
    table.cell(statusTable, 0, 1, "RSI", text_size=size.small)
    table.cell(statusTable, 1, 1, rsiBullish ? "Bullish" : "Bearish", 
              text_color=rsiBullish ? color.green : color.red, text_size=size.small)
    
    // MACD Status
    table.cell(statusTable, 0, 2, "MACD", text_size=size.small)
    table.cell(statusTable, 1, 2, macdBullish ? "Bullish" : "Bearish", 
              text_color=macdBullish ? color.green : color.red, text_size=size.small)
    
    // Bollinger Bands Status
    table.cell(statusTable, 0, 3, "BBands", text_size=size.small)
    table.cell(statusTable, 1, 3, bbBullish ? "Bullish" : "Bearish", 
              text_color=bbBullish ? color.green : color.red, text_size=size.small)
    
    // Volume Status
    table.cell(statusTable, 0, 4, "Volume", text_size=size.small)
    table.cell(statusTable, 1, 4, volumeBullish ? "Bullish" : "Bearish", 
              text_color=volumeBullish ? color.green : color.red, text_size=size.small)
    
    // Trend Status
    table.cell(statusTable, 0, 5, "Trend", text_size=size.small)
    table.cell(statusTable, 1, 5, priceTrendBullish ? "Bullish" : "Bearish", 
              text_color=priceTrendBullish ? color.green : color.red, text_size=size.small)

// —————— Strategy Execution ——————
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// —————— Simplified Plots ——————
plot(bbBasis, "BB Basis", #2962FF)
plot(upperBB, "BB Upper", color.red)
plot(lowerBB, "BB Lower", color.green)
plot(ta.sma(close, 50), "50 SMA", color.orange)

// —————— Signal Markers ——————
plotshape(longCondition, "Buy", shape.labelup, location.belowbar, color=color.new(color.green, 0), text="BUY", textcolor=color.white)
plotshape(shortCondition, "Sell", shape.labeldown, location.abovebar, color=color.new(color.red, 0), text="SELL", textcolor=color.white)