এই কৌশলটি সহজ এবং কার্যকর, বিশেষ করে ট্রেন্ডিং যন্ত্রপাতিগুলিতে।
এই কৌশলটি বিভিন্ন সময়কালের সাথে তিনটি EMA লাইন গণনা করে, বিশেষ করে 10-period, 20-period এবং 30-period EMA। কোডে ema ফাংশন তিনটি EMA লাইন তৈরি করে।
মূল যুক্তি হল তিনটি ইএমএ লাইনের দিকনির্দেশের ধারাবাহিকতা বিচার করা। যদি তিনটি ইএমএ লাইন একসাথে উঠে, একটি দীর্ঘ সংকেত উৎপন্ন হয়। যদি তিনটি লাইন একসাথে পড়ে, একটি সংক্ষিপ্ত সংকেত উৎপন্ন হয়।
বিশেষত, যদি ema1, ema2 এবং ema3 সব শেষ বারে উঠে, enter_long সত্য হয়ে যায় এবং একটি দীর্ঘ সংকেত উৎপন্ন হয়। যদি ema1, ema2 এবং ema3 সব শেষ বারে পড়ে, enter_short সত্য হয়ে যায় এবং একটি সংক্ষিপ্ত সংকেত উৎপন্ন হয়।
দীর্ঘ এবং সংক্ষিপ্ত সংকেতগুলির উপর ভিত্তি করে, কৌশলটি সংশ্লিষ্ট দীর্ঘ এবং সংক্ষিপ্ত অবস্থানগুলি খুলবে। প্রস্থান যুক্তি প্রবেশ সংকেতগুলির বিপরীত। যদি ema1, ema2 এবং ema3 বর্তমান বারে একসাথে না উঠে, exit_long সত্য হয়ে যায় এবং দীর্ঘ অবস্থান বন্ধ হয়ে যায়। যদি ema1, ema2 এবং ema3 বর্তমান বারে একসাথে পড়ে না, exit_short সত্য হয়ে যায় এবং সংক্ষিপ্ত অবস্থান বন্ধ হয়ে যায়।
তিনটি EMA লাইনের দিকনির্দেশের ধারাবাহিকতা বিচার করে, সামগ্রিক প্রবণতা নির্ধারণ এবং অনুসরণ করা যেতে পারে।
তিনটি ইএমএ লাইন ব্যবহার করে একক লাইনের তুলনায় প্রবণতা দিকটি আরও নির্ভরযোগ্যভাবে বিচার করা যায়। ভুল সংকেতগুলির সম্ভাবনা কম।
এএমএ মূল্য পরিবর্তনের প্রতি আরও সংবেদনশীল এবং সময়ের সাথে প্রবণতা বিপরীত প্রতিফলিত করতে পারে। এটি এসএমএ ইত্যাদির তুলনায় প্রবণতা মূল্যায়নের জন্য আরও উপযুক্ত।
বিভিন্ন সময়ের EMA এর সমন্বয়ে স্বল্পমেয়াদী এবং মধ্যমেয়াদী উভয় প্রবণতা বিবেচনা করা হয়। স্বল্পমেয়াদী জন্য 10 সময়ের EMA, মাঝারি দীর্ঘমেয়াদী প্রবণতা জন্য 20 এবং 30 সময়ের EMA।
কৌশল যুক্তি সহজ এবং সহজেই বুঝতে, নতুনদের জন্য উপযুক্ত. এছাড়াও পরামিতি বিভিন্ন উপকরণ জন্য বড় অপ্টিমাইজেশান স্থান আছে.
কৌশলটি শুধুমাত্র EMA লাইনের উপর ভিত্তি করে, কম সংস্থান প্রয়োজন এবং উচ্চ সমান্তরালতার জন্য উপযুক্ত।
ইএমএ লাইনের দিকনির্দেশের ধারাবাহিকতা প্রবণতা বিচার করার জন্য প্রয়োজনীয় কিন্তু অপর্যাপ্ত। ইএমএ লাইনের মিথ্যা ব্রেকআউটের সময় ভুল সংকেত দেখা দিতে পারে।
ইএমএ লাইনগুলি প্রবণতা বিপরীতমুখী হতে বিলম্বিত হয়, যা সময়ের পরিবর্তনের সময়কে প্রতিফলিত করতে অক্ষম, যা ক্ষতির কারণ হতে পারে।
ইএমএ মূল্য পরিবর্তনের প্রতি সংবেদনশীল, ঘন ঘন লং শর্ট পজিশনের ফ্লিপ লেনদেনের খরচ বাড়িয়ে তুলতে পারে।
এই কৌশলটি বিভিন্ন, অস্থির বাজারে অকার্যকর যেখানে ইএমএ লাইনগুলি প্রায়শই ওঠানামা করে।
মিথ্যা সংকেত হ্রাস করার জন্য EMA সময়ের পার্থক্য অপ্টিমাইজ করতে পারেন. অথবা জাল ব্রেকআউট ফিল্টার করার জন্য অন্যান্য সূচক যোগ করতে পারেন.
প্রকৃত প্রবণতা নিশ্চিত করতে এবং টার্নিং পয়েন্টগুলি সনাক্ত করতে গতির সূচক যুক্ত করুন, ক্ষতি হ্রাস করুন।
পজিশন ফ্লিপ ফ্রিকোয়েন্সি কমাতে EMA সময় বাড়ান অথবা অন্য MA ইন্ডিকেটর ব্যবহার করুন।
অপ্রয়োজনীয় লেনদেন এড়ানোর জন্য যখন বাজারের পরিসীমা চিহ্নিত করা হয় তখন কৌশল স্থগিত করুন।
সময়কালের সমন্বয়ঃ বিভিন্ন যন্ত্রের সাথে মানিয়ে নিতে EMA সময়কাল সামঞ্জস্য করুন।
ফিল্টার যোগ করুনঃ EMA-র ভুয়া ব্রেকআউট এড়াতে MA, BOLL ইত্যাদি যোগ করুন।
স্টপ লসঃ লাভের জন্য ট্রেলিং স্টপ।
ঝুঁকি ব্যবস্থাপনাঃ একক ক্ষতির প্রভাব সীমিত করার জন্য পজিশনের আকারকে অনুকূল করুন।
বাজার ব্যবস্থাঃ ওসিলেশন পরিমাপ এবং কৌশল নিয়ন্ত্রনের জন্য অস্থিরতা ব্যবহার করুন।
অভিযোজনযোগ্য পরামিতিঃ স্থিতিশীলতা উন্নত করার জন্য বাজারের পরিবর্তনের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে EMA সময়কাল অপ্টিমাইজ করুন।
থ্রি ইএমএ ট্রেন্ড অনুসরণকারী কৌশলটি ইএমএ লাইনের মাধ্যমে ট্রেন্ডের দিক চিহ্নিত করে ট্রেড করে। এটি বড় অপ্টিমাইজেশান স্পেসের সাথে সহজ এবং ব্যবহারিক। মিথ্যা ব্রেকআউট এবং দোলনের মতো ঝুঁকিগুলি লক্ষ্য করা উচিত। অবিচ্ছিন্ন অপ্টিমাইজেশানগুলির সাথে, এই কৌশলটি একটি শক্তিশালী ট্রেন্ড অনুসরণকারী সমাধান হয়ে উঠতে পারে।
/*backtest start: 2023-10-10 00:00:00 end: 2023-11-09 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © QuantCT //@version=4 strategy("PMA Strategy Idea", shorttitle="PMA", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000, commission_type=strategy.commission.percent, commission_value=0.075) // ____ Inputs ema1_period = input(title="EMA1 Period", defval=10) ema2_period = input(title="EMA2 Period", defval=20) ema3_period = input(title="EMA3 Period", defval=30) long_only = input(title="Long Only", defval=false) slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0) use_sl = input(title="Use Stop-Loss", defval=false) // ____ Logic ema1 = ema(hlc3, ema1_period) ema2 = ema(hlc3, ema2_period) ema3 = ema(hlc3, ema3_period) enter_long = (rising(ema1, 1) and rising(ema2, 1) and rising(ema3, 1)) exit_long = not enter_long enter_short = (falling(ema1, 1) and falling(ema2, 1) and falling(ema3, 1)) exit_short = not enter_short strategy.entry("Long", strategy.long, when=enter_long) strategy.close("Long", when=exit_long) if (not long_only) strategy.entry("Short", strategy.short, when=enter_short) strategy.close("Short", when=exit_short) // ____ SL sl_long = strategy.position_avg_price * (1- (slp/100)) sl_short = strategy.position_avg_price * (1 + (slp/100)) if (use_sl) strategy.exit(id="SL", from_entry="Long", stop=sl_long) strategy.exit(id="SL", from_entry="Short", stop=sl_short) // ____ Plots colors = enter_long ? #27D600 : enter_short ? #E30202 : color.orange ema1_plot = plot(ema1, color=colors) ema2_plot = plot(ema2, color=colors) ema3_plot = plot(ema3, color=colors) fill(ema1_plot, ema3_plot, color=colors, transp=50)