মাল্টি-ইএমএ বাউলিস্ট ট্রেন্ড কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৪-০১-২২ ১২ঃ০৪ঃ০৫
ট্যাগঃ

img

সারসংক্ষেপ

মাল্টি-ইএমএ বুলিশ ট্রেন্ড কৌশল হল ট্রেন্ড নির্ধারণের জন্য বিভিন্ন সময়ের একাধিক এক্সপোনেন্সিয়াল মুভিং মিডিয়ার (ইএমএ) উপর ভিত্তি করে একটি ট্রেন্ড অনুসরণকারী কৌশল। এটি 10 দিনের ইএমএ এবং অন্যান্য দীর্ঘমেয়াদী ইএমএগুলির উপরে দামের বিরতি হলে দীর্ঘ হয়; এবং মুনাফা লক করতে 8% ট্রেলিং স্টপ লস ব্যবহার করে।

কৌশলগত যুক্তি

কৌশলটি 10, 20, 50, 100, 150 এবং 200 দিনের 6 টি ইএমএ ব্যবহার করে। এই ইএমএগুলি বাজারের বর্তমান চক্রীয় পর্যায়ে নির্ধারণ করতে ব্যবহৃত হয়। যখন স্বল্প সময়ের ইএমএগুলি (উদাহরণস্বরূপ 10-দিনের) দীর্ঘ সময়ের (উদাহরণস্বরূপ 20-, 50-দিনের) অতিক্রম করে, তখন এটি বাজারটি একটি ষাঁড়ের প্রবণতার মার্কআপ পর্যায়ে প্রবেশ করেছে বলে ইঙ্গিত দেয়।

বিশেষ করে, নিম্নলিখিত শর্তগুলি পূরণ হলে কৌশলটি দীর্ঘস্থায়ী হবেঃ

  1. ১০ দিনের EMA ২০ দিনের EMA এর চেয়ে বেশি
  2. ২০ দিনের EMA ৫০ দিনের EMA এর চেয়ে বেশি
  3. ১০০ দিনের EMA ১৫০ দিনের EMA এর চেয়ে বেশি
  4. 150 দিনের EMA 200 দিনের EMA এর চেয়ে বেশি
  5. বন্ধের মূল্য 10 দিনের EMA এর উপরে ক্রস করে

লং পজিশন খোলার পরে, 8% ট্রেইলিং স্টপ লস ব্যবহার করা হয় মুনাফা লক করার জন্য। এর অর্থ হল যে যতক্ষণ দাম প্রবেশের দাম থেকে 8% এর বেশি না পড়ে ততক্ষণ পজিশনটি খোলা রাখা হবে। একবার ড্রডাউন 8% ছাড়িয়ে গেলে, পজিশনটি স্টপ লস বন্ধ হয়ে যাবে।

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

সুবিধা বিশ্লেষণ

মাল্টি-ইএমএ ষাঁড়ের প্রবণতা কৌশল নিম্নলিখিত প্রধান শক্তি আছেঃ

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

ঝুঁকি বিশ্লেষণ

এই কৌশলটির জন্য কিছু ঝুঁকিও রয়েছেঃ

  1. EMA ক্রম 100% ক্ষেত্রে প্রবণতার দিকনির্দেশের নিশ্চয়তা দিতে পারে না, কিছু whipsaws এখনও ঘটতে পারে।
  2. ৮% ট্রেলিং স্টপ বড় ট্রেন্ডের সময় কিছু মুনাফা হারাতে পারে।
  3. ইএমএ সিস্টেমগুলির অন্তর্নিহিত বিলম্ব রয়েছে, টার্নিং পয়েন্টের নিশ্চিতকরণ কিছুটা বিলম্বিত হতে পারে।

এই ঝুঁকিগুলি মোকাবেলা করার জন্য, আমরা EMA সময়সীমা সামঞ্জস্য করে বা উন্নত বিচারের জন্য সহায়ক সূচকগুলি অন্তর্ভুক্ত করে অপ্টিমাইজ করতে পারি।

অপ্টিমাইজেশান নির্দেশাবলী

এই কৌশলটির বৈশিষ্ট্যগুলি বিবেচনা করে, ভবিষ্যতে অপ্টিমাইজেশানগুলি নিম্নলিখিত দিকগুলিতে ফোকাস করতে পারেঃ

  1. সর্বোত্তম পরামিতি খুঁজে পেতে বিভিন্ন EMA সমন্বয় এবং সময়কাল সেট পরীক্ষা করুন।
  2. অপ্রয়োজনীয় এন্ট্রি এড়ানোর জন্য প্রবণতা শক্তি পরিমাপ করতে উদ্বায়ীতা সূচক নির্দেশক যোগ করুন।
  3. ম্যাকডি, কেডিজে এর মতো আরও ফিল্টারিং সূচক অন্তর্ভুক্ত করুন।
  4. গতিশীল স্টপ লস বাস্তবায়নের জন্য মেশিন লার্নিং অ্যালগরিদম ব্যবহার করুন।

সিদ্ধান্ত

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


/*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)
    


আরো