হাই টাইম জোন EMA ট্রেন্ড হাইকেন অ্যাশবোলিঙ্গার ব্যান্ড মানে রিভার্সন কৌশল

EMA BB HA HTF 均值回归 趋势跟踪 波动率 止损策略
সৃষ্টির তারিখ: 2025-08-11 11:03:23 অবশেষে সংশোধন করুন: 2025-08-11 11:03:23
অনুলিপি: 0 ক্লিকের সংখ্যা: 256
2
ফোকাস
319
অনুসারী

হাই টাইম জোন EMA ট্রেন্ড হাইকেন অ্যাশবোলিঙ্গার ব্যান্ড মানে রিভার্সন কৌশল হাই টাইম জোন EMA ট্রেন্ড হাইকেন অ্যাশবোলিঙ্গার ব্যান্ড মানে রিভার্সন কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি নিম্নলিখিত মূল প্রযুক্তিগত উপাদানগুলির উপর ভিত্তি করে তৈরি করা হয়েছেঃ

  1. হাইকেন-আহিচান্ট গণনা: একটি বিশেষ গণনা পদ্ধতির মাধ্যমে (((প্রারম্ভিক মূল্য + সর্বোচ্চ মূল্য + সর্বনিম্ন মূল্য + সমাপ্তি মূল্য) / 4) একটি মসৃণ মূল্য আন্দোলন তৈরি করুন, বাজারের শব্দ হ্রাস করুন এবং প্রবণতা দিকটি আরও স্পষ্টভাবে প্রদর্শন করুন।

  2. ব্রিন ব্যান্ড অ্যাপ্লিকেশন: হেইকেন-আশির দামের উপর বুলিন-ব্যান্ড প্রয়োগ করা হয়েছে, যা গতিশীল সমর্থন এবং প্রতিরোধের অঞ্চল তৈরি করে। বুলিন-ব্যান্ডের প্যারামিটারটি ডিফল্টভাবে 20 টি চক্রের দৈর্ঘ্য এবং 2 গুণ স্ট্যান্ডার্ড ডিভেরিয়েন্ট, যা বাজারের বৈশিষ্ট্য অনুসারে সামঞ্জস্য করা যেতে পারে।

  3. উচ্চ সময়সীমার EMA ট্রেন্ড নিশ্চিত

  4. সংকেত উৎপন্ন করার প্রক্রিয়া:

    • ক্রয় সংকেত: যখন উচ্চ সময়সীমা ঊর্ধ্বমুখী প্রবণতা ((দ্রুত ইএমএ> ধীর ইএমএ) এবং 2-3 টি ধারাবাহিক লাল হেকান এশিয়া স্পর্শ করে বা বুলিন বন্ডের নীচে ভেঙে যায়, তারপরে একটি সবুজ নিশ্চিতকরণ টগল ((ক্লোজিং মূল্য> খোলার মূল্য) এবং যখন বন্ধের দাম বুলিন বন্ডের অভ্যন্তরে ফিরে আসে, তখন ক্রয় সংকেত ট্রিগার করে।
    • বিক্রয় সংকেত: যখন উচ্চ সময়সীমা একটি নিম্নমুখী প্রবণতা ((দ্রুত EMA < ধীর EMA) হয় এবং 2-3 টি ধারাবাহিক সবুজ হেকান এশিয়া স্পর্শ বা বুলিন বন্ডের উপরে বিচ্ছিন্ন হয়, তারপরে একটি লাল নিশ্চিতকরণ ট্যাগ ((প্রাপ্য মূল্য < প্রাপ্য মূল্য) এবং প্রাপ্য মূল্যটি বুলিন বন্ডের অভ্যন্তরে ফিরে আসে, তখন বিক্রয় সংকেত ট্রিগার করে।
  5. ঝুঁকি ব্যবস্থাপনা কাঠামো:

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

এই কৌশলটি মূলত একটি “অনুসারে রিটার্ন + ট্রেন্ড অনুসরণ” মিশ্র কৌশল যা স্বল্পমেয়াদে দামের বিচ্যুতির পরে রিটার্নের সুযোগগুলি সন্ধান করে এবং নিশ্চিত করে যে এই লেনদেনগুলি সামগ্রিক প্রবণতার দিকনির্দেশের সাথে সামঞ্জস্যপূর্ণ higher উচ্চতর সময়কালের জন্য, যার ফলে সাফল্যের হার বৃদ্ধি পায়।

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

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

  2. চলমান লেনদেন নকশা: উচ্চ সময় অঞ্চল EMA ক্রস দ্বারা সামগ্রিক বাজার প্রবণতা নিশ্চিত করুন, নিশ্চিত করুন যে সমস্ত লেনদেন মূল প্রবণতার দিকনির্দেশনা মেনে চলে এবং বিপরীতমুখী লেনদেনের উচ্চ ঝুঁকি এড়ানো যায়।

  3. গড় মান রিগ্রেশন নীতির প্রয়োগ

  4. মসৃণ দাম গোলমাল: হেইকেন-আশিক চার্ট প্রযুক্তি কার্যকরভাবে বাজার শব্দ হ্রাস করে, ট্রেন্ডের দিকনির্দেশ এবং সম্ভাব্য বিপরীত দিকগুলি আরও স্পষ্টভাবে দৃশ্যমান করে, বাজার শব্দ দ্বারা সৃষ্ট ভুল লেনদেন হ্রাস করে।

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

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

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

কৌশলগত ঝুঁকি

  1. গড় মানের প্রত্যাবর্তন ব্যর্থতার ঝুঁকি: একটি শক্তিশালী প্রবণতা বাজারে, দামগুলি পুনরায় গড়ের কাছাকাছি চলে যেতে পারে, যার ফলে ধারাবাহিক ক্ষতিগ্রস্থ লেনদেন হয়। এই ঝুঁকিটি মূলত বাজারের কাঠামোর পরিবর্তন (যেমন একটি বড় সংবাদ ইভেন্ট) এর সময় স্পষ্ট হয়।

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

    • সমাধানঃ বিভিন্ন বাজার অবস্থার অধীনে প্যারামিটার সমন্বয় পুনরায় পরীক্ষা করে সবচেয়ে স্থিতিশীল প্যারামিটার সেটিং খুঁজে বের করা বা স্বনির্ধারিত প্যারামিটার সমন্বয় প্রক্রিয়া প্রয়োগ করা।
  3. স্লাইড পয়েন্ট এবং বাস্তবায়ন ঝুঁকি

    • সমাধানঃ স্টপ বাফার জোন বাড়ান, অথবা এটিআর (অর্ধ-সত্যিকারের পরিসীমা) ভিত্তিক গতিশীল স্টপ দূরত্ব ব্যবহার করুন।
  4. ঐতিহাসিক মডেলের উপর নির্ভরশীলকৌশলগত অনুমানঃ ঐতিহাসিকভাবে কার্যকরী মূল্য ব্যবস্থা ভবিষ্যতেও কার্যকরী থাকবে, কিন্তু বাজারের অবস্থা পরিবর্তিত হতে পারে।

    • সমাধানঃ নিয়মিতভাবে কৌশলটির কার্যকারিতা মূল্যায়ন করুন, বাজার পরিস্থিতি পরিবর্তিত হলে সময়মতো প্যারামিটারগুলি সামঞ্জস্য করুন বা লেনদেন স্থগিত করুন।
  5. অতিরিক্ত লেনদেনের ঝুঁকিএই কৌশলটি খুব বেশি সংকেত তৈরি করতে পারে, যার ফলে ঘন ঘন লেনদেন এবং কমিশন ক্ষয় হয়।

    • সমাধানঃ কম মানের লেনদেন কমানোর জন্য লেনদেনের ফিল্টারিং শর্ত যেমন ন্যূনতম সময়সীমা বা দৃঢ়তা নিশ্চিতকরণ যুক্ত করুন।
  6. একক বাজার নির্ভরতাএকটি কৌশল নির্দিষ্ট বাজার পরিস্থিতিতে ভাল কাজ করতে পারে কিন্তু অন্য পরিস্থিতিতে ভাল কাজ করতে পারে না।

    • সমাধানঃ বিভিন্ন বাজার এবং সময় ফ্রেমে কৌশল পরীক্ষা করা, প্রযোজ্য শর্তগুলির একটি পরিষ্কার সংজ্ঞা স্থাপন করা বা একাধিক কৌশল সমন্বয় সিস্টেম বিকাশ করা।

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

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

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

  3. স্টপ লস কৌশল উন্নত করুন: বর্তমানের স্থির স্টপগুলিকে এটিআর (অর্ধ-সত্যিকারের ব্যাপ্তি) ভিত্তিক গতিশীল স্টপগুলিতে রূপান্তর করা যেতে পারে, যা বাজারের প্রকৃত অস্থিরতাকে আরও ভালভাবে প্রতিফলিত করে। উপরন্তু, মূল্য কাঠামোর উপর ভিত্তি করে স্মার্ট স্টপগুলি (যেমন সাম্প্রতিক সমর্থন / প্রতিরোধের স্থান) বাস্তবায়িত হতে পারে।

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

  5. মাল্টিটাইম ফ্রেমওয়ার্ক সমন্বয়ইএমএ ট্রেন্ড কনফার্মেশনঃ বর্তমানে ব্যবহৃত উচ্চ সময় অঞ্চল ইএমএ ট্রেন্ড কনফার্মেশন ছাড়াও, আরও সময় ফ্রেমের কনফার্মেশন যুক্ত করা যেতে পারে, মাল্টি-টাইম ফ্রেম সমন্বয় সিস্টেম তৈরি করতে পারে, যা প্রবেশের গুণমানকে আরও উন্নত করে।

  6. লেনদেনের পরিমাণ বিশ্লেষণ

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

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

সারসংক্ষেপ

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

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

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

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

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

//@version=6
strategy("EMATREND+HEIKENASHIENTRY", overlay=true, process_orders_on_close=true)

// === INPUT PARAMETERS ===
// Bollinger Bands Parameters
bbLength = input.int(20, title="Bollinger Bands Length", minval=1)
bbStdDev = input.float(2.0, title="Bollinger Bands Standard Deviation", minval=0.1, step=0.1)

// REPLACED SuperTrend with EMA Crossover Parameters
fastLength = input.int(9, title="Fast EMA Period", minval=1)
slowLength = input.int(21, title="Slow EMA Period", minval=1)
htf = input.timeframe("180", title="Higher Timeframe")

// === HEIKIN-ASHI CALCULATION ===
var float haOpen = na
haClose = (open + high + low + close) / 4
haOpen := na(haOpen[1]) ? (open + close) / 2 : (haOpen[1] + haClose[1]) / 2
haHigh = math.max(high, haOpen, haClose)
haLow = math.min(low, haOpen, haClose)

// === BOLLINGER BANDS ON HEIKIN-ASHI ===
basis = ta.sma(haClose, bbLength)
dev = bbStdDev * ta.stdev(haClose, bbLength)
upperBB = basis + dev
lowerBB = basis - dev

// === REPLACED SuperTrend with EMA Crossover Trend Detection ===
// Get HTF EMAs
htf_fast_ema = request.security(syminfo.tickerid, htf, ta.ema(close, fastLength), lookahead=barmerge.lookahead_off)
htf_slow_ema = request.security(syminfo.tickerid, htf, ta.ema(close, slowLength), lookahead=barmerge.lookahead_off)

// Determine trend direction
isBullishHTF = htf_fast_ema > htf_slow_ema
isBearishHTF = htf_fast_ema < htf_slow_ema

// === SIGNAL GENERATION ===
// Buy Conditions
redCandle1 = haClose[1] < haOpen[1] and (haLow[1] <= lowerBB[1] or haClose[1] <= lowerBB[1])
redCandle2 = haClose[2] < haOpen[2] and (haLow[2] <= lowerBB[2] or haClose[2] <= lowerBB[2])
redCandle3 = haClose[3] < haOpen[3] and (haLow[3] <= lowerBB[3] or haClose[3] <= lowerBB[3])
consecutiveBears = (redCandle1 and redCandle2) or (redCandle1 and redCandle2 and redCandle3)
greenConfirmation = haClose > haOpen
aboveBB = haClose > lowerBB
buySignal = isBullishHTF and consecutiveBears and greenConfirmation and aboveBB

// Sell Conditions
greenCandle1 = haClose[1] > haOpen[1] and (haHigh[1] >= upperBB[1] or haClose[1] >= upperBB[1])
greenCandle2 = haClose[2] > haOpen[2] and (haHigh[2] >= upperBB[2] or haClose[2] >= upperBB[2])
greenCandle3 = haClose[3] > haOpen[3] and (haHigh[3] >= upperBB[3] or haClose[3] >= upperBB[3])
consecutiveBulls = (greenCandle1 and greenCandle2) or (greenCandle1 and greenCandle2 and greenCandle3)
redConfirmation = haClose < haOpen
belowBB = haClose < upperBB
sellSignal = isBearishHTF and consecutiveBulls and redConfirmation and belowBB

// === RISK MANAGEMENT ===
var float entryPrice = na
var float initialStop = na
var float firstTarget = na
var bool firstTargetReached = false
var float trailStop = na

// Enter Long Positions
if buySignal
    entryPrice := close
    initialStop := low[1]
    firstTarget := entryPrice + (entryPrice - initialStop)
    firstTargetReached := false
    trailStop := na
    strategy.entry("Long", strategy.long)

// Enter Short Positions
if sellSignal
    entryPrice := close
    initialStop := high[1]
    firstTarget := entryPrice - (initialStop - entryPrice)
    firstTargetReached := false
    trailStop := na
    strategy.entry("Short", strategy.short)

// Manage Long Positions
if strategy.position_size > 0
    if not firstTargetReached
        if high >= firstTarget
            strategy.close("Long", qty_percent=50)
            firstTargetReached := true
            trailStop := entryPrice
    else
        trailStop := math.max(trailStop, low[1])
    
    currentStop = firstTargetReached ? trailStop : initialStop
    if low <= currentStop
        strategy.close("Long")

// Manage Short Positions
if strategy.position_size < 0
    if not firstTargetReached
        if low <= firstTarget
            strategy.close("Short", qty_percent=50)
            firstTargetReached := true
            trailStop := entryPrice
    else
        trailStop := math.min(trailStop, high[1])
    
    currentStop = firstTargetReached ? trailStop : initialStop
    if high >= currentStop
        strategy.close("Short")

// === VISUALIZATION ===
plot(upperBB, color=color.blue, title="Upper BB")
plot(basis, color=color.blue, title="Basis")
plot(lowerBB, color=color.blue, title="Lower BB")

plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")

bgcolor(buySignal ? color.new(color.green, 90) : sellSignal ? color.new(color.red, 90) : na)

// === ALERT CONDITIONS ===
alertcondition(buySignal, title="EMATREND+HEIKENASHIENTRY Buy Alert", message="Buy Signal Triggered - EMATREND+HEIKENASHIENTRY")
alertcondition(sellSignal, title="EMATREND+HEIKENASHIENTRY Sell Alert", message="Sell Signal Triggered - EMATREND+HEIKENASHIENTRY")