মাল্টি-ইএমএ বুলিশ ট্রেন্ড কৌশল হল ট্রেন্ড নির্ধারণের জন্য বিভিন্ন সময়ের একাধিক এক্সপোনেন্সিয়াল মুভিং মিডিয়ার (ইএমএ) উপর ভিত্তি করে একটি ট্রেন্ড অনুসরণকারী কৌশল। এটি 10 দিনের ইএমএ এবং অন্যান্য দীর্ঘমেয়াদী ইএমএগুলির উপরে দামের বিরতি হলে দীর্ঘ হয়; এবং মুনাফা লক করতে 8% ট্রেলিং স্টপ লস ব্যবহার করে।
কৌশলটি 10, 20, 50, 100, 150 এবং 200 দিনের 6 টি ইএমএ ব্যবহার করে। এই ইএমএগুলি বাজারের বর্তমান চক্রীয় পর্যায়ে নির্ধারণ করতে ব্যবহৃত হয়। যখন স্বল্প সময়ের ইএমএগুলি (উদাহরণস্বরূপ 10-দিনের) দীর্ঘ সময়ের (উদাহরণস্বরূপ 20-, 50-দিনের) অতিক্রম করে, তখন এটি বাজারটি একটি ষাঁড়ের প্রবণতার মার্কআপ পর্যায়ে প্রবেশ করেছে বলে ইঙ্গিত দেয়।
বিশেষ করে, নিম্নলিখিত শর্তগুলি পূরণ হলে কৌশলটি দীর্ঘস্থায়ী হবেঃ
লং পজিশন খোলার পরে, 8% ট্রেইলিং স্টপ লস ব্যবহার করা হয় মুনাফা লক করার জন্য। এর অর্থ হল যে যতক্ষণ দাম প্রবেশের দাম থেকে 8% এর বেশি না পড়ে ততক্ষণ পজিশনটি খোলা রাখা হবে। একবার ড্রডাউন 8% ছাড়িয়ে গেলে, পজিশনটি স্টপ লস বন্ধ হয়ে যাবে।
সংক্ষেপে, এই কৌশলটির মূল ধারণা হল একাধিক ইএমএ সমন্বয় দ্বারা নিশ্চিত হলে ষাঁড়ের প্রবণতা প্রবেশ করা এবং মুনাফা লক করার জন্য ট্রেলিং স্টপ লস ব্যবহার করা।
মাল্টি-ইএমএ ষাঁড়ের প্রবণতা কৌশল নিম্নলিখিত প্রধান শক্তি আছেঃ
এই কৌশলটির জন্য কিছু ঝুঁকিও রয়েছেঃ
এই ঝুঁকিগুলি মোকাবেলা করার জন্য, আমরা EMA সময়সীমা সামঞ্জস্য করে বা উন্নত বিচারের জন্য সহায়ক সূচকগুলি অন্তর্ভুক্ত করে অপ্টিমাইজ করতে পারি।
এই কৌশলটির বৈশিষ্ট্যগুলি বিবেচনা করে, ভবিষ্যতে অপ্টিমাইজেশানগুলি নিম্নলিখিত দিকগুলিতে ফোকাস করতে পারেঃ
সামগ্রিকভাবে, মাল্টি-ইএমএ বুল ট্রেন্ড কৌশল একটি শক্তিশালী এবং নির্ভরযোগ্য ট্রেন্ড অনুসরণকারী সিস্টেম, ট্রেন্ড নির্ধারণ এবং ঝুঁকি নিয়ন্ত্রণের ভারসাম্য। প্যারামিটার টিউনিং এবং অ্যালগরিদম অপ্টিমাইজেশনের মাধ্যমে উন্নতির জন্য এখনও দুর্দান্ত সম্ভাবনা রয়েছে। এটি একটি কার্যকর কৌশল যা চেষ্টা করা এবং গবেষণা করার মতো।
/*backtest start: 2023-01-15 00:00:00 end: 2024-01-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('SirSeff\'s EMA Rainbow', overlay=true) // Testing Start dates testStartYear = input(2000, 'Backtest Start Year') testStartMonth = input(1, 'Backtest Start Month') testStartDay = input(1, 'Backtest Start Day') testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0) //Stop date if you want to use a specific range of dates testStopYear = input(2100, 'Backtest Stop Year') testStopMonth = input(12, 'Backtest Stop Month') testStopDay = input(30, 'Backtest Stop Day') testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0) testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false // Component Code Stop //TSP trailStop = input.float(title='Long Trailing Stop (%)', minval=0.0, step=0.1, defval=8) * 0.01 longStopPrice = 0.0 longStopPrice := if strategy.position_size > 0 stopValue = close * (1 - trailStop) math.max(stopValue, longStopPrice[1]) else 0 //PLOTS plot(series=strategy.position_size > 0 ? longStopPrice : na, color=color.new(color.red, 0), style=plot.style_linebr, linewidth=1, title='Long Trail Stop', offset=1, title='Long Trail Stop') plot(ta.ema(close, 20)) plot(ta.ema(close, 50)) plot(ta.ema(close, 100)) plot(ta.ema(close, 150)) plot(ta.ema(close, 200)) //OPEN longCondition = ta.ema(close, 10) > ta.ema(close, 20) and ta.ema(close, 20) > ta.ema(close, 50) and ta.ema(close, 100) > ta.ema(close, 150) and ta.ema(close, 150) > ta.ema(close, 200) if longCondition and ta.crossover(close,ta.ema(close,10)) and testPeriod() strategy.entry("BUY1", strategy.long) if longCondition and ta.crossover(ta.ema(close,10),ta.ema(close,20)) and testPeriod() strategy.entry("BUY2'", strategy.long) //CLOSE @ TSL if strategy.position_size > 0 and testPeriod() strategy.exit(id='TSP', stop=longStopPrice)