গতিশীল ফিবোনাচ্চি ট্রেন্ড নিশ্চিতকরণ ক্রসওভার ইঞ্জিন পরিমাণগত কৌশল

EMA MA FIBONACCI McGinley Dynamic Trend TP SL
সৃষ্টির তারিখ: 2025-05-14 16:37:16 অবশেষে সংশোধন করুন: 2025-05-14 16:37:16
অনুলিপি: 0 ক্লিকের সংখ্যা: 309
2
ফোকাস
319
অনুসারী

গতিশীল ফিবোনাচ্চি ট্রেন্ড নিশ্চিতকরণ ক্রসওভার ইঞ্জিন পরিমাণগত কৌশল গতিশীল ফিবোনাচ্চি ট্রেন্ড নিশ্চিতকরণ ক্রসওভার ইঞ্জিন পরিমাণগত কৌশল

ওভারভিউ

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

কৌশল নীতি

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

  1. প্রবণতা সনাক্তকরণ ব্যবস্থাকৌশলটি একটি স্থির 160 টি স্ট্রিং ব্যবহার করে ম্যাক্রো ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করে। ১৪৪০ মিনিটের (দিনের) সময় ফ্রেমের মধ্যে ওপেন এবং ক্লোজিং মূল্যের ধারাবাহিক তুলনা করে, বাউন্স ট্রেন্ড এবং ডাউন ট্রেন্ডের ধারাবাহিকতা গণনা করে, যাতে বাজারটি একটি স্পষ্ট উত্থান, পতনশীল বা অস্থির অবস্থায় রয়েছে তা নির্ধারণ করা যায়।

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

  3. ফিবোনাচি হরফ ডায়নামিক অ্যাডজাস্টমেন্ট০.০, ৩৮.২%, ৫০%, ৬১.৮%, ৭৮.৬%, ১০০% এবং প্রসারিত-৬১.৮% এবং ১৬১.৮% এর উপর ভিত্তি করে সর্বোচ্চ এবং সর্বনিম্ন মূল্যের উপর ভিত্তি করে কৌশলগত হিসাব করা হয়েছে, যা মূল্য আচরণের বিশ্লেষণের জন্য একটি রেফারেন্স ফ্রেমওয়ার্ক প্রদান করে।

  4. ম্যাকগিনলি ডায়নামিক ইনডেক্স: এই সূচকটি একটি উন্নত চলমান গড় যা প্রবণতার দিকনির্দেশনা এবং শক্তি নিশ্চিত করতে সহায়তা করে, একটি নিয়ন্ত্রিত আলফা প্যারামিটার (ডিফল্ট 0.7) দ্বারা আরও সংবেদনশীল মূল্য ট্র্যাকিং ক্ষমতা সরবরাহ করে।

  5. চলমান গড় ক্রসওভার সিস্টেম: ৩২-চক্রের সূচকীয় চলমান গড় (ইএমএ) এবং ৬৪-চক্রের সরল চলমান গড় (এমএ) সংযুক্ত ক্রসপয়েন্টগুলি সম্ভাব্য লাভের জন্য একটি বন্ধ বা বিপরীত সংকেত হিসাবে কাজ করে।

  6. ভর্তি এবং ব্যবস্থাপনা

    • যখন আপনি দেখেন যে আপনার মুদ্রাস্ফীতির প্রবণতাটি 16 এর বেশি নয়, তখন আপনি আরও বেশি পজিশন খুলতে পারেন।
    • যখন উচ্চতা পূর্বের উচ্চতা অতিক্রম করে, তখন মাল্টি-হেড পজিশন বাড়ান।
    • যখন নিম্নমুখী প্রবণতা 32 এর বেশি না হয় এবং একটি পতনশীল গ্রাসকারী ফর্ম দেখা দেয়, তখন স্টপস্টপ বা স্টপ লস এট্রিবিউট ট্রিগার করুন।
    • বিপরীত দিক থেকে, বিপরীত দিকের সংকেতগুলি একই রকম কাজ করে।
  7. ঝুঁকি ব্যবস্থাপনা: কৌশলটি শতকরা স্টপ-অফ এবং স্টপ-লস লেভেল সেট করে (ডিফল্টটি 10%), প্রবেশের দামের গতিশীলতার উপর ভিত্তি করে পরম মূল্যের স্তর গণনা করে।

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

  1. মাল্টি-লেভেল নিশ্চিতকরণ ব্যবস্থাট্রেন্ড অ্যানালাইসিস, ক্যাডেমোলজি এবং টেকনিক্যাল ইন্ডিকেটর এর সমন্বয়ে এই কৌশলটি একটি মাল্টি-লেভেল সিগন্যাল কনফার্মেশন সিস্টেম তৈরি করেছে, যা ভুয়া সংকেতের সম্ভাবনাকে উল্লেখযোগ্যভাবে কমিয়ে দিয়েছে।

  2. বাজারের কাঠামোর সাথে খাপ খাইয়ে নেওয়া: কৌশলগুলি কেবলমাত্র নির্দিষ্ট প্রবণতার সময়সীমা বিবেচনা করে না, বরং ব্যবহারকারীদের কাস্টমাইজড স্তরের বিশ্লেষণের সময়সীমাও দেয়, যা কৌশলগুলির বিভিন্ন বাজার চক্রের সাথে খাপ খাইয়ে নেওয়ার ক্ষমতা বাড়ায়।

  3. গতিশীল রেফারেন্স পয়েন্ট: ম্যাকগিনলে ডায়নামিক ইনডেক্স এবং ফিবোনাচি লেভেলের সমন্বয়ে, কৌশলটি আরও নমনীয় রেফারেন্স পয়েন্ট সরবরাহ করে যা বাজারের অস্থিরতা এবং অ-রৈখিক বৈশিষ্ট্যগুলির সাথে আরও ভালভাবে খাপ খায়।

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

  5. সমন্বিত বহির্গমন কৌশল: প্রযুক্তিগত সূচক ক্রস এবং স্থির শতাংশ স্টপ/লস পয়েন্টের সাথে মিলিত, কৌশলটি একটি বিস্তৃত প্রস্থান কাঠামো তৈরি করে যা মুনাফা লক করার এবং ঝুঁকি নিয়ন্ত্রণের প্রয়োজনকে ভারসাম্য করে।

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

  7. নমনীয় প্যারামিটার সমন্বয়: ম্যাকগিনলি ডায়নামিকাল ইনডেক্সের সংবেদনশীলতা (আলফা) এবং স্টপ/স্টপ লস শতাংশের মতো গুরুত্বপূর্ণ পরামিতিগুলি ব্যবহারকারীর পছন্দ এবং বাজারের অবস্থার উপর নির্ভর করে সামঞ্জস্য করা যায়।

