EMA এর ক্রসওভার কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-২০ 14:28:36
ট্যাগঃ

img

সারসংক্ষেপ

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

কৌশলগত নীতি

এই কৌশলটির মূল সূচক দুটি ইএমএ লাইনঃ দ্রুত লাইন এবং ধীর লাইন। দামের পরিবর্তনের দ্রুত প্রতিক্রিয়া জানাতে দ্রুত লাইন এর প্যারামিটারটি 13 পিরিয়ড লাইনে ডিফল্ট করা হয়। ধীর লাইন এর প্যারামিটারটি ধীর প্রতিক্রিয়া জানাতে 48 পিরিয়ড লাইনে ডিফল্ট করা হয়। যখন স্বল্পমেয়াদী প্রবণতা দ্রুত বৃদ্ধি পায়, তখন দ্রুত লাইন ধীর লাইনের আগে র্যালি করবে। এবং যখন দাম কমে যায়, তখন দ্রুত লাইন ধীর লাইনের চেয়ে দ্রুত হ্রাস পাবে। অতএব, ধীর লাইনের উপরে দ্রুত লাইন এর ক্রসিং একটি ঊর্ধ্বমুখী প্রবণতা সংকেত করে এবং ধীর লাইনের নীচে দ্রুত লাইন এর ক্রসিং একটি নিম্নমুখী বিপরীত সংকেত দেয়।

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

কোডিং বাস্তবায়নে, crossover এবং crossunder ফাংশনগুলি EMA ক্রসওভার সংকেতগুলি নির্ধারণ করতে ব্যবহৃত হয়। সংশ্লিষ্ট entry এবং close কমান্ডগুলি তখন ক্রয় বা বন্ধ পজিশনগুলির জন্য ট্রিগার করা হবে।

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

EMA এর ক্রসওভার স্ট্র্যাটেজিতে নিম্নলিখিত প্রধান সুবিধা রয়েছেঃ

  1. সংকেতগুলো সহজ এবং পরিষ্কার, সহজেই বোঝা যায় এবং বাস্তবায়ন করা যায়। নতুনদের জন্য উপযুক্ত।

  2. এমএ ফিল্টার কম বাজারের গোলমালের সাথে প্রবণতা পরিবর্তন সনাক্ত করতে পারে।

  3. দ্রুত / ধীর EMA লাইন, স্টপ লস স্তর ইত্যাদিতে অত্যন্ত কনফিগারযোগ্য পরামিতি।

  4. স্টপ লস মানে কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করা।

  5. বিভিন্ন বাজারের অবস্থার মধ্যে তুলনামূলকভাবে স্থিতিশীল সিস্টেম।

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

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

  1. বাজারের তীব্র ওঠানামা চলাকালীন ইএমএ সংকেতগুলি সময়মত মূল্য পরিবর্তন প্রতিফলিত করতে অক্ষম হতে পারে।

  2. এমএ সূচকগুলির অতিরিক্ত দ্রুত প্যারামিটার টিউনিং আরও মিথ্যা সংকেত তৈরি করতে পারে।

  3. দামের দুর্বল প্রবণতা কম EMA ক্রসওভার তৈরি করতে পারে এবং তাই গতি ধরে রাখতে সক্ষম হয় না।

  4. সামগ্রিক বাজারের প্রবণতা বিশ্লেষণ না করার অর্থ হল মূল প্রবণতার বিরুদ্ধে যাওয়া।

ঝুঁকিগুলি নিম্নলিখিত উপায়ে হ্রাস করা যেতে পারেঃ

  1. ক্রসওভার সিগন্যাল নিশ্চিত করতে MACD এবং KD এর মত ফিল্টার যোগ করা।

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

  3. দীর্ঘমেয়াদী চলমান গড়ের উপর ভিত্তি করে সামগ্রিক প্রবণতার বিশ্লেষণ অন্তর্ভুক্ত করুন।

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

কৌশলটি নিম্নলিখিত দিকগুলি থেকে আপগ্রেড করা যেতে পারেঃ

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

  2. স্টপ লস সেট করুন এবং সুইং উচ্চ/নিম্ন স্তর এবং সমর্থন/প্রতিরোধ অঞ্চলগুলির উপর ভিত্তি করে লাভের মাত্রা নিন যাতে আরও সঠিকতা পাওয়া যায়।

  3. স্বল্পমেয়াদী সংকেতগুলির জন্য ফিল্টার হিসাবে দীর্ঘমেয়াদী প্রবণতা বিশ্লেষণের জন্য একটি প্রবণতা মডিউল যুক্ত করুন, প্রধান প্রবণতার বিরুদ্ধে ট্রেডিং এড়ানো।

  4. মেশিন লার্নিং ব্যবহার করে ভুল সংকেত হ্রাস করার জন্য বাস্তব বাজারে উপযুক্ত আদর্শ ইএমএ পরামিতিগুলি প্রশিক্ষণ এবং অপ্টিমাইজ করুন।

উপরের দিকগুলি এই মৌলিক ইএমএ ক্রসওভার কৌশলকে উন্নত করার জন্য প্রধান দিক। আরও প্রযুক্তিগত সূচক এবং ঝুঁকি ব্যবস্থাপনা উপায়গুলি সঠিকভাবে একত্রিত করা অবশ্যই কৌশলটির কার্যকারিতা বাড়িয়ে তুলতে পারে।

সিদ্ধান্ত

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


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

//@version=3
// *** USE AT YOUR OWN RISK ***
// 
strategy("EMA Strategy", shorttitle = "EMA Strategy", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 10)


// === Inputs ===
// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 13, title = "Fast MA Period", minval = 1)

// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 48, title = "Slow MA Period", minval = 1)

// invert trade direction
tradeInvert = input(defval = false, title = "Invert Trade Direction?")
// risk management
useStop     = input(defval = true, title = "Use Initial Stop Loss?")
slPoints    = input(defval = 25, title = "Initial Stop Loss Points", minval = 1)
useTS       = input(defval = true, title = "Use Trailing Stop?")
tslPoints   = input(defval = 120, title = "Trail Points", minval = 1)
useTSO      = input(defval = false, title = "Use Offset For Trailing Stop?")
tslOffset   = input(defval = 20, title = "Trail Offset Points", minval = 1)

// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)

plot(fastMA, color=blue)
plot(slowMA, color=purple)

goLong() => crossover(fastMA, slowMA)
killLong() => crossunder(fastMA, slowMA)
strategy.entry("Buy", strategy.long, when = goLong())
strategy.close("Buy", when = killLong())

// Shorting if using
goShort() => crossunder (fastMA, slowMA)
killShort() => crossover(fastMA, slowMA)
//strategy.entry("Sell", strategy.short, when = goShort())
//strategy.close("Sell", when = killShort())

if (useStop)
    strategy.exit("XLS", from_entry ="Buy", stop = strategy.position_avg_price / 1.08 )
    strategy.exit("XSS", from_entry ="Sell", stop = strategy.position_avg_price * 1.08)



আরো