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

লেখক:চাওঝাং, তারিখঃ ২০২৪-০২-২৭ 16:21:02
ট্যাগঃ

img

সারসংক্ষেপ

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

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

মূল যুক্তিটি প্রবেশ এবং প্রস্থান নির্ধারণের জন্য দ্রুত এবং ধীর গতির গড় রেখাগুলির মধ্যে ক্রসওভারে নির্ভর করে।

বিশেষ করে, দ্রুত এবং ধীর গতির গড়ের দুটি সেট গণনা করা হয়ঃ

  • ১ম দ্রুত EMA, দৈর্ঘ্য ৮ দিন
  • ২য় ফাস্ট ইএমএ, দৈর্ঘ্য ২১ দিন
  • ১ম ধীর এসএএমএ, দৈর্ঘ্য ৫০ দিন
  • ২য় ধীর এসএএমএ, দৈর্ঘ্য ২০০ দিন

তারপর দ্রুত EMAs এবং ধীর SMAs মধ্যে ক্রসওভার চেক করা হয়ঃ

  • যদি 8-দিনের EMA 50-দিনের SMA এর উপরে অতিক্রম করে, তাহলে গোল্ডেন ক্রস সিগন্যাল
  • যদি 8 দিনের EMA 50 দিনের SMA এর নিচে ক্রস করে, মৃত্যুর ক্রস সংকেত

মিথ্যা সংকেত ফিল্টার করার জন্য, নিশ্চিতকরণের জন্য একটি দ্বিতীয় EMA/SMA ক্রসওভার প্রয়োজনঃ

  • শুধুমাত্র যখন ২১ দিনের ইএমএ ৫০ দিনের এসএমএ এর উপরে/নিচে অতিক্রম করে, তখনই ট্রেডিং সিগন্যাল ট্রিগার হয়।

দুটি দ্রুত / ধীর এমএ ক্রসওভারের প্রয়োজন হওয়ায় অনেকগুলি মিথ্যা সংকেত ফিল্টার করা যায় এবং নির্ভরযোগ্যতা উন্নত করা যায়।

যখন সিগন্যাল ট্রিগার কিনবেন, তখন লম্বা যান। যখন সিগন্যাল ট্রিগার বিক্রি করবেন, তখন শর্ট যান।

এই কৌশলটি একটি পজিশনে প্রবেশের মূল্য থেকে ইনপুট শতাংশের ভিত্তিতে লাভ গ্রহণ এবং স্টপ লসও নির্ধারণ করে।

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

এই কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ

  1. ডুয়াল এমএ ডিজাইন মিথ্যা সংকেত ফিল্টার করে এবং নির্ভুলতা উন্নত করে
  2. EMA এবং SMA এর সমন্বয় EMA এর সংবেদনশীলতা এবং SMA এর মসৃণতা ব্যবহার করে
  3. মুনাফা গ্রহণ এবং স্টপ লস লাভ এবং নিয়ন্ত্রণ ঝুঁকিতে লক
  4. সহজ যুক্তি সহজেই বুঝতে এবং পরিবর্তন করতে
  5. কাস্টমাইজযোগ্য পরামিতি বিভিন্ন বাজারের পরিবেশের জন্য উপযুক্ত

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

কৌশলটির ঝুঁকিঃ

  1. এমএ স্ট্র্যাটগুলি অস্থির বাজারে প্রচুর ছোট জয় / ক্ষতির উত্পাদন করে
  2. শক্তিশালী ট্রেন্ডিং বাজারে বড় ক্ষতির মুখোমুখি হতে পারে
  3. খারাপ প্যারামিটার মিটিংও দুর্বল পারফরম্যান্সের দিকে পরিচালিত করে

ঝুঁকি নিয়ন্ত্রণের জন্যঃ

  1. বিভিন্ন বাজারের অবস্থার জন্য পরামিতিগুলি সামঞ্জস্য করুন
  2. লক্ষ্যবস্তু বাজারে ফিট করার জন্য ব্যাকটেস্টের ভিত্তিতে অপ্টিমাইজ করুন
  3. স্টপ লস ব্যবহার করে ক্ষতির আকার সীমাবদ্ধ করুন

উন্নতির দিকনির্দেশ

কৌশলটি নিম্নলিখিতগুলির মাধ্যমে আরও অনুকূলিত করা যেতে পারেঃ

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

সিদ্ধান্ত

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


/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 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/
// © JMLSlop

//@version=4

src = close
strategy("Crossover moving averages", shorttitle="Cross MA-EMA", overlay=true, calc_on_order_fills=false)

// first fast EMA
len = input(8, "Length", type=input.integer, minval=1)
doma1 = input(true, title="EMA")
out1 = ema(src, len) 

//Second fast EMA
len2 = input(21, minval=1, title="Length")
doma2 = input(true, title="EMA")
out2 = ema(src, len2)

//First slow MA
len3 = input(50, minval=1, title="Length")
doma3 = input(true, title="SMA")
out3 = sma(src, len3)

//Second slow MA
len4 = input(200, minval=1, title="Length")
doma4 = input(true, title="SMA")
out4 = sma(src, len4)

// Profit
profit = input(8, "Profit/lost %", type=input.float, minval=1) * 0.01


plot(doma1 and out1 ? out1: na, color=color.blue, linewidth=1, title="1st EMA")
plot(doma2 and out2 ? out2: na, color=color.red, linewidth=1, title="2nd EMA")
plot(doma3 and out3 ? out3: na, color=color.green, linewidth=2, title="1st MA")
plot(doma4 and out4 ? out4: na, color=color.orange, linewidth=3, title="2nd MA")

// Orders config
takeProfitPrice =
     (strategy.position_size > 0) ? strategy.position_avg_price + open*profit : (strategy.position_size < 0) ? strategy.position_avg_price - (open*profit) : na

longStopPrice  = strategy.position_avg_price * (1 - profit)
shortStopPrice = strategy.position_avg_price * (1 + profit)

longCondition2 = (out2>out3 and (crossover(out1, out4) or crossover(out1[1], out4[1]) or crossover(out1[2], out4[2]) or (crossover(out1[3], out4[3]))) or (out2>out3 and (crossover(out1, out3) or crossover(out1[1], out3[1]) or crossover(out1[2], out3[2]) or crossover(out1[3], out3[3]))))
if (longCondition2)
    strategy.entry("Enter L", strategy.long)

shortCondition2 = (out2<out3 and (crossunder(out1, out4) or crossunder(out1[1], out4[1]) or crossunder(out1[2], out4[2]) or crossunder(out1[3], out4[3]))) or (out2<out3 and (crossunder(out1, out3) or crossunder(out1[1], out3[1]) or crossunder(out1[2], out3[2]) or crossunder(out1[3], out3[3])))
if (shortCondition2)
    strategy.entry("Enter S", strategy.short)


if (strategy.position_size > 0)
    strategy.exit("Exit L", limit=takeProfitPrice, stop=longStopPrice)

if (strategy.position_size < 0)
    strategy.exit("Exit S", limit=takeProfitPrice, stop=shortStopPrice)


আরো