কৌশলগত ঝুঁকি

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

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

  3. ভুয়া আক্রমণের ঝুঁকিসমাধানঃ একটি ব্রেকথ্রু নিশ্চিতকরণ ব্যবস্থা প্রয়োগ করুন, যেমন একটি নির্দিষ্ট সময় বা পরিমাণের জন্য মূল্য বজায় রাখার জন্য অনুরোধ করা।

  4. স্থায়ী স্টপ লস সীমা: স্থির শতাংশের ব্যবহারের ফলে উচ্চ অস্থিরতার বাজারে খুব তাড়াতাড়ি বা খুব কম অস্থিরতার বাজারে খুব বেশি শিথিল হতে পারে। সমাধানঃ এটিআর-ভিত্তিক একটি অভিযোজিত স্টপ কৌশল বাস্তবায়ন করুন, বাজারের প্রকৃত অস্থিরতার উপর নির্ভর করে স্টপ লেভেলটি সামঞ্জস্য করুন।

  5. প্রবণতা সনাক্তকরণের বিলম্ব: ঐতিহাসিক তথ্যের উপর ভিত্তি করে প্রবণতা সনাক্তকরণ প্রকৃত বাজার টার্নপয়েন্টের পিছনে থাকতে পারে। সমাধানঃ সামঞ্জস্যপূর্ণ ফরোয়ার্ড ট্রেন্ডিং সূচক যেমন তুলনামূলকভাবে দুর্বল সূচক (আরএসআই) স্প্রেড বা এমএসিডি সংকেত।

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

  7. বাজার অবস্থার উপর নির্ভরশীল: এই কৌশলটি স্পষ্ট প্রবণতাযুক্ত বাজারে সর্বোত্তম কাজ করে, তবে এটি হিজড়া বাজারে খারাপ কাজ করতে পারে। সমাধানঃ বাজার অবস্থা সনাক্তকরণ লজিক যুক্ত করুন, বিভিন্ন বাজার অবস্থার জন্য বিভিন্ন ট্রেডিং কৌশল ব্যবহার করুন।

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

  1. স্বনির্ধারিত প্যারামিটার সিস্টেম: EMA/MA চক্র এবং প্রবণতা সনাক্তকরণ উইন্ডোর মতো মূল প্যারামিটারগুলিকে স্বয়ংক্রিয়ভাবে বাজারের অস্থিরতা এবং সাম্প্রতিক প্রবণতা শক্তির উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে সামঞ্জস্যপূর্ণ প্যারামিটারগুলিতে রূপান্তর করুন। এটি বিভিন্ন বাজারের পরিবেশে কৌশলগুলির অভিযোজনযোগ্যতা বাড়িয়ে তুলতে পারে এবং কার্ভ ফিট হওয়ার ঝুঁকি হ্রাস করতে পারে।

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

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

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

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

  6. অস্থিরতার হার সমন্বয় ব্যবস্থা

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

  8. মৌসুমী এবং সময় ফিল্টার: বিভিন্ন বাজারের সময়, রবিবার এবং মাসিক চক্রের মধ্যে পারফরম্যান্স বিশ্লেষণ করার কৌশল, এবং সামগ্রিক স্থিতিশীলতা বাড়ানোর জন্য ঐতিহাসিকভাবে খারাপ পারফরম্যান্সের সময় ট্রেডিং বন্ধ করতে পারে।

