
জি-চ্যানেলের গড় মানের ফিল্টার স্ব-অনুকূলিত বিরতি ট্রেডিং কৌশলটি একটি পরিমাণগত ট্রেডিং সিস্টেম যা স্ব-অনুকূলিত মূল্য চ্যানেল এবং সমান্তরাল ফিল্টারকে একত্রিত করে। এই কৌশলটির মূল নকশাটি জি-চ্যানেলের সূচকগুলির উপর ভিত্তি করে তৈরি করা হয়েছে এবং 200-চক্রের সূচকটি মুভিং এভারেজ (ইএমএ) দ্বারা ট্রেডিং ফিল্টার শর্ত হিসাবে পরিবেশন করা হয়েছে। এই কৌশলটি মূলত প্রবণতা পরিবর্তনকে মূল্যায়ন করে দামের সাথে স্ব-অনুকূলিত চ্যানেলের সীমানার সাথে বিরতির সম্পর্ককে চিহ্নিত করে এবং ইএমএ অবস্থানটি ট্রেডিংয়ের দিকনির্দেশের জন্য ব্যবহার করে। এই কৌশলটি বিশেষত 1 মিনিট, 3 মিনিট বা 5 মিনিটের চার্টগুলির মতো স্বল্প সময়ের চক্রের ব্যবসায়ের জন্য উপযুক্ত এবং বাজারে সুস্পষ্ট প্রবণতার মধ্যে আরও ভাল পারফর্ম করে।
জি-চ্যানেলের মধ্যম মূল্যের ফিক্সিংয়ের মূল প্রক্রিয়াটি নিম্নলিখিত কয়েকটি মূল উপাদানগুলির উপর ভিত্তি করে ট্রেডিং কৌশলটি ভেঙে দেয়ঃ
জি-চ্যানেল গণনাকৌশলঃ একটি স্বনির্ধারিত মূল্যের চ্যানেল তৈরি করুন, যা গাণিতিক ক্রিয়াকলাপের মাধ্যমে গতিশীলভাবে উপরের এবং নীচের সীমানা সামঞ্জস্য করে। উপরের সীমানা (ক) বর্তমান বন্ধের মূল্যকে পূর্ববর্তী সময়ের সীমানা থেকে সর্বাধিক মান গ্রহণ করে এবং সীমানা পার্থক্যকে বাদ দিয়ে চ্যানেলের দৈর্ঘ্যের সামঞ্জস্যের পরিমাণকে বিভাজন করে; নিম্ন সীমানা (খ) বর্তমান বন্ধের মূল্যকে পূর্ববর্তী সময়ের নীচের সীমানা থেকে সর্বনিম্ন মান গ্রহণ করে এবং সীমানা পার্থক্যকে চ্যানেলের দৈর্ঘ্যের সামঞ্জস্যের পরিমাণকে যোগ করে। এটি চ্যানেলকে বাজারের অস্থিরতার পরিবর্তনের সাথে সামঞ্জস্য করতে সক্ষম করে।
প্রবণতা সনাক্তকরণ: কৌশলটি চ্যানেলের সীমানার সাথে দামের ক্রস-সম্পর্ক পর্যবেক্ষণ করে প্রবণতা পরিবর্তনকে চিহ্নিত করে। যখন দাম নীচের সীমানার উপরে থেকে নীচে চলে যায় তখন একটি উত্থান প্রবণতা সংকেত তৈরি হয়; যখন দাম উপরের সীমানার নীচে থেকে উপরে চলে যায় তখন একটি পতন প্রবণতা সংকেত তৈরি হয়। কৌশল ব্যবহারta.barssinceফাংশনটি বর্তমান ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য সাম্প্রতিক উত্থান ও পতনের সংকেতগুলির তুলনা করে।
ইএমএ ফিল্টার০২০০ চক্রের ইএমএ একটি দিকনির্দেশক ফিল্টার হিসাবে কাজ করে, যা কৌশলকে নির্দিষ্ট বাজারের পরিস্থিতিতে লেনদেনের অনুকূল করতে সহায়তা করে। মাল্টি-হেড শর্তে, কৌশলটি দামের চেয়ে নীচে ইএমএ চায়; খালি শর্তে, কৌশলটি দামের চেয়ে উপরে ইএমএ চায়। এই নকশাটি বিপরীতমুখী ব্যবসায়ের নীতি অনুসরণ করে, এমন সুযোগের সন্ধান করে যেখানে দামটি গড়ের দিকে ফিরে যেতে পারে।
লেনদেন কার্যকর করার লজিক: কৌশলটি যখন ট্রেন্ডটি পতন থেকে উত্থানে পরিবর্তিত হয় এবং দামটি ইএমএর নীচে থাকে তখন একাধিক প্রবেশের সংকেত ট্রিগার করে; যখন ট্রেন্ডটি উত্থান থেকে পতন থেকে পরিবর্তিত হয় এবং দামটি ইএমএর উপরে থাকে, তখন একটি বায়ু প্রবেশের সংকেত ট্রিগার করে। এই নকশাটি প্রবণতা রূপান্তর এবং সমান্তরাল অবস্থানের দুটি শর্তকে একত্রিত করে, সংকেতের গুণমান উন্নত করে।
ঝুঁকি ব্যবস্থাপনা সিস্টেম: এই কৌশলটিতে একটি সম্পূর্ণ ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা রয়েছে যা প্রতি লেনদেনের জন্য ২.৩৩৩% স্টপ লস এবং ৪.৬৬% স্টপস্টপ লেভেল সেট করে, যা ২ঃ১ এর ঝুঁকি-ফেরতের অনুপাত নিশ্চিত করে। লেনদেন কার্যকর হওয়ার পরে এই ব্যবস্থাটি অবিলম্বে কার্যকর হয় এবং লেনদেনের জন্য একটি স্বয়ংক্রিয় তহবিল সুরক্ষা ব্যবস্থা সরবরাহ করে।
জি-চ্যানেলের কোডের গভীর বিশ্লেষণের মাধ্যমে, যে কোডটি ব্রেক-আউট ট্রেডিং কৌশলগুলিকে স্বতঃস্ফূর্তভাবে মানিয়ে নেয়, নিম্নলিখিত সুস্পষ্ট সুবিধাগুলি সংক্ষিপ্ত করা যেতে পারেঃ
স্বনির্ধারণ ক্ষমতাজি-চ্যানেল চ্যানেল স্বয়ংক্রিয়ভাবে বাজারের অস্থিরতার সাথে চ্যানেলের প্রস্থকে সামঞ্জস্য করতে সক্ষম। যখন অস্থিরতা বৃদ্ধি পায় তখন চ্যানেলটি প্রসারিত হয় এবং যখন অস্থিরতা হ্রাস পায় তখন চ্যানেলটি সঙ্কুচিত হয়, যা কৌশলগুলিকে বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নিতে সক্ষম করে।
কোয়ান্টাম সিগন্যাল পরিষ্কার: কৌশলটি সুস্পষ্ট গাণিতিক মডেল এবং শর্তগুলির মাধ্যমে লেনদেনের সংকেত উত্পন্ন করে, স্বতন্ত্র বিচারককে সরিয়ে দেয়, লেনদেনের সামঞ্জস্যতা এবং পুনরাবৃত্তিযোগ্যতা বাড়ায়।
সমন্বিত বিশ্লেষণ ফ্রেমওয়ার্কএই কৌশলটি দুটি প্রযুক্তিগত বিশ্লেষণ পদ্ধতির সমন্বয় করেঃ চ্যানেল ব্রেকিং এবং ইউনিফর্ম ফিল্টারিং, যা একটি বিস্তৃত বাজার বিশ্লেষণ কাঠামো তৈরি করে যা মিথ্যা সংকেত হ্রাস করতে সহায়তা করে।
অন্তর্নির্মিত ঝুঁকি ব্যবস্থাপনাকোডটিতে একটি স্বয়ংক্রিয় স্টপ লস এবং স্টপ স্টপ ব্যবস্থা রয়েছে যা প্রতিটি লেনদেনের জন্য পূর্বনির্ধারিত ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা নিশ্চিত করে এবং অত্যধিক ক্ষতির সম্ভাবনা এড়ায়।
ফিক্সড রিস্ক-রিটার্ন অনুপাতকৌশলঃ 2: 1 ঝুঁকি-ফেরতের অনুপাত বজায় রাখা (৪.৬৬৬% স্টপডাউন ২.৩৩% স্টপডাউন), পেশাদার ট্রেডিং পরিচালনার নীতিমালা মেনে চলে, দীর্ঘমেয়াদে সামগ্রিক লাভজনকতা বজায় রাখতে সহায়তা করে।
সংক্ষিপ্ত সময়ের জন্য প্রযোজ্যকৌশলটি 1 মিনিট, 3 মিনিট এবং 5 মিনিটের মতো সংক্ষিপ্ত সময়ের জন্য ডিজাইন করা হয়েছে, যা সক্রিয় ব্যবসায়ীদের ব্যবহারের জন্য উপযুক্ত।
ভিজ্যুয়াল সহায়তাকোডটি সমৃদ্ধ ভিজ্যুয়ালাইজেশন উপাদান রয়েছে, যার মধ্যে রয়েছে ইএমএ লাইন, ক্রয়-বিক্রয় সংকেত চিহ্ন এবং সমান্তরাল অবস্থান নির্দেশক, কৌশলগত প্রতিক্রিয়া এবং রিয়েল-টাইম পর্যবেক্ষণের জন্য।
প্যারামিটার সমন্বয়যোগ্যতা: কৌশলটি চ্যানেল দৈর্ঘ্য এবং ইএমএ চক্রের জন্য প্যারামিটার সেটিং বিকল্প সরবরাহ করে, ব্যবহারকারীরা ব্যক্তিগত পছন্দ এবং নির্দিষ্ট বাজারের অবস্থার উপর ভিত্তি করে কৌশলটির কার্যকারিতা সামঞ্জস্য করতে পারে।
যদিও জি-চ্যানেলের গড় মূল্যের তরঙ্গের স্বনির্ধারিত ব্রেক-আউট ট্রেডিং কৌশলগুলির অনেকগুলি সুবিধা রয়েছে, তবে নিম্নলিখিত সম্ভাব্য ঝুঁকি এবং সীমাবদ্ধতা রয়েছেঃ
ওয়াই-ফাই মার্কেটের দুর্বলতাকোডের নোট অনুযায়ী, এই কৌশলটি হিজড়া ব্যবধানের বাজারগুলিতে ভাল কাজ করে না। এটি কারণ চ্যানেল ব্রেকিং কৌশলগুলি স্পষ্ট দিকনির্দেশের অভাবের বাজারে ঘন ঘন ভুল সংকেত তৈরি করতে পারে, যার ফলে ধারাবাহিক ক্ষতি হয়।
ভুয়া আক্রমণের ঝুঁকিউচ্চতর অস্থিরতার পরিবেশে, দামগুলি অস্থায়ীভাবে চ্যানেলের সীমানা অতিক্রম করার পরে দ্রুত ফিরে আসতে পারে, একটি ভুল সংকেত ট্রিগার করে। এই “মিথ্যা ব্রেক” ঘটনাটি অপ্রয়োজনীয় লেনদেনের ব্যয় এবং সম্ভাব্য ক্ষতির কারণ হতে পারে।
স্থির ক্ষতির অনুপাতের সীমাবদ্ধতাকৌশলটি একটি নির্দিষ্ট শতাংশ ((২.৩৩৩%) ব্যবহার করে, যা বর্তমান বাজারের অস্থিরতাকে বিবেচনা করে না। অত্যন্ত অস্থিরতার বাজারে, এই সেটিংটি খুব বেশি ঘন ঘন বন্ধ হতে পারে; এবং কম অস্থিরতার বাজারে, স্টপপয়েন্ট খুব বেশি হতে পারে।
গড়-রেখার পিছনে সমস্যা২০০-সেকেন্ডের ইএমএ দীর্ঘ সময়ের গড় হিসাবে, একটি সুস্পষ্ট পিছিয়ে পড়া রয়েছে। দ্রুত পরিবর্তিত বাজারে, এটি সংকেত বিলম্বের কারণ হতে পারে এবং সেরা প্রবেশের সময়টি মিস করতে পারে।
পরামিতি সংবেদনশীলতা: কৌশলটির কার্যকারিতা দুটি মূল প্যারামিটারের উপর অত্যন্ত নির্ভরশীলঃ জি-চ্যানেল দৈর্ঘ্য এবং ইএমএ চক্র। অনুপযুক্ত প্যারামিটার সেটিং কৌশলটির কার্যকারিতা উল্লেখযোগ্যভাবে অবনতি হতে পারে, যার জন্য সম্পূর্ণ প্যারামিটার অপ্টিমাইজেশন প্রয়োজন।
বাজারের অবস্থা সনাক্তকরণের অভাব: যদিও কোডের টীকাটি ক্রসওভার মার্কেটে এই কৌশলটি ব্যবহার না করার জন্য সতর্ক করে দেয়, তবে কোডটি নিজেই বাজারের অবস্থা (ট্রেন্ড / ক্রসওভার) সনাক্ত করার জন্য কোনও অন্তর্নির্মিত প্রক্রিয়া নেই, যার জন্য ব্যবসায়ীর নিজস্ব বিচার প্রয়োজন।
সময়কালের উপর নির্ভরশীলতা: কৌশলটি নির্দিষ্ট স্বল্প সময়ের জন্য সুপারিশ করা হয় (১ মিনিট, ৩ মিনিট এবং ৫ মিনিট) এবং দীর্ঘ সময়ের জন্য কর্মক্ষমতা অস্থির হতে পারে।
এই ঝুঁকিগুলি প্রশমিত করার জন্য, ব্যবসায়ীরা নিম্নলিখিত সমাধানগুলি বিবেচনা করতে পারেনঃ
জি-চ্যানেলের গড় মূল্যের তরঙ্গের উপর ভিত্তি করে, নিম্নলিখিত কয়েকটি সুনির্দিষ্ট অপ্টিমাইজেশনের দিক রয়েছেঃ
গতিশীল ঝুঁকি ব্যবস্থাপনা সিস্টেম: স্থির শতাংশের স্টপ ব্রেকিং ব্যবস্থাটি একটি গতিশীল সিস্টেমে উন্নীত করা যা এটিআর ((গড় বাস্তব তরঙ্গদৈর্ঘ্য) এর উপর ভিত্তি করে। এইভাবে স্টপ ব্রেকিং দূরত্বটি বর্তমান বাজারের অস্থিরতার সাথে স্বয়ংক্রিয়ভাবে সামঞ্জস্য করা যেতে পারে, উচ্চ তরঙ্গদৈর্ঘ্যের বাজারে ঝাঁকুনি এড়াতে আরও প্রশস্ত স্টপ সেট করা যেতে পারে এবং লাভের সুরক্ষার জন্য কম তরঙ্গদৈর্ঘ্যের বাজারে আরও কঠোর স্টপ সেট করা যেতে পারে।
বাজার অবস্থা সনাক্তকরণ মডিউল: একটি বাজার অবস্থা সনাক্তকরণ সিস্টেম বিকাশ করুন, ট্রেন্ডিং বাজার এবং ক্রসওভার বাজারগুলিকে আলাদা করার জন্য ADX (অর্ধ-দিকনির্দেশ সূচক) বা অস্থিরতা বিশ্লেষণের মতো সূচক ব্যবহার করুন। ক্রসওভার বাজার সনাক্ত করার সময়, কৌশলটি স্বয়ংক্রিয়ভাবে ট্রেডিং স্থগিত করতে পারে বা আরও রক্ষণশীল প্যারামিটার সেটিংসে সামঞ্জস্য করতে পারে। এটি ক্রসওভার বাজারগুলিতে কৌশলটির দুর্বল পারফরম্যান্সের সমস্যা সমাধান করবে এবং অপ্রয়োজনীয় ক্ষতি এড়াতে পারে।
সিগন্যাল নিশ্চিতকরণ ব্যবস্থা: অতিরিক্ত নিশ্চিতকরণ সূচক যেমন RSI ((আপেক্ষিকভাবে দুর্বল সূচক), MACD ((মোবাইল গড় ঘনিষ্ঠতা/বিচ্ছিন্নতা সূচক) বা লেনদেনের পরিমাণ বিশ্লেষণের প্রবর্তন করুন, যাতে একাধিক সূচককে ট্রেডিংয়ের জন্য সংকেত নিশ্চিত করতে হয়। এটি মিথ্যা ব্রেকআপ এবং ভুল সংকেতের সংখ্যা উল্লেখযোগ্যভাবে হ্রাস করতে পারে এবং কৌশলটির স্থায়িত্ব বাড়িয়ে তুলতে পারে।
সময় ফিল্টারসময় ফিল্টারিং যুক্ত করুন, যা কম তরলতা বা উচ্চ তরলতার সময়গুলি এড়াতে পারে, যেমন বাজারের খোলার 30 মিনিট আগে, গুরুত্বপূর্ণ অর্থনৈতিক তথ্য প্রকাশের সময় বা রাতের ট্রেডিংয়ের সময়। এটি বর্তমান ট্রেডিংয়ের সময় পরীক্ষা করে এবং কার্যকর ট্রেডিং উইন্ডো সেট করে করা যেতে পারে।
প্যারামিটার স্বনির্ধারিত সিস্টেম: সাম্প্রতিক বাজার কার্যকলাপের উপর ভিত্তি করে কৌশলগত প্যারামিটারগুলিকে স্বয়ংক্রিয়ভাবে সামঞ্জস্য করার জন্য একটি প্রক্রিয়া বিকাশ করুন। উদাহরণস্বরূপ, স্বয়ংক্রিয়ভাবে উচ্চ অস্থিরতার পরিবেশে জি-চ্যানেলের দৈর্ঘ্য বৃদ্ধি করুন এবং নিম্ন অস্থিরতার পরিবেশে দৈর্ঘ্য হ্রাস করুন। এটি পর্যায়ক্রমে historicalতিহাসিক ওঠানামা গণনা করে এবং সর্বোত্তম প্যারামিটার সেটিংগুলিতে ম্যাপ করে এটি অর্জন করা যেতে পারে।
প্রবণতা সনাক্তকরণ লজিক উন্নত করুন: বর্তমান প্রবণতা সনাক্তকরণ লজিক সহজ সীমানা ক্রস উপর ভিত্তি করে, আরো জটিল মাল্টি টাইম ফ্রেম প্রবণতা বিশ্লেষণ সিস্টেমে আপগ্রেড করা যেতে পারে। দীর্ঘতর এবং সংক্ষিপ্ত সময়কালের জন্য প্রবণতা দিক বিবেচনা করে, একটি বৃহত্তর বাজার দৃষ্টিভঙ্গি পাওয়া যায়, প্রধান প্রবণতা বিপরীত একটি ছোটখাট রিডাউন মধ্যে লেনদেন কার্যকর ঝুঁকি হ্রাস।
তহবিল ব্যবস্থাপনা অপ্টিমাইজেশন: অ্যাকাউন্টের ইকুইটি, উইন রেট এবং ক্যালি কোডের উপর ভিত্তি করে ডায়নামিক পজিশন স্কেল ক্যালকুলেশন প্রবর্তন করা, বর্তমান ফিক্সড ক্যাপিটাল মডেলের পরিবর্তে। এটি ক্রমাগত লাভের পরে যথাযথভাবে পজিশন স্কেল বাড়ানো এবং ক্রমাগত ক্ষতির পরে ঝুঁকির ফাঁক হ্রাস করতে এবং আরও বৈজ্ঞানিক তহবিল বৃদ্ধির কার্ভ অর্জন করতে নিশ্চিত করবে।
মোবাইলে স্টপ লস যুক্ত করা হয়েছে: একটি ট্র্যাকিং স্টপ মেশিনের বাস্তবায়ন, স্বয়ংক্রিয়ভাবে স্টপ লেভেলগুলি সামঞ্জস্য করে যখন দামগুলি অনুকূল দিকের দিকে চলে যায় এবং মুনাফার একটি অংশ লক করে। এই বৈশিষ্ট্যটি বড় প্রবণতা ক্যাপচার করার জন্য বিশেষভাবে কার্যকর, এটি সর্বোচ্চ / সর্বনিম্ন দামগুলি ট্র্যাক করে এবং শতাংশ বা এটিআর গুণিতকগুলির ট্র্যাকিং দূরত্ব সেট করে।
এই অপ্টিমাইজেশনের দিকগুলি কেবল কৌশলগুলির স্থিতিশীলতা এবং অভিযোজনযোগ্যতা বাড়াতে পারে না, তবে সামগ্রিকভাবে ঝুঁকি-সংশোধিত রিটার্নের হারও বাড়িয়ে তুলতে পারে, যাতে কৌশলগুলি বিভিন্ন বাজার পরিবেশে তুলনামূলকভাবে স্থিতিশীল কর্মক্ষমতা বজায় রাখে।
জি-চ্যানেলের গড় মান ফিল্টার স্বনির্ধারিত ব্রেকআউট ট্রেডিং কৌশলটি স্বনির্ধারিত মূল্য চ্যানেল এবং সমান্তরাল ফিল্টারিংয়ের সমন্বিত একটি সম্পূর্ণ ট্রেডিং সিস্টেম। এই কৌশলটি গতিশীলভাবে সামঞ্জস্যপূর্ণ জি-চ্যানেলের সীমানার সাথে দামের সম্পর্ক পর্যবেক্ষণ করে প্রবণতা পরিবর্তনগুলি সনাক্ত করে এবং 200-চক্রের ইএমএকে দিকনির্দেশক ফিল্টার হিসাবে ব্যবহার করে ট্রেডিং সংকেতগুলিকে অনুকূলিত করে। কৌশলটি বিশেষত স্বল্প সময়ের জন্য প্রবণতা বাজার ট্রেডিংয়ের জন্য উপযুক্ত এবং একটি 2: 1 ঝুঁকি-প্রতিফলন বন্ধের ক্ষতি-প্রতিরোধ ব্যবস্থা রয়েছে।
কৌশলটির প্রধান সুবিধা হল এর স্বনির্ধারণযোগ্যতা, সুস্পষ্ট সংকেত উত্পাদন প্রক্রিয়া এবং একটি সম্পূর্ণ ঝুঁকি ব্যবস্থাপনা কাঠামো। যাইহোক, এটি হিজড়া বাজারগুলিতে দুর্বলভাবে কাজ করে এবং মিথ্যা ব্রেকিং ঝুঁকি এবং প্যারামিটার সংবেদনশীলতার মতো চ্যালেঞ্জগুলির মুখোমুখি হয়। গতিশীল ঝুঁকি ব্যবস্থাপনা, বাজার অবস্থা সনাক্তকরণ, একাধিক সংকেত স্বীকৃতি এবং প্যারামিটার স্বনির্ধারণের মতো অপ্টিমাইজেশন ব্যবস্থা চালু করে কৌশলটির স্থায়িত্ব এবং অভিযোজনযোগ্যতা উল্লেখযোগ্যভাবে বাড়ানো যেতে পারে।
সামগ্রিকভাবে, জি-চ্যানেলের গড় মানের ফ্লেক্সটি স্ব-অনুকূলিত বিরতি-বিক্রয় কৌশলটি কোয়ান্টাম ট্রেডারদের জন্য একটি সুনির্দিষ্ট, যুক্তিসঙ্গত ট্রেডিং ফ্রেমওয়ার্ক সরবরাহ করে, বিশেষত স্বল্প সময়ের মধ্যে ট্রেডিং ট্র্যাকিংয়ের জন্য উপযুক্ত। যুক্তিসঙ্গত প্যারামিটার অপ্টিমাইজেশন এবং প্রয়োজনীয় কৌশলগত শক্তিশালীকরণের মাধ্যমে, এটি একটি নির্ভরযোগ্য ট্রেডিং সরঞ্জাম হওয়ার সম্ভাবনা রয়েছে, বিশেষত বিনিয়োগকারীদের জন্য যারা সুস্পষ্ট ট্রেন্ডিং বাজারে উচ্চ দক্ষতার ট্রেডিংয়ের সন্ধান করে।
/*backtest
start: 2024-05-13 00:00:00
end: 2025-05-11 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('G-Channel Strategy - Strategy with EMA Filter', overlay=true, default_qty_type=strategy.cash, default_qty_value=3000)
// --- Inputs ---
length = input.int(100, title='G-Channel Length', minval=1)
ema_length = input.int(200, title='EMA Length', minval=1)
use_ema_filter = input(true, title='Use EMA Filter')
// --- G-Channel Calculations ---
src = close
a = 0.
b = 0.
a := math.max(src, nz(a[1])) - nz(a[1] - b[1]) / length
b := math.min(src, nz(b[1])) + nz(a[1] - b[1]) / length
avg = math.avg(a, b)
// --- EMA Calculation ---
ema_200 = ta.ema(close, ema_length)
// --- Trend Detection ---
crossup = b[1] < close[1] and b > close
crossdn = a[1] < close[1] and a > close
bullish = ta.barssince(crossdn) <= ta.barssince(crossup)
// --- Signals ---
buy_signal = not bullish[1] and bullish
sell_signal = bullish[1] and not bullish
// --- Entry Conditions ---
long_condition = buy_signal and (not use_ema_filter or close < ema_200)
short_condition = sell_signal and (not use_ema_filter or close > ema_200)
// --- Execute Trades ---
if long_condition
strategy.entry('Long', strategy.long)
if short_condition
strategy.entry('Short', strategy.short)
// --- Risk Management ---
sl_percent = 2.333 // 2.333% stop loss
tp_percent = 4.666 // 4.666% take profit (2:1 risk-reward)
if strategy.position_size > 0
strategy.exit('Exit Long', 'Long', stop=strategy.position_avg_price * (1 - sl_percent / 100), limit=strategy.position_avg_price * (1 + tp_percent / 100))
if strategy.position_size < 0
strategy.exit('Exit Short', 'Short', stop=strategy.position_avg_price * (1 + sl_percent / 100), limit=strategy.position_avg_price * (1 - tp_percent / 100))
// --- Plotting for Debugging ---
plot(ema_200, 'EMA 200', color=color.new(color.blue, 0), linewidth=2)
plotshape(buy_signal, title='G-Channel Buy', location=location.belowbar, color=color.new(color.green, 0), style=shape.triangleup, text='Buy')
plotshape(sell_signal, title='G-Channel Sell', location=location.abovebar, color=color.new(color.red, 0), style=shape.triangledown, text='Sell')
plotshape(close < ema_200, title='Below EMA', location=location.belowbar, color=color.new(color.blue, 0), style=shape.circle, size=size.tiny)
plotshape(close > ema_200, title='Above EMA', location=location.abovebar, color=color.new(color.orange, 0), style=shape.circle, size=size.tiny)