ডাবল মুভিং এভারেজ কনভার্জেন্স ট্রেন্ড ট্র্যাকিং কৌশল

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

img

সারসংক্ষেপ

ডুয়াল মুভিং এভারেজ কনভার্জেন্স ট্রেন্ড ট্র্যাকিং কৌশলটি দ্রুত, ধীর এবং সুপারস্লো চলমান গড় রেখাগুলি গণনা করে, দামের প্রবণতার দিকনির্দেশ নির্ধারণ এবং প্রবণতা ট্র্যাকিং লেনদেন বাস্তবায়নের জন্য এমএসিডি সূচকের সাথে মিলিত হয়। যখন দ্রুত এবং ধীর চলমান গড়গুলি সোনার ক্রস থাকে তখন এটি দীর্ঘ হয় এবং যখন মৃত ক্রস ঘটে তখন এটি সংক্ষিপ্ত হয়। মিথ্যা বিরতি ফিল্টার করতে দীর্ঘমেয়াদী চলমান গড় ব্যবহার করুন।

নীতি

কৌশলটি প্রথমে 12 দিনের দ্রুত চলমান গড়, 26 দিনের ধীর চলমান গড় এবং 200 দিনের সুপারস্লো চলমান গড় গণনা করে। যখন দ্রুত চলমান গড়টি ধীরের উপরে অতিক্রম করে, তখন সোনার ক্রস ঘটে, যা একটি ষাঁড়ের বাজারকে নির্দেশ করে। যখন দ্রুত ক্রসগুলি ধীরের নীচে হয়, তখন মৃত ক্রস ঘটে, যা একটি ভালুকের বাজারকে নির্দেশ করে। কৌশলটি সোনার ক্রসগুলিতে দীর্ঘ এবং মৃত ক্রসগুলিতে সংক্ষিপ্ত হয়।

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

মুভিং এভারেজ সিস্টেম এবং এমএসিডি সূচকের দ্বৈত নিশ্চিতকরণের মাধ্যমে, মিথ্যা বিরতি এড়ানো যায় এবং প্রবণতার শুরুতে প্রবেশ নিশ্চিত করা যায়।

সুবিধা

  1. ডাবল কনফার্মেশন ভুয়া ব্রেক এড়ায়, ট্রেন্ডের শুরুতে প্রবেশ নিশ্চিত করে।

  2. ২০০ দিনের এমএ বাজার ওঠানামা চলাকালীন ভুল ট্রেড ফিল্টার করে।

  3. সর্বাধিক ক্ষতি সীমাবদ্ধ করতে স্টপ লস সেট করুন।

  4. বিভিন্ন পণ্যের সাথে মানিয়ে নিতে এমএ দৈর্ঘ্য, স্টপ লস লেভেল ইত্যাদির মতো কাস্টমাইজযোগ্য পরামিতি।

  5. সহজ এবং পরিষ্কার যুক্তি, সহজেই বোঝা যায় এবং অপ্টিমাইজ করা যায়।

ঝুঁকি

  1. দীর্ঘমেয়াদী প্রবণতা ট্র্যাকিং স্বল্পমেয়াদী সুযোগ ক্যাপচার করতে অক্ষম।

  2. ট্র্যাকিং প্রভাব প্যারামিটার সেটিংসের উপর নির্ভর করে। ভুল প্যারামিটার প্রবণতা ক্যাপচার করতে ব্যর্থ।

  3. ভুল স্টপ লস সেটিং খুব লস বা খুব টাইট হতে পারে, ক্ষতি বৃদ্ধি বা অকাল বন্ধ।

  4. দীর্ঘ সময় ধরে হোল্ডিংয়ের ফলে মূলধন চাপের সৃষ্টি হয়।

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

  1. সর্বোত্তম প্যারামিটার সংমিশ্রণের জন্য এমএ দৈর্ঘ্য পরামিতি অপ্টিমাইজ করুন।

  2. সহায়ক মূল্যায়নের জন্য KDJ এর মতো অন্যান্য সূচক যুক্ত করুন।

  3. স্টপ লস স্ট্র্যাটেজি যেমন স্ট্রেন স্টপ, ট্রেলিং স্টপ ইত্যাদি অপ্টিমাইজ করুন।

  4. পণ্য এবং সময়সীমার উপর ভিত্তি করে এমএ পরামিতিগুলি সামঞ্জস্য করুন।

  5. মিথ্যা সংকেত এড়াতে ভলিউম ফিল্টার যুক্ত করুন।

সিদ্ধান্ত

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


/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Trend Strategy", shorttitle="TSTrend Strategy", overlay=true)


// Trend Strategy
// If the inverse logic is true, the strategy
// goes short. For the worst case there is a
// max intraday equity loss of 50% filter.


// Input
source = input(close)
fastLength = input(12, minval=1, title="MACD fast moving average")
slowLength=input(26,minval=1, title="MACD slow moving average")
signalLength=input(9,minval=1, title="MACD signal line moving average")
veryslowLength=input(200,minval=1, title="Very slow moving average")
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Moving Averages?")
switch3=input(true, title="Enable Background Color?")

// Calculation
fastMA = sma(source, fastLength)
slowMA = sma(source, slowLength)
veryslowMA = sma(source, veryslowLength)
macd = fastMA - slowMA
signal = sma(macd, signalLength)
hist = macd - signal

// Colors
MAtrendcolor = change(veryslowMA) > 0 ? green : red
trendcolor = fastMA > slowMA and change(veryslowMA) > 0 and close > slowMA ? green : fastMA < slowMA and change(veryslowMA) < 0 and close < slowMA ? red : blue
bartrendcolor = close > fastMA and close > slowMA and close > veryslowMA and change(slowMA) > 0 ? green : close < fastMA and close < slowMA and close < veryslowMA and change(slowMA) < 0 ? red : blue
backgroundcolor = slowMA > veryslowMA and crossover(hist, 0) and macd > 0 and fastMA > slowMA and close[slowLength] > veryslowMA ? green : slowMA < veryslowMA and crossunder(hist, 0) and macd < 0 and fastMA < slowMA and close[slowLength] < veryslowMA ? red : na
bgcolor(switch3?backgroundcolor:na,transp=80)
barcolor(switch1?bartrendcolor:na)

// Output
F=plot(switch2?fastMA:na,color=trendcolor)
S=plot(switch2?slowMA:na,color=trendcolor,linewidth=2)
V=plot(switch2?veryslowMA:na,color=MAtrendcolor,linewidth=4)
fill(F,V,color=gray)

// Strategy
buyprice = low
sellprice = high
cancelLong = slowMA < veryslowMA
cancelShort = slowMA > veryslowMA

if (cancelLong)
    strategy.cancel("MACDLE")

if crossover(hist, 0) and macd > 0 and fastMA > slowMA and close[slowLength] > veryslowMA 
    strategy.entry("MACDLE", strategy.long, stop=buyprice, comment="Bullish")

if (cancelShort)
    strategy.cancel("MACDSE")

if crossunder(hist, 0) and macd < 0 and fastMA < slowMA and close[slowLength] < veryslowMA 
    strategy.entry("MACDSE", strategy.short, stop=sellprice, comment="Bearish")

// maxIdLossPcnt = input(50, "Max Intraday Loss(%)", type=float)
// strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

আরো