সারসংক্ষেপ

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

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

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

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

// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © beausti

//@version=6
strategy("7th Gate Open --- Complete", overlay=true)



// --- Parameters ---
TREND_CANDLES = 160  // Fixed: Trend detection based on timeframe
TIMEFRAME = input.timeframe("1440", title="Secondary Analysis Timeframe")  // Adjustable timeframe for analysis
alpha = input.float(0.7, title="Alpha", minval=0.1, maxval=5.0)  // McGinley Dynamic sensitivity
take_profit_pct = input.float(10.0, title="Take Profit (%)", minval=0.1)  // Take profit percentage
stop_loss_pct = input.float(10.0, title="Stop Loss (%)", minval=0.1)  // Stop loss percentage



// --- 16-Minute Trend Data (Baseline) ---
open_240 = request.security(syminfo.tickerid, "1440", open)
close_240 = request.security(syminfo.tickerid, "1440", close)



// Trend Detection Logic (Fixed on 16-Minute)
var int uptrend_count = 0
var int downtrend_count = 0



for i = 1 to TREND_CANDLES
    uptrend_count := (close_240[i] > open_240[i]) ? uptrend_count + 1 : 0
    downtrend_count := (close_240[i] < open_240[i]) ? downtrend_count + 1 : 0

trend_type = "Trending"
if (uptrend_count >= TREND_CANDLES)
    trend_type := "Uptrend"
    label.new(bar_index, close_240, "Uptrend", color=color.green, textcolor=color.black, size=size.small)
if (downtrend_count >= TREND_CANDLES)
    trend_type := "Downtrend"
    label.new(bar_index, close_240, "Downtrend", color=color.red, textcolor=color.black, size=size.small)

// --- Secondary Analysis Timeframe Data (User-Defined) ---
open_TF = request.security(syminfo.tickerid, TIMEFRAME, open)
close_TF = request.security(syminfo.tickerid, TIMEFRAME, close)
high_TF = request.security(syminfo.tickerid, TIMEFRAME, high)
low_TF = request.security(syminfo.tickerid, TIMEFRAME, low)



