মাল্টি-পিরিয়ড ডায়নামিক মুভিং এভারেজ কৌশল


সৃষ্টির তারিখ: 2023-10-27 16:07:16 অবশেষে সংশোধন করুন: 2023-10-27 16:07:16
অনুলিপি: 1 ক্লিকের সংখ্যা: 647
1
ফোকাস
1617
অনুসারী

মাল্টি-পিরিয়ড ডায়নামিক মুভিং এভারেজ কৌশল

এই কৌশলটি বিভিন্ন ধরণের মুভিং এভারেজকে গতিশীলভাবে নির্বাচন করে এবং একাধিক সময়কালের সাথে একত্রিত করে ট্রেডিং সিগন্যাল তৈরি করে।

কৌশল নীতি

এই কৌশলটি এসএমএ, ইএমএ, টিএমএ, ডাব্লুএমএ এবং এইচএমএ পাঁচটি চলমান গড়ের সূচক নির্বাচন করতে এবং গড়ের সময়কালের দৈর্ঘ্য সেট করতে দেয়। কৌশলটি চয়ন করা গতিশীলতার উপর ভিত্তি করে বিভিন্ন ধরণের গড় আঁকবে। যখন বন্ধের দাম বেড়ে যায় তখন গড়ের বাইরে চলে যায়, যখন বন্ধের দাম কমে যায় তখন গড়ের বাইরে চলে যায়।

বিশেষভাবে, কৌশলটি প্রথমে ইনপুট প্যারামিটারগুলির উপর ভিত্তি করে রিটার্নিং সময়কাল নির্ধারণ করে। তারপর পাঁচটি গড় লাইন সূচক গণনা করা হয়ঃ

  • এসএমএ সরল চলমান গড়
  • EMA সূচক চলমান গড়
  • TEMA ত্রিমাত্রিক চলমান গড়
  • WMA ওজনের চলমান গড়
  • এইচএমএ হুলের চলমান গড়

পছন্দ অনুসারে, একটি মিডল লাইন আঁকুন। যখন ক্লোজ-আপ মূল্য গড়ের চেয়ে বেশি হয়, তখন অতিরিক্ত করুন; যখন ক্লোজ-আপ মূল্য গড়ের চেয়ে কম হয়, তখন খালি করুন।

এই কৌশলটি বিভিন্ন ধরণের গড়ের সমন্বয় ব্যবহার করে, দামের ডেটা মসৃণ করে, বাজার শব্দটি ফিল্টার করে এবং আরও নির্ভরযোগ্য ট্রেডিং সিগন্যাল তৈরি করে। গড়ের সময়কালের দৈর্ঘ্যটি কাস্টমাইজ করার অনুমতি দেয়, যা বিভিন্ন সময়কালের প্রবণতাগুলির জন্য ট্রেড করতে পারে।

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

  • সমন্বয় একাধিক গড় লাইন সূচক ব্যবহার করে, উচ্চ নির্ভরযোগ্যতা
  • কাস্টমাইজযোগ্য সমান্তরাল চক্র, বিভিন্ন চক্র অপারেশন জন্য উপযুক্ত
  • ডায়নামিক স্যুইচ সমান্তরাল টাইপ, অপ্টিমাইজেশন প্যারামিটার নমনীয়
  • সহজ, স্বজ্ঞাত এবং সহজেই বাস্তবায়িত ট্রেন্ড ট্র্যাকিং কৌশল

কৌশলগত ঝুঁকি

  • গড় লাইন পিছিয়ে আছে, সম্ভবত ট্রেন্ড পাল্টানোর সময় মিস করেছে
  • স্থির প্যারামিটারগুলি খুব সহজেই ওভারফিট হয়, ফিক্সড ডিস্কের কার্যকারিতা প্রতিক্রিয়া থেকে দুর্বল হতে পারে
  • মাল্টি-হেড পর্যায়ে সক্রিয়ভাবে বেশি কাজ করা, খালি-হেড পর্যায়ে সক্রিয়ভাবে খালি করা, তহবিলের ব্যবহারের দক্ষতা প্রভাবিত হতে পারে

নিম্নলিখিত বিষয়গুলিকে অনুকূল করে ঝুঁকি কমাতে পারেঃ

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

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

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ

  1. আরও স্থিতিশীল ট্রেডিং সিগন্যালের জন্য অন্যান্য সূচকগুলি ফিল্টার করুন

উদাহরণস্বরূপ, একটি ভলিউম ইনডিকেটর যুক্ত করা যেতে পারে, যা কেবলমাত্র লেনদেনের পরিমাণ বাড়ার ক্ষেত্রে লেনদেনের সংকেত তৈরি করে, কিছু মিথ্যা ব্রেকআউটগুলি ফিল্টার করে।

  1. অনুকূলিতকরণ লজিক

একটি চ্যানেল সেট করা যেতে পারে, কেবলমাত্র যখন দামটি চ্যানেলটি ভেঙে যায় তখনই প্রবেশ করা যায়; একটি স্টপ লস লাইন সেট করুন, দামটি স্টপ লস লাইন স্পর্শ করার পরে সমতল করুন। এটি অপ্রয়োজনীয় ক্ষতি হ্রাস করতে পারে।

  1. গতিশীল সমান্তরাল চক্র

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

  1. তহবিল ব্যবস্থাপনা কৌশল অপ্টিমাইজ করুন

পজিশনের আকারটি প্রত্যাহারের পরিস্থিতি অনুসারে সামঞ্জস্য করা যেতে পারে, প্রত্যাহারের সময় পজিশনটি হ্রাস করুন এবং মুনাফার সময় পজিশনটি মাঝারি পরিমাণে বাড়ান।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2022-10-20 00:00:00
end: 2023-10-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("MA_strategy ", shorttitle="MA_strategy", overlay=true, initial_capital=100000)

qty = input(100000000, "Buy quantity")

testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testStartMin = input(0, "Backtest Start Minute")

testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,testStartHour,testStartMin)

testStopYear = input(2099, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)


testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false


ma1 = input( "SMA",title="Select MA", options=["SMA", "EMA","TEMA", "WMA","HMA"])


len1 = input(7, minval=1, title="Period")

s=sma(close,len1)

e=ema(close,len1)


xEMA1 = ema(close, len1)
xEMA2 = ema(xEMA1, len1)
xEMA3 = ema(xEMA2, len1)
t = 3 * xEMA1 - 3 * xEMA2 + xEMA3


f_hma(_src, _length)=>
    _return = wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))

h = f_hma(close, len1)

w = wma(close, len1)

ma = ma1 == "SMA"?s:ma1=="EMA"?e:ma1=="WMA"?w:ma1=="HMA"?h:ma1=="TEMA"?t:na

buy= close>ma
sell= close<ma

alertcondition(buy, title='buy', message='buy')
alertcondition(sell, title='sell', message='sell')

ordersize=floor(strategy.equity/close)

if testPeriod()
    strategy.entry("long",strategy.long,ordersize,when=buy)
    strategy.close("long", when = sell )