// --- Engulfing Candle Detection (Using User-Selected Timeframe) ---
engulfing_bullish = close_TF > open_TF[1] and open_TF < close_TF[1] and high_TF > high_TF[1] and low_TF > low_TF[1]
engulfing_bearish = close_TF < open_TF[1] and open_TF > close_TF[1] and high_TF < high_TF[1] and low_TF < low_TF[1]



// --- Plot Engulfing Candles ---
if engulfing_bullish
    label.new(bar_index, close_TF, "Bullish", color=color.green, textcolor=color.black, size=size.small)
if engulfing_bearish
    label.new(bar_index, close_TF, "Bearish", color=color.red, textcolor=color.black, size=size.small)

// --- Fibonacci Levels (Using User-Selected Timeframe) ---
var float fib_high = ta.highest(high_TF, TREND_CANDLES)
var float fib_low = ta.lowest(low_TF, TREND_CANDLES)



fib_0 = fib_high
fib_382 = fib_low + (fib_high - fib_low) * 0.382
fib_5 = fib_low + (fib_high - fib_low) * 0.5
fib_618 = fib_low + (fib_high - fib_low) * 0.618
fib_786 = fib_low + (fib_high - fib_low) * 0.786
fib_1 = fib_low
fib_n0618_up = fib_high + (fib_high - fib_low) * 0.618
fib_n0618_down = fib_low - (fib_high - fib_low) * 0.618






// --- McGinley Dynamic Calculation ---
var float md = na
if na(md[1])
    md := close
md := md[1] + (close - md[1]) / (alpha * close)
plot(md, color=color.blue, linewidth=2, title="McGinley Dynamic")



// --- Moving Averages (Using User-Selected Timeframe) ---
ema = ta.ema(close_TF,32)
ma = ta.sma(close_TF, 64)
plot(ema, color=color.orange, linewidth=2, title="EMA")
plot(ma, color=color.purple, linewidth=2, title="MA")



// --- EMA/MA Crossover for Take Profit (Using User-Selected Timeframe) ---
ema_cross_ma_up = ta.crossover(ma, ema)  // Bullish EMA cross
ema_cross_ma_down = ta.crossunder(ema, ma)  // Bearish EMA cross



//---Take Profit Logic---
take_profit_buy_level = strategy.position_avg_price * (1 - take_profit_pct / 100)
take_profit_sell_level = strategy.position_avg_price * (1 - take_profit_pct / 100)

stop_loss_buy_level = strategy.position_avg_price * (1 - stop_loss_pct / 100)
stop_loss_sell_level = strategy.position_avg_price * (1 - stop_loss_pct / 100)



// --- Trade Signals ---
if (engulfing_bullish and uptrend_count <= 16 and strategy.position_size <= 0)
    strategy.entry("Buy", strategy.long, qty=1)
    if ta.crossover(high, ta.highest(high, 1)[1])
        strategy.entry("Buy", strategy.long, qty = 1)
        if (downtrend_count <= 32 and engulfing_bearish)
            strategy.exit("Buy", from_entry="Sell", limit=take_profit_buy_level, stop = stop_loss_buy_level)
            if (strategy.position_size <= 0)
                strategy.exit("Trend is Sell", from_entry="Buy", limit=take_profit_buy_level)
                
           

if (engulfing_bearish and downtrend_count <= 16 and strategy.position_size > 0)
    strategy.entry("Sell", strategy.short, qty=1)
    if ta.crossover(low, ta.highest(low, 1)[1])   
        strategy.entry("Sell", strategy.short, qty = 1)
        if (uptrend_count <= 32 and engulfing_bullish)
            strategy.exit("Sell", from_entry="Buy", limit=take_profit_sell_level, stop = stop_loss_sell_level)
            if (strategy.position_size > 0)
                strategy.exit("Trend is Buy", from_entry="Sell", limit=take_profit_sell